File: //snap/google-cloud-cli/current/help/man/man1/gcloud_compute_instances_create-with-container.1
.TH "GCLOUD_COMPUTE_INSTANCES_CREATE\-WITH\-CONTAINER" 1
.SH "NAME"
.HP
gcloud compute instances create\-with\-container \- creates Compute Engine virtual machine instances running container images
.SH "SYNOPSIS"
.HP
\f5gcloud compute instances create\-with\-container\fR \fIINSTANCE_NAMES\fR [\fIINSTANCE_NAMES\fR\ ...] [\fB\-\-accelerator\fR=[\fIcount\fR=\fICOUNT\fR],[\fItype\fR=\fITYPE\fR]] [\fB\-\-no\-boot\-disk\-auto\-delete\fR] [\fB\-\-boot\-disk\-device\-name\fR=\fIBOOT_DISK_DEVICE_NAME\fR] [\fB\-\-boot\-disk\-interface\fR=\fIBOOT_DISK_INTERFACE\fR] [\fB\-\-boot\-disk\-provisioned\-iops\fR=\fIBOOT_DISK_PROVISIONED_IOPS\fR] [\fB\-\-boot\-disk\-provisioned\-throughput\fR=\fIBOOT_DISK_PROVISIONED_THROUGHPUT\fR] [\fB\-\-boot\-disk\-size\fR=\fIBOOT_DISK_SIZE\fR] [\fB\-\-boot\-disk\-type\fR=\fIBOOT_DISK_TYPE\fR] [\fB\-\-can\-ip\-forward\fR] [\fB\-\-container\-arg\fR=\fICONTAINER_ARG\fR] [\fB\-\-container\-command\fR=\fICONTAINER_COMMAND\fR] [\fB\-\-container\-env\fR=[\fIKEY\fR=\fIVALUE\fR,\ ...,...]] [\fB\-\-container\-env\-file\fR=\fICONTAINER_ENV_FILE\fR] [\fB\-\-container\-image\fR=\fICONTAINER_IMAGE\fR] [\fB\-\-container\-mount\-disk\fR=[\fImode\fR=\fIMODE\fR],[\fImount\-path\fR=\fIMOUNT\-PATH\fR],[\fIname\fR=\fINAME\fR],[\fIpartition\fR=\fIPARTITION\fR]] [\fB\-\-container\-mount\-host\-path\fR=[\fIhost\-path\fR=\fIHOSTPATH\fR,\fImount\-path\fR=\fIMOUNTPATH\fR[,\fImode\fR=\fIMODE\fR],...]] [\fB\-\-container\-mount\-tmpfs\fR=[\fImount\-path\fR=\fIMOUNTPATH\fR,...]] [\fB\-\-container\-privileged\fR] [\fB\-\-container\-restart\-policy\fR=\fIPOLICY\fR;\ default="always"] [\fB\-\-container\-stdin\fR] [\fB\-\-container\-tty\fR] [\fB\-\-create\-disk\fR=[\fIPROPERTY\fR=\fIVALUE\fR,...]] [\fB\-\-description\fR=\fIDESCRIPTION\fR] [\fB\-\-discard\-local\-ssds\-at\-termination\-timestamp\fR=\fIDISCARD_LOCAL_SSDS_AT_TERMINATION_TIMESTAMP\fR] [\fB\-\-disk\fR=[\fIauto\-delete\fR=\fIAUTO\-DELETE\fR],[\fIboot\fR=\fIBOOT\fR],[\fIdevice\-name\fR=\fIDEVICE\-NAME\fR],[\fIforce\-attach\fR=\fIFORCE\-ATTACH\fR],[\fIinterface\fR=\fIINTERFACE\fR],[\fImode\fR=\fIMODE\fR],[\fIname\fR=\fINAME\fR],[\fIscope\fR=\fISCOPE\fR]] [\fB\-\-[no\-]enable\-nested\-virtualization\fR] [\fB\-\-external\-ipv6\-address\fR=\fIEXTERNAL_IPV6_ADDRESS\fR] [\fB\-\-external\-ipv6\-prefix\-length\fR=\fIEXTERNAL_IPV6_PREFIX_LENGTH\fR] [\fB\-\-host\-error\-timeout\-seconds\fR=\fIHOST_ERROR_TIMEOUT_SECONDS\fR] [\fB\-\-instance\-termination\-action\fR=\fIINSTANCE_TERMINATION_ACTION\fR] [\fB\-\-internal\-ipv6\-address\fR=\fIINTERNAL_IPV6_ADDRESS\fR] [\fB\-\-internal\-ipv6\-prefix\-length\fR=\fIINTERNAL_IPV6_PREFIX_LENGTH\fR] [\fB\-\-ipv6\-network\-tier\fR=\fIIPV6_NETWORK_TIER\fR] [\fB\-\-labels\fR=[\fIKEY\fR=\fIVALUE\fR,...]] [\fB\-\-local\-ssd\-recovery\-timeout\fR=\fILOCAL_SSD_RECOVERY_TIMEOUT\fR] [\fB\-\-machine\-type\fR=\fIMACHINE_TYPE\fR] [\fB\-\-maintenance\-policy\fR=\fIMAINTENANCE_POLICY\fR] [\fB\-\-max\-run\-duration\fR=\fIMAX_RUN_DURATION\fR] [\fB\-\-metadata\fR=\fIKEY\fR=\fIVALUE\fR,[\fIKEY\fR=\fIVALUE\fR,...]] [\fB\-\-metadata\-from\-file\fR=\fIKEY\fR=\fILOCAL_FILE_PATH\fR,[...]] [\fB\-\-min\-cpu\-platform\fR=\fIPLATFORM\fR] [\fB\-\-network\fR=\fINETWORK\fR] [\fB\-\-network\-interface\fR=[\fIPROPERTY\fR=\fIVALUE\fR,...]] [\fB\-\-network\-performance\-configs\fR=[\fIPROPERTY\fR=\fIVALUE\fR,...]] [\fB\-\-network\-tier\fR=\fINETWORK_TIER\fR] [\fB\-\-preemptible\fR] [\fB\-\-private\-ipv6\-google\-access\-type\fR=\fIPRIVATE_IPV6_GOOGLE_ACCESS_TYPE\fR] [\fB\-\-private\-network\-ip\fR=\fIPRIVATE_NETWORK_IP\fR] [\fB\-\-provisioning\-model\fR=\fIPROVISIONING_MODEL\fR] [\fB\-\-request\-valid\-for\-duration\fR=\fIREQUEST_VALID_FOR_DURATION\fR] [\fB\-\-resource\-policies\fR=[\fIRESOURCE_POLICY\fR,...]] [\fB\-\-no\-restart\-on\-failure\fR] [\fB\-\-shielded\-integrity\-monitoring\fR] [\fB\-\-shielded\-secure\-boot\fR] [\fB\-\-shielded\-vtpm\fR] [\fB\-\-[no\-]skip\-guest\-os\-shutdown\fR] [\fB\-\-source\-instance\-template\fR=\fISOURCE_INSTANCE_TEMPLATE\fR] [\fB\-\-stack\-type\fR=\fISTACK_TYPE\fR] [\fB\-\-subnet\fR=\fISUBNET\fR] [\fB\-\-tags\fR=\fITAG\fR,[\fITAG\fR,...]] [\fB\-\-termination\-time\fR=\fITERMINATION_TIME\fR] [\fB\-\-threads\-per\-core\fR=\fITHREADS_PER_CORE\fR] [\fB\-\-visible\-core\-count\fR=\fIVISIBLE_CORE_COUNT\fR] [\fB\-\-zone\fR=\fIZONE\fR] [\fB\-\-address\fR=\fIADDRESS\fR\ |\ \fB\-\-no\-address\fR] [\fB\-\-confidential\-compute\fR\ |\ \fB\-\-confidential\-compute\-type\fR=\fICONFIDENTIAL_COMPUTE_TYPE\fR] [\fB\-\-custom\-cpu\fR=\fICUSTOM_CPU\fR\ \fB\-\-custom\-memory\fR=\fICUSTOM_MEMORY\fR\ :\ \fB\-\-custom\-extensions\fR\ \fB\-\-custom\-vm\-type\fR=\fICUSTOM_VM_TYPE\fR] [\fB\-\-image\-project\fR=\fIIMAGE_PROJECT\fR\ \fB\-\-image\fR=\fIIMAGE\fR\ |\ \fB\-\-image\-family\fR=\fIIMAGE_FAMILY\fR] [\fB\-\-public\-ptr\fR\ |\ \fB\-\-no\-public\-ptr\fR] [\fB\-\-public\-ptr\-domain\fR=\fIPUBLIC_PTR_DOMAIN\fR\ |\ \fB\-\-no\-public\-ptr\-domain\fR] [\fB\-\-reservation\fR=\fIRESERVATION\fR\ \fB\-\-reservation\-affinity\fR=\fIRESERVATION_AFFINITY\fR;\ default="any"] [\fB\-\-scopes\fR=[\fISCOPE\fR,...]\ |\ \fB\-\-no\-scopes\fR] [\fB\-\-service\-account\fR=\fISERVICE_ACCOUNT\fR\ |\ \fB\-\-no\-service\-account\fR] [\fIGCLOUD_WIDE_FLAG\ ...\fR]
.SH "DESCRIPTION"
\fB(DEPRECATED)\fR The option to deploy a container during VM creation using the
container startup agent is deprecated. Use alternative services to run
containers on your VMs. Learn more at
https://cloud.google.com/compute/docs/containers/migrate\-containers.
\fBgcloud compute instances create\-with\-container\fR creates Compute Engine
virtual machines that runs a Docker image. For example:
.RS 2m
$ gcloud compute instances create\-with\-container instance\-1 \e
\-\-zone us\-central1\-a \e
\-\-container\-image=gcr.io/google\-containers/busybox
.RE
creates an instance called instance\-1, in the us\-central1\-a zone, running the
\'busybox' image.
For more examples, refer to the \fBEXAMPLES\fR section below.
.SH "EXAMPLES"
To run the gcr.io/google\-containers/busybox image on an instance named
\'instance\-1' that executes 'echo "Hello world"' as a run command, run:
.RS 2m
$ gcloud compute instances create\-with\-container instance\-1 \e
\-\-container\-image=gcr.io/google\-containers/busybox \e
\-\-container\-command='echo "Hello world"'
.RE
To run the gcr.io/google\-containers/busybox image in privileged mode, run:
.RS 2m
$ gcloud compute instances create\-with\-container instance\-1 \e
\-\-container\-image=gcr.io/google\-containers/busybox \e
\-\-container\-privileged
.RE
.SH "POSITIONAL ARGUMENTS"
.RS 2m
.TP 2m
\fIINSTANCE_NAMES\fR [\fIINSTANCE_NAMES\fR ...]
Names of the instances to create. For details on valid instance names, refer to
the criteria documented under the field 'name' at:
https://cloud.google.com/compute/docs/reference/rest/v1/instances
.RE
.sp
.SH "FLAGS"
.RS 2m
.TP 2m
\fB\-\-accelerator\fR=[\fIcount\fR=\fICOUNT\fR],[\fItype\fR=\fITYPE\fR]
Attaches accelerators (e.g. GPUs) to the instances.
.RS 2m
.TP 2m
\fBtype\fR
The specific type (e.g. nvidia\-tesla\-t4 for NVIDIA T4) of accelerator to
attach to the instances. Use 'gcloud compute accelerator\-types list' to learn
about all available accelerator types.
.TP 2m
\fBcount\fR
Number of accelerators to attach to each instance. The default value is 1.
.RE
.sp
.TP 2m
\fB\-\-boot\-disk\-auto\-delete\fR
Automatically delete boot disks when their instances are deleted. Enabled by
default, use \fB\-\-no\-boot\-disk\-auto\-delete\fR to disable.
.TP 2m
\fB\-\-boot\-disk\-device\-name\fR=\fIBOOT_DISK_DEVICE_NAME\fR
The name the guest operating system will see for the boot disk. This option can
only be specified if a new boot disk is being created (as opposed to mounting an
existing persistent disk).
.TP 2m
\fB\-\-boot\-disk\-interface\fR=\fIBOOT_DISK_INTERFACE\fR
Indicates the interface to use for the boot disk. The value must be one of the
following:
.RS 2m
.IP "\(em" 2m
SCSI
.IP "\(em" 2m
NVME
.RE
.sp
.TP 2m
\fB\-\-boot\-disk\-provisioned\-iops\fR=\fIBOOT_DISK_PROVISIONED_IOPS\fR
Indicates how many IOPS to provision for the disk. This sets the number of I/O
operations per second that the disk can handle.
.TP 2m
\fB\-\-boot\-disk\-provisioned\-throughput\fR=\fIBOOT_DISK_PROVISIONED_THROUGHPUT\fR
Indicates how much throughput to provision for the disk. This sets the number of
throughput mb per second that the disk can handle.
.TP 2m
\fB\-\-boot\-disk\-size\fR=\fIBOOT_DISK_SIZE\fR
The size of the boot disk. This option can only be specified if a new boot disk
is being created (as opposed to mounting an existing persistent disk). The value
must be a whole number followed by a size unit of \f5\fIKB\fR\fR for kilobyte,
\f5\fIMB\fR\fR for megabyte, \f5\fIGB\fR\fR for gigabyte, or \f5\fITB\fR\fR for
terabyte. For example, \f5\fI10GB\fR\fR will produce a 10 gigabyte disk. Disk
size must be a multiple of 1 GB. Default size unit is \f5\fIGB\fR\fR.
.TP 2m
\fB\-\-boot\-disk\-type\fR=\fIBOOT_DISK_TYPE\fR
The type of the boot disk. This option can only be specified if a new boot disk
is being created (as opposed to mounting an existing persistent disk). To get a
list of available disk types, run \f5$ gcloud compute disk\-types list\fR.
.TP 2m
\fB\-\-can\-ip\-forward\fR
If provided, allows the instances to send and receive packets with non\-matching
destination or source IP addresses.
.TP 2m
\fB\-\-container\-arg\fR=\fICONTAINER_ARG\fR
Argument to append to container entrypoint or to override container CMD. Each
argument must have a separate flag. Arguments are appended in the order of
flags. Example:
Assuming the default entry point of the container (or an entry point overridden
with \-\-container\-command flag) is a Bourne shell\-compatible executable, in
order to execute 'ls \-l' command in the container, the user could use:
\f5\-\-container\-arg="\-c" \-\-container\-arg="ls \-l"\fR
Caveat: due to the nature of the argument parsing, it's impossible to provide
the flag value that starts with a dash (\f5\-\fR) without the \f5=\fR sign (that
is, \f5\-\-container\-arg "\-c"\fR will not work correctly).
Default: None. (no arguments appended)
.TP 2m
\fB\-\-container\-command\fR=\fICONTAINER_COMMAND\fR
Specifies what executable to run when the container starts (overrides default
entrypoint), eg. \f5nc\fR.
Default: None (default container entrypoint is used)
.TP 2m
\fB\-\-container\-env\fR=[\fIKEY\fR=\fIVALUE\fR, ...,...]
Declare environment variables KEY with value VALUE passed to container. Only the
last value of KEY is taken when KEY is repeated more than once.
Values, declared with \-\-container\-env flag override those with the same KEY
from file, provided in \-\-container\-env\-file.
.TP 2m
\fB\-\-container\-env\-file\fR=\fICONTAINER_ENV_FILE\fR
Declare environment variables in a file. Values, declared with
\-\-container\-env flag override those with the same KEY from file.
File with environment variables in format used by docker (almost). This means:
.RS 2m
.IP "\(em" 2m
Lines are in format KEY=VALUE.
.IP "\(em" 2m
Values must contain equality signs.
.IP "\(em" 2m
Variables without values are not supported (this is different from docker
format).
.IP "\(em" 2m
If \f5#\fR is first non\-whitespace character in a line the line is ignored as a
comment.
.IP "\(em" 2m
Lines with nothing but whitespace are ignored.
.RE
.sp
.TP 2m
\fB\-\-container\-image\fR=\fICONTAINER_IMAGE\fR
Full container image name, which should be pulled onto VM instance, eg.
\f5docker.io/tomcat\fR.
.TP 2m
\fB\-\-container\-mount\-disk\fR=[\fImode\fR=\fIMODE\fR],[\fImount\-path\fR=\fIMOUNT\-PATH\fR],[\fIname\fR=\fINAME\fR],[\fIpartition\fR=\fIPARTITION\fR]
Mounts a disk to the specified mount path in the container. Multiple ' flags are
allowed. Must be used with \f5\-\-disk\fR or \f5\-\-create\-disk\fR.
.RS 2m
.TP 2m
\fBname\fR
Name of the disk. If exactly one additional disk is attached to the instance
using \f5\-\-disk\fR or \f5\-\-create\-disk\fR, specifying disk name here is
optional. The name of the single additional disk will be used by default.
.TP 2m
\fBmount\-path\fR
Path on container to mount to. Mount paths with spaces and commas (and other
special characters) are not supported by this command.
.TP 2m
\fBpartition\fR
Optional. The partition of the disk to mount. Multiple partitions of a disk can
be mounted. Can't be used with \-\-create\-disk.
.TP 2m
\fBmode\fR
Volume mount mode: \f5rw\fR (read/write) or \f5ro\fR (read\-only). Defaults to
\f5rw\fR. Fails if the disk mode is \f5ro\fR and volume mount mode is \f5rw\fR.
.RE
.sp
.TP 2m
\fB\-\-container\-mount\-host\-path\fR=[\fIhost\-path\fR=\fIHOSTPATH\fR,\fImount\-path\fR=\fIMOUNTPATH\fR[,\fImode\fR=\fIMODE\fR],...]
Mounts a volume by using host\-path.
.RS 2m
.TP 2m
\fBhost\-path\fR
Path on host to mount from.
.TP 2m
\fBmount\-path\fR
Path on container to mount to. Mount paths with spaces and commas (and other
special characters) are not supported by this command.
.TP 2m
\fBmode\fR
Volume mount mode: rw (read/write) or ro (read\-only).
Default: rw.
.RE
.sp
.TP 2m
\fB\-\-container\-mount\-tmpfs\fR=[\fImount\-path\fR=\fIMOUNTPATH\fR,...]
Mounts empty tmpfs into container at MOUNTPATH.
.RS 2m
.TP 2m
\fBmount\-path\fR
Path on container to mount to. Mount paths with spaces and commas (and other
special characters) are not supported by this command.
.RE
.sp
.TP 2m
\fB\-\-container\-privileged\fR
Specify whether to run container in privileged mode.
Default: \f5\-\-no\-container\-privileged\fR.
.TP 2m
\fB\-\-container\-restart\-policy\fR=\fIPOLICY\fR; default="always"
Specify whether to restart a container on exit. \fIPOLICY\fR must be one of:
\fBnever\fR, \fBon\-failure\fR, \fBalways\fR.
.TP 2m
\fB\-\-container\-stdin\fR
Keep container STDIN open even if not attached.
Default: \f5\-\-no\-container\-stdin\fR.
.TP 2m
\fB\-\-container\-tty\fR
Allocate a pseudo\-TTY for the container.
Default: \f5\-\-no\-container\-tty\fR.
.TP 2m
\fB\-\-create\-disk\fR=[\fIPROPERTY\fR=\fIVALUE\fR,...]
Creates and attaches persistent disks to the instances.
.RS 2m
.TP 2m
\fBname\fR
Specifies the name of the disk. This option cannot be specified if more than one
instance is being created. Must specify this option if attaching the disk to a
container with \f5\-\-container\-mount\-disk\fR.
.TP 2m
\fBdescription\fR
Optional textual description for the disk being created.
.TP 2m
\fBmode\fR
Specifies the mode of the disk. Supported options are \f5\fIro\fR\fR for
read\-only and \f5\fIrw\fR\fR for read\-write. If omitted, \f5\fIrw\fR\fR is
used as a default. It is an error to create a disk in \f5ro\fR mode if attaching
it to a container with \f5\-\-container\-mount\-disk\fR.
.TP 2m
\fBimage\fR
Specifies the name of the image that the disk will be initialized with. A new
disk will be created based on the given image. To view a list of public images
and projects, run \f5$ gcloud compute images list\fR. It is best practice to use
image when a specific version of an image is needed. If both image and
image\-family flags are omitted a blank disk will be created.
.TP 2m
\fBimage\-family\fR
The image family for the operating system that the boot disk will be initialized
with. Compute Engine offers multiple Linux distributions, some of which are
available as both regular and Shielded VM images. When a family is specified
instead of an image, the latest non\-deprecated image associated with that
family is used. It is best practice to use \-\-image\-family when the latest
version of an image is needed.
.TP 2m
\fBimage\-project\fR
The Google Cloud project against which all image and image family references
will be resolved. It is best practice to define image\-project. A full list of
available image projects can be generated by running \f5gcloud compute images
list\fR.
.RS 2m
.IP "\(bu" 2m
If specifying one of our public images, image\-project must be provided.
.IP "\(bu" 2m
If there are several of the same image\-family value in multiple projects,
image\-project must be specified to clarify the image to be used.
.IP "\(bu" 2m
If not specified and either image or image\-family is provided, the current
default project is used.
.RE
.sp
.TP 2m
\fBsize\fR
The size of the disk. The value must be a whole number followed by a size unit
of \f5\fIKB\fR\fR for kilobyte, \f5\fIMB\fR\fR for megabyte, \f5\fIGB\fR\fR for
gigabyte, or \f5\fITB\fR\fR for terabyte. For example, \f5\fI10GB\fR\fR will
produce a 10 gigabyte disk. Disk size must be a multiple of 1 GB. If not
specified, the default image size will be used for the new disk.
.TP 2m
\fBtype\fR
The type of the disk. To get a list of available disk types, run $ gcloud
compute disk\-types list. The default disk type is \f5\fIpd\-standard\fR\fR.
.TP 2m
\fBdevice\-name\fR
An optional name to display the disk name in the guest operating system. Must be
the same as \f5name\fR if used with \f5\-\-container\-mount\-disk\fR. If
omitted, a device name of the form \f5persistent\-disk\-N\fR is used. If omitted
and used with \f5\-\-container\-mount\-disk\fR (where the \f5name\fR of the
container mount disk is the same as in this flag), a device name equal to disk
\f5name\fR is used.
.TP 2m
\fBprovisioned\-iops\fR
Indicates how many IOPS to provision for the disk. This sets the number of I/O
operations per second that the disk can handle. Value must be between 10,000 and
120,000.
.TP 2m
\fBprovisioned\-throughput\fR
Indicates how much throughput to provision for the disk. This sets the number of
throughput mb per second that the disk can handle.
.TP 2m
\fBdisk\-resource\-policy\fR
Resource policy to apply to the disk. Specify a full or partial URL. For
example:
.RS 2m
.IP "\(bu" 2m
\f5\fIhttps://www.googleapis.com/compute/v1/projects/my\-project/regions/us\-central1/resourcePolicies/my\-resource\-policy\fR\fR
.IP "\(bu" 2m
\f5\fIprojects/my\-project/regions/us\-central1/resourcePolicies/my\-resource\-policy\fR\fR
.RE
.sp
For more information, see the following docs:
.RS 2m
.IP "\(bu" 2m
https://cloud.google.com/sdk/gcloud/reference/beta/compute/resource\-policies/
.IP "\(bu" 2m
https://cloud.google.com/compute/docs/disks/scheduled\-snapshots
.RE
.sp
.TP 2m
\fBauto\-delete\fR
If \f5\fIyes\fR\fR, this persistent disk will be automatically deleted when the
instance is deleted. However, if the disk is later detached from the instance,
this option won't apply. The default value for this is \f5\fIyes\fR\fR.
.TP 2m
\fBarchitecture\fR
Specifies the architecture or processor type that this disk can support. For
available processor types on Compute Engine, see
https://cloud.google.com/compute/docs/cpu\-platforms.
.TP 2m
\fBstorage\-pool\fR
The name of the storage pool in which the new disk is created. The new disk and
the storage pool must be in the same location.
.TP 2m
\fBinterface\fR
The interface to use with the disk. The value must be one of the following:
.RS 2m
.IP "\(bu" 2m
SCSI
.IP "\(bu" 2m
NVME
.RE
.sp
.TP 2m
\fBreplica\-zones\fR
Required for each regional disk associated with the instance. Specify the URLs
of the zones where the disk should be replicated to. You must provide exactly
two replica zones, and one zone must be the same as the instance zone.
.RE
.sp
.TP 2m
\fB\-\-description\fR=\fIDESCRIPTION\fR
Specifies a textual description of the instances.
.TP 2m
\fB\-\-discard\-local\-ssds\-at\-termination\-timestamp\fR=\fIDISCARD_LOCAL_SSDS_AT_TERMINATION_TIMESTAMP\fR
Required to be set to \f5true\fR and only allowed for VMs that have one or more
local SSDs, use \-\-instance\-termination\-action=STOP, and use either
\-\-max\-run\-duration or \-\-termination\-time.
This flag indicates the value that you want Compute Engine to use for the
\f5\-\-discard\-local\-ssd\fR flag in the automatic \f5gcloud compute instances
stop\fR command. This flag only supports the \f5true\fR value, which discards
local SSD data when automatically stopping this VM during its
\f5terminationTimestamp\fR.
For more information about the \f5\-\-discard\-local\-ssd\fR flag, see
https://cloud.google.com/compute/docs/disks/local\-ssd#stop_instance.
.TP 2m
\fB\-\-disk\fR=[\fIauto\-delete\fR=\fIAUTO\-DELETE\fR],[\fIboot\fR=\fIBOOT\fR],[\fIdevice\-name\fR=\fIDEVICE\-NAME\fR],[\fIforce\-attach\fR=\fIFORCE\-ATTACH\fR],[\fIinterface\fR=\fIINTERFACE\fR],[\fImode\fR=\fIMODE\fR],[\fIname\fR=\fINAME\fR],[\fIscope\fR=\fISCOPE\fR]
Attaches an existing disk to the instances.
.RS 2m
.TP 2m
\fBname\fR
The disk to attach to the instances. If you create more than one instance, you
can only attach a disk in read\-only mode. By default, you attach a zonal disk
located in the same zone of the instance. If you want to attach a regional disk,
you must specify the disk using its URI; for example,
\f5\fIprojects/myproject/regions/us\-central1/disks/my\-regional\-disk\fR\fR.
.TP 2m
\fBmode\fR
The mode of the disk. Supported options are \f5\fIro\fR\fR for read\-only mode
and \f5\fIrw\fR\fR for read\-write mode. If omitted, \f5\fIrw\fR\fR is used as a
default value. If you use \f5\fIrw\fR\fR when creating more than one instance,
you encounter errors.
.TP 2m
\fBboot\fR
If set to \f5\fIyes\fR\fR, you attach a boot disk. The virtual machine then uses
the first partition of the disk for the root file systems. The default value for
this is \f5\fIno\fR\fR.
.TP 2m
\fBdevice\-name\fR
An optional name to display the disk name in the guest operating system. Must be
the same as \f5name\fR if used with \f5\-\-container\-mount\-disk\fR. If
omitted, a device name of the form \f5persistent\-disk\-N\fR is used. If omitted
and used with \f5\-\-container\-mount\-disk\fR (where the \f5name\fR of the
container mount disk is the same as in this flag), a device name equal to disk
\f5name\fR is used.
.TP 2m
\fBauto\-delete\fR
If set to \f5\fIyes\fR\fR, the persistent disk is automatically deleted when the
instance is deleted. However, if you detach the disk from the instance, deleting
the instance doesn't delete the disk. The default value is \f5\fIyes\fR\fR.
.TP 2m
\fBinterface\fR
The interface to use for the disk. The value must be one of the following:
.RS 2m
.IP "\(bu" 2m
SCSI
.IP "\(bu" 2m
NVME
.RE
.sp
.TP 2m
\fBscope\fR
Can be \f5zonal\fR or \f5regional\fR. If \f5\fIzonal\fR\fR, the disk is
interpreted as a zonal disk in the same zone as the instance (default). If
\f5\fIregional\fR\fR, the disk is interpreted as a regional disk in the same
region as the instance. The default value for this is \f5\fIzonal\fR\fR.
.TP 2m
\fBforce\-attach\fR
If \f5\fIyes\fR\fR, this persistent disk will force\-attached to the instance
even it is already attached to another instance. The default value is 'no'.
.RE
.sp
.TP 2m
\fB\-\-[no\-]enable\-nested\-virtualization\fR
If set to true, enables nested virtualization for the instance. Use
\fB\-\-enable\-nested\-virtualization\fR to enable and
\fB\-\-no\-enable\-nested\-virtualization\fR to disable.
.TP 2m
\fB\-\-external\-ipv6\-address\fR=\fIEXTERNAL_IPV6_ADDRESS\fR
Assigns the given external IPv6 address to the instance that is created. The
address must be the first IP address in the range. This option can be used only
when creating a single instance.
.TP 2m
\fB\-\-external\-ipv6\-prefix\-length\fR=\fIEXTERNAL_IPV6_PREFIX_LENGTH\fR
The prefix length of the external IPv6 address range. This field should be used
together with \f5\-\-external\-ipv6\-address\fR. Only the /96 IP address range
is supported, and the default value is 96.
.TP 2m
\fB\-\-host\-error\-timeout\-seconds\fR=\fIHOST_ERROR_TIMEOUT_SECONDS\fR
The timeout in seconds for host error detection. The value must be set with 30
second increments, with a range of 90 to 330 seconds. If unset, the default
behavior of the host error recovery is used.
.TP 2m
\fB\-\-instance\-termination\-action\fR=\fIINSTANCE_TERMINATION_ACTION\fR
Specifies the termination action that will be taken upon VM preemption
(\-\-provisioning\-model=SPOT) or automatic instance termination
(\-\-max\-run\-duration or \-\-termination\-time).
\fIINSTANCE_TERMINATION_ACTION\fR must be one of:
.RS 2m
.TP 2m
\fBDELETE\fR
Permanently delete the VM.
.TP 2m
\fBSTOP\fR
Default only for Spot VMs. Stop the VM without preserving memory. The VM can be
restarted later.
.RE
.sp
.TP 2m
\fB\-\-internal\-ipv6\-address\fR=\fIINTERNAL_IPV6_ADDRESS\fR
Assigns the given internal IPv6 address or range to the instance that is
created. The address must be the first IP address in the range or from a /96 IP
address range. This option can be used only when creating a single instance.
.TP 2m
\fB\-\-internal\-ipv6\-prefix\-length\fR=\fIINTERNAL_IPV6_PREFIX_LENGTH\fR
Optional field that indicates the prefix length of the internal IPv6 address
range. It should be used together with \-\-internal\-ipv6\-address. Only /96 IP
address range is supported and the default value is 96. If not set, either the
prefix length from \-\-internal\-ipv6\-address will be used or the default value
of 96 will be assigned.
.TP 2m
\fB\-\-ipv6\-network\-tier\fR=\fIIPV6_NETWORK_TIER\fR
Specifies the IPv6 network tier that will be used to configure the instance
network interface IPv6 access config. \fIIPV6_NETWORK_TIER\fR must be (only one
value is supported):
.RS 2m
.TP 2m
\fBPREMIUM\fR
High quality, Google\-grade network tier.
.RE
.sp
.TP 2m
\fB\-\-labels\fR=[\fIKEY\fR=\fIVALUE\fR,...]
List of label KEY=VALUE pairs to add.
Keys must start with a lowercase character and contain only hyphens (\f5\-\fR),
underscores (\f5_\fR), lowercase characters, and numbers. Values must contain
only hyphens (\f5\-\fR), underscores (\f5_\fR), lowercase characters, and
numbers.
.TP 2m
\fB\-\-local\-ssd\-recovery\-timeout\fR=\fILOCAL_SSD_RECOVERY_TIMEOUT\fR
Specifies the maximum amount of time a Local Ssd Vm should wait while recovery
of the Local Ssd state is attempted. Its value should be in between 0 and 168
hours with hour granularity and the default value being 1 hour.
.TP 2m
\fB\-\-machine\-type\fR=\fIMACHINE_TYPE\fR
Specifies the machine type used for the instances. To get a list of available
machine types, run 'gcloud compute machine\-types list'. If unspecified, the
default type is n1\-standard\-1.
.TP 2m
\fB\-\-maintenance\-policy\fR=\fIMAINTENANCE_POLICY\fR
Specifies the behavior of the VMs when their host machines undergo maintenance.
The default is MIGRATE. For more information, see
https://cloud.google.com/compute/docs/instances/host\-maintenance\-options.
\fIMAINTENANCE_POLICY\fR must be one of:
.RS 2m
.TP 2m
\fBMIGRATE\fR
The instances should be migrated to a new host. This will temporarily impact the
performance of instances during a migration event.
.TP 2m
\fBTERMINATE\fR
The instances should be terminated.
.RE
.sp
.TP 2m
\fB\-\-max\-run\-duration\fR=\fIMAX_RUN_DURATION\fR
Limits how long this VM instance can run, specified as a duration relative to
the last time when the VM began running. Format the duration, MAX_RUN_DURATION,
as the number of days, hours, minutes, and seconds followed by d, h, m, and s
respectively. For example, specify \f530m\fR for a duration of 30 minutes or
specify \f51d2h3m4s\fR for a duration of 1 day, 2 hours, 3 minutes, and 4
seconds. Alternatively, to specify a timestamp, use \-\-termination\-time
instead.
If neither \-\-max\-run\-duration nor \-\-termination\-time is specified
(default), the VM instance runs until prompted by a user action or system event.
If either is specified, the VM instance is scheduled to be automatically
terminated at the VM's termination timestamp (\f5terminationTimestamp\fR) using
the action specified by \-\-instance\-termination\-action.
Note: The \f5terminationTimestamp\fR is removed whenever the VM is stopped or
suspended and redefined whenever the VM is rerun. For \-\-max\-run\-duration
specifically, the \f5terminationTimestamp\fR is the sum of MAX_RUN_DURATION and
the time when the VM last entered the \f5RUNNING\fR state, which changes
whenever the VM is rerun.
.TP 2m
\fB\-\-metadata\fR=\fIKEY\fR=\fIVALUE\fR,[\fIKEY\fR=\fIVALUE\fR,...]
Metadata to be made available to the guest operating system running on the
instances. Each metadata entry is a key/value pair separated by an equals sign.
Each metadata key must be unique and have a max of 128 bytes in length. Each
value must have a max of 256 KB in length. Multiple arguments can be passed to
this flag, e.g., \f5\fI\-\-metadata
key\-1=value\-1,key\-2=value\-2,key\-3=value\-3\fR\fR. The combined total size
for all metadata entries is 512 KB.
In images that have Compute Engine tools installed on them, such as the official
images (https://cloud.google.com/compute/docs/images), the following metadata
keys have special meanings:
.RS 2m
.TP 2m
\fBstartup\-script\fR
Specifies a script that will be executed by the instances once they start
running. For convenience, \f5\fI\-\-metadata\-from\-file\fR\fR can be used to
pull the value from a file.
.TP 2m
\fBstartup\-script\-url\fR
Same as \f5\fIstartup\-script\fR\fR except that the script contents are pulled
from a publicly\-accessible location on the web.
For startup scripts on Windows instances, the following metadata keys have
special meanings: \f5\fIwindows\-startup\-script\-url\fR\fR,
\f5\fIwindows\-startup\-script\-cmd\fR\fR,
\f5\fIwindows\-startup\-script\-bat\fR\fR,
\f5\fIwindows\-startup\-script\-ps1\fR\fR,
\f5\fIsysprep\-specialize\-script\-url\fR\fR,
\f5\fIsysprep\-specialize\-script\-cmd\fR\fR,
\f5\fIsysprep\-specialize\-script\-bat\fR\fR, and
\f5\fIsysprep\-specialize\-script\-ps1\fR\fR. For more information, see Running
startup scripts (https://cloud.google.com/compute/docs/startupscript).
.RE
.sp
.TP 2m
\fB\-\-metadata\-from\-file\fR=\fIKEY\fR=\fILOCAL_FILE_PATH\fR,[...]
Same as \f5\fI\-\-metadata\fR\fR except that the value for the entry will be
read from a local file. This is useful for values that are too large such as
\f5\fIstartup\-script\fR\fR contents.
.TP 2m
\fB\-\-min\-cpu\-platform\fR=\fIPLATFORM\fR
When specified, the VM will be scheduled on host with specified CPU architecture
or a newer one. To list available CPU platforms in given zone, run:
.RS 2m
$ gcloud compute zones describe ZONE \e
\-\-format="value(availableCpuPlatforms)"
.RE
Default setting is "AUTOMATIC".
CPU platform selection is available only in selected zones.
You can find more information on\-line:
https://cloud.google.com/compute/docs/instances/specify\-min\-cpu\-platform
.TP 2m
\fB\-\-network\fR=\fINETWORK\fR
Specifies the network that the VM instances are a part of. If \f5\-\-subnet\fR
is also specified, subnet must be a subnetwork of the network specified by this
\f5\-\-network\fR flag. If neither is specified, the default network is used.
.TP 2m
\fB\-\-network\-interface\fR=[\fIPROPERTY\fR=\fIVALUE\fR,...]
Adds a network interface to the instance. Mutually exclusive with any of these
flags: \fB\-\-address\fR, \fB\-\-network\fR, \fB\-\-network\-tier\fR,
\fB\-\-subnet\fR, \fB\-\-private\-network\-ip\fR, \fB\-\-stack\-type\fR,
\fB\-\-ipv6\-network\-tier\fR, \fB\-\-internal\-ipv6\-address\fR,
\fB\-\-internal\-ipv6\-prefix\-length\fR, \fB\-\-ipv6\-address\fR,
\fB\-\-ipv6\-prefix\-length\fR, \fB\-\-external\-ipv6\-address\fR,
\fB\-\-external\-ipv6\-prefix\-length\fR. This flag can be repeated to specify
multiple network interfaces.
The following keys are allowed:
.RS 2m
.TP 2m
\fBaddress\fR
Assigns the given external address to the instance that is created. Specifying
an empty string will assign an ephemeral IP. Mutually exclusive with
no\-address. If neither key is present the instance will get an ephemeral IP.
.TP 2m
\fBnetwork\fR
Specifies the network that the interface will be part of. If subnet is also
specified it must be subnetwork of this network. If neither is specified, this
defaults to the "default" network.
.TP 2m
\fBno\-address\fR
If specified the interface will have no external IP. Mutually exclusive with
address. If neither key is present the instance will get an ephemeral IP.
.TP 2m
\fBnetwork\-tier\fR
Specifies the network tier of the interface. \f5\fINETWORK_TIER\fR\fR must be
one of: \f5PREMIUM\fR, \f5STANDARD\fR. The default value is \f5PREMIUM\fR.
.TP 2m
\fBprivate\-network\-ip\fR
Assigns the given RFC1918 IP address to the interface.
.TP 2m
\fBsubnet\fR
Specifies the subnet that the interface will be part of. If network key is also
specified this must be a subnetwork of the specified network.
.TP 2m
\fBnic\-type\fR
Specifies the Network Interface Controller (NIC) type for the interface.
\f5\fINIC_TYPE\fR\fR must be one of: \f5GVNIC\fR, \f5VIRTIO_NET\fR.
.TP 2m
\fBstack\-type\fR
Specifies whether IPv6 is enabled on the interface. \f5\fISTACK_TYPE\fR\fR must
be one of: \f5IPV4_ONLY\fR, \f5IPV4_IPV6\fR, \f5IPV6_ONLY\fR. The default value
is \f5IPV4_ONLY\fR.
.TP 2m
\fBipv6\-network\-tier\fR
Specifies the IPv6 network tier that will be used to configure the instance
network interface IPv6 access config. \f5\fIIPV6_NETWORK_TIER\fR\fR must be
\f5PREMIUM\fR (currently only one value is supported).
.TP 2m
\fBinternal\-ipv6\-address\fR
Assigns the given internal IPv6 address or range to the instance that is
created. The address must be the first IP address in the range or from a /96 IP
address range. This option can be used only when creating a single instance.
.TP 2m
\fBinternal\-ipv6\-prefix\-length\fR
Optional field that indicates the prefix length of the internal IPv6 address
range. It should be used together with internal\-ipv6\-address. Only /96 IP
address range is supported and the default value is 96. If not set, either the
prefix length from \-\-internal\-ipv6\-address will be used or the default value
of 96 will be assigned.
.TP 2m
\fBexternal\-ipv6\-address\fR
Assigns the given external IPv6 address to the instance that is created. The
address must be the first IP address in the range. This option can be used only
when creating a single instance.
.TP 2m
\fBexternal\-ipv6\-prefix\-length\fR
The prefix length of the external IPv6 address range. This field should be used
together with external\-ipv6\-address. Only the /96 IP address range is
supported, and the default value is 96.
.TP 2m
\fBaliases\fR
Specifies the IP alias ranges to allocate for this interface. If there are
multiple IP alias ranges, they are separated by semicolons.
For example:
.RS 2m
\-\-aliases="10.128.1.0/24;range1:/32"
.RE
Each IP alias range consists of a range name and an IP range separated by a
colon, or just the IP range. The range name is the name of the range within the
network interface's subnet from which to allocate an IP alias range. If
unspecified, it defaults to the primary IP range of the subnet. The IP range can
be a CIDR range (e.g. \f5192.168.100.0/24\fR), a single IP address (e.g.
\f5192.168.100.1\fR), or a netmask in CIDR format (e.g. \f5/24\fR). If the IP
range is specified by CIDR range or single IP address, it must belong to the
CIDR range specified by the range name on the subnet. If the IP range is
specified by netmask, the IP allocator will pick an available range with the
specified netmask and allocate it to this network interface.
.TP 2m
\fBnetwork\-attachment\fR
Specifies the network attachment that this interface should connect to. Mutually
exclusive with \fB\-\-network\fR and \fB\-\-subnet\fR flags.
.TP 2m
\fBvlan\fR
VLAN ID of a Dynamic Network Interface, must be an integer in the range from 2
to 255 inclusively.
.RE
.sp
.TP 2m
\fB\-\-network\-performance\-configs\fR=[\fIPROPERTY\fR=\fIVALUE\fR,...]
Configures network performance settings for the instance. If this flag is not
specified, the instance will be created with its default network performance
configuration.
.RS 2m
.TP 2m
\fBtotal\-egress\-bandwidth\-tier\fR
Total egress bandwidth is the available outbound bandwidth from a VM, regardless
of whether the traffic is going to internal IP or external IP destinations. The
following tier values are allowed: [DEFAULT,TIER_1]
.RE
.sp
.TP 2m
\fB\-\-network\-tier\fR=\fINETWORK_TIER\fR
Specifies the network tier that will be used to configure the instance.
\f5\fINETWORK_TIER\fR\fR must be one of: \f5PREMIUM\fR, \f5STANDARD\fR. The
default value is \f5PREMIUM\fR.
.TP 2m
\fB\-\-preemptible\fR
If provided, instances will be preemptible and time\-limited. Instances might be
preempted to free up resources for standard VM instances, and will only be able
to run for a limited amount of time. Preemptible instances can not be restarted
and will not migrate.
.TP 2m
\fB\-\-private\-ipv6\-google\-access\-type\fR=\fIPRIVATE_IPV6_GOOGLE_ACCESS_TYPE\fR
The private IPv6 Google access type for the VM.
\fIPRIVATE_IPV6_GOOGLE_ACCESS_TYPE\fR must be one of:
\fBenable\-bidirectional\-access\fR, \fBenable\-outbound\-vm\-access\fR,
\fBinherit\-subnetwork\fR.
.TP 2m
\fB\-\-private\-network\-ip\fR=\fIPRIVATE_NETWORK_IP\fR
Specifies the RFC1918 IP to assign to the instance. The IP should be in the
subnet or legacy network IP range.
.TP 2m
\fB\-\-provisioning\-model\fR=\fIPROVISIONING_MODEL\fR
Specifies the provisioning model for your VM instances. This choice affects the
price, availability, and how long your VM instances can run.
\fIPROVISIONING_MODEL\fR must be one of:
.RS 2m
.TP 2m
\fBFLEX_START\fR
The VM instance is provisioned using the Flex Start provisioning model and has a
limited runtime.
.TP 2m
\fBRESERVATION_BOUND\fR
The VM instances run for the entire duration of their associated reservation.
You can only specify this provisioning model if you want your VM instances to
consume a specific reservation with either a calendar reservation mode or a
dense deployment type.
.TP 2m
\fBSPOT\fR
Compute Engine may stop a Spot VM instance whenever it needs capacity. Because
Spot VM instances don't have a guaranteed runtime, they come at a discounted
price.
.TP 2m
\fBSTANDARD\fR
The default option. The STANDARD provisioning model gives you full control over
your VM instances' runtime.
.RE
.sp
.TP 2m
\fB\-\-request\-valid\-for\-duration\fR=\fIREQUEST_VALID_FOR_DURATION\fR
When you create an instance by using the FLEX_START provisioning model, you can
specify the duration to wait for available resources. If the instance creation
request is still pending after this duration, then the request fails. You
specify a duration by using numbers followed by \f5h\fR, \f5m\fR, and \f5s\fR
for hours, minutes, and seconds, respectively. For example, specify \f530m\fR
for a duration of 30 minutes, or \f51h2m3s\fR for 1 hour, 2 minutes, and 3
seconds. Longer durations give you higher chances that your instance creation
request succeeds when resources are in high demand.
.TP 2m
\fB\-\-resource\-policies\fR=[\fIRESOURCE_POLICY\fR,...]
A list of resource policy names to be added to the instance. The policies must
exist in the same region as the instance.
.TP 2m
\fB\-\-restart\-on\-failure\fR
The instances will be restarted if they are terminated by Compute Engine. This
does not affect terminations performed by the user. Enabled by default, use
\fB\-\-no\-restart\-on\-failure\fR to disable.
.TP 2m
\fB\-\-shielded\-integrity\-monitoring\fR
Enables monitoring and attestation of the boot integrity of the instance. The
attestation is performed against the integrity policy baseline. This baseline is
initially derived from the implicitly trusted boot image when the instance is
created. This baseline can be updated by using \f5gcloud compute instances
update\-container \-\-shielded\-learn\-integrity\-policy\fR. On Shielded VM
instances, integrity monitoring is enabled by default. For information about how
to modify Shielded VM options, see
https://cloud.google.com/compute/docs/instances/modifying\-shielded\-vm. For
information about monitoring integrity on Shielded VM instances, see
https://cloud.google.com/compute/docs/instances/integrity\-monitoring."
.TP 2m
\fB\-\-shielded\-secure\-boot\fR
The instance boots with secure boot enabled. On Shielded VM instances, Secure
Boot is not enabled by default. For information about how to modify Shielded VM
options, see
https://cloud.google.com/compute/docs/instances/modifying\-shielded\-vm.
.TP 2m
\fB\-\-shielded\-vtpm\fR
The instance boots with the TPM (Trusted Platform Module) enabled. A TPM is a
hardware module that can be used for different security operations such as
remote attestation, encryption, and sealing of keys. On Shielded VM instances,
vTPM is enabled by default. For information about how to modify Shielded VM
options, see
https://cloud.google.com/compute/docs/instances/modifying\-shielded\-vm.
.TP 2m
\fB\-\-[no\-]skip\-guest\-os\-shutdown\fR
If enabled, then, when the instance is stopped or deleted, the instance is
immediately stopped without giving time to the guest OS to cleanly shut down.
Use \fB\-\-skip\-guest\-os\-shutdown\fR to enable and
\fB\-\-no\-skip\-guest\-os\-shutdown\fR to disable.
.TP 2m
\fB\-\-source\-instance\-template\fR=\fISOURCE_INSTANCE_TEMPLATE\fR
The name of the instance template that the instance will be created from. An
instance template can be a global/regional resource.
Users can override instance properties using other flags.
.TP 2m
\fB\-\-stack\-type\fR=\fISTACK_TYPE\fR
Specifies whether IPv6 is enabled on the default network interface. If not
specified, IPV4_ONLY will be used. \fISTACK_TYPE\fR must be one of:
.RS 2m
.TP 2m
\fBIPV4_IPV6\fR
The network interface can have both IPv4 and IPv6 addresses
.TP 2m
\fBIPV4_ONLY\fR
The network interface will be assigned IPv4 addresses
.TP 2m
\fBIPV6_ONLY\fR
The network interface will be assigned IPv6 addresses
.RE
.sp
.TP 2m
\fB\-\-subnet\fR=\fISUBNET\fR
Specifies the subnet that the VM instances are a part of. If \f5\-\-network\fR
is also specified, subnet must be a subnetwork of the network specified by the
\f5\-\-network\fR flag.
.TP 2m
\fB\-\-tags\fR=\fITAG\fR,[\fITAG\fR,...]
Specifies a list of tags to apply to the instance. These tags allow network
firewall rules and routes to be applied to specified VM instances. See \fBgcloud
compute firewall\-rules create\fR(1) for more details.
To read more about configuring network tags, read this guide:
https://cloud.google.com/vpc/docs/add\-remove\-network\-tags
To list instances with their respective status and tags, run:
.RS 2m
$ gcloud compute instances list \e
\-\-format='table(name,status,tags.list())'
.RE
To list instances tagged with a specific tag, \f5tag1\fR, run:
.RS 2m
$ gcloud compute instances list \-\-filter='tags:tag1'
.RE
.TP 2m
\fB\-\-termination\-time\fR=\fITERMINATION_TIME\fR
Limits how long this VM instance can run, specified as a time. Format the time,
TERMINATION_TIME, as a RFC 3339 timestamp. For more information, see
https://tools.ietf.org/html/rfc3339. Alternatively, to specify a duration, use
\-\-max\-run\-duration instead.
If neither \-\-termination\-time nor \-\-max\-run\-duration is specified
(default), the VM instance runs until prompted by a user action or system event.
If either is specified, the VM instance is scheduled to be automatically
terminated at the VM's termination timestamp (\f5terminationTimestamp\fR) using
the action specified by \-\-instance\-termination\-action.
Note: The \f5terminationTimestamp\fR is removed whenever the VM is stopped or
suspended and redefined whenever the VM is rerun. For \-\-termination\-time
specifically, the \f5terminationTimestamp\fR remains the same whenever the VM is
rerun, but any requests to rerun the VM fail if the specified timestamp is in
the past.
.TP 2m
\fB\-\-threads\-per\-core\fR=\fITHREADS_PER_CORE\fR
The number of visible threads per physical core. To disable simultaneous
multithreading (SMT) set this to 1. Valid values are: 1 or 2.
For more information about configuring SMT, see:
https://cloud.google.com/compute/docs/instances/configuring\-simultaneous\-multithreading.
.TP 2m
\fB\-\-visible\-core\-count\fR=\fIVISIBLE_CORE_COUNT\fR
The number of physical cores to expose to the instance's guest operating system.
The number of virtual CPUs visible to the instance's guest operating system is
this number of cores multiplied by the instance's count of visible threads per
physical core.
.TP 2m
\fB\-\-zone\fR=\fIZONE\fR
Zone of the instances to create. If not specified, you might be prompted to
select a zone (interactive mode only). \f5gcloud\fR attempts to identify the
appropriate zone by searching for resources in your currently active project. If
the zone cannot be determined, \f5gcloud\fR prompts you for a selection with all
available Google Cloud Platform zones.
To avoid prompting when this flag is omitted, the user can set the
\f5\fIcompute/zone\fR\fR property:
.RS 2m
$ gcloud config set compute/zone ZONE
.RE
A list of zones can be fetched by running:
.RS 2m
$ gcloud compute zones list
.RE
To unset the property, run:
.RS 2m
$ gcloud config unset compute/zone
.RE
Alternatively, the zone can be stored in the environment variable
\f5\fICLOUDSDK_COMPUTE_ZONE\fR\fR.
.TP 2m
At most one of these can be specified:
.RS 2m
.TP 2m
\fB\-\-address\fR=\fIADDRESS\fR
Assigns the given external address to the instance that is created. The address
might be an IP address or the name or URI of an address resource. This option
can only be used when creating a single instance.
.TP 2m
\fB\-\-no\-address\fR
If provided, the instances are not assigned external IP addresses. To pull
container images, you must configure private Google access if using Container
Registry or configure Cloud NAT for instances to access container images
directly. For more information, see:
.RS 2m
.IP "\(bu" 2m
https://cloud.google.com/vpc/docs/configure\-private\-google\-access
.IP "\(bu" 2m
https://cloud.google.com/nat/docs/using\-nat
.RE
.sp
.RE
.sp
.TP 2m
At most one of these can be specified:
.RS 2m
.TP 2m
\fB\-\-confidential\-compute\fR
(DEPRECATED) The instance boots with Confidential Computing enabled.
Confidential Computing is based on Secure Encrypted Virtualization (SEV), an AMD
virtualization feature for running confidential instances.
The \-\-confidential\-compute flag will soon be deprecated. Please use
\f5\-\-confidential\-compute\-type=SEV\fR instead
.TP 2m
\fB\-\-confidential\-compute\-type\fR=\fICONFIDENTIAL_COMPUTE_TYPE\fR
The instance boots with Confidential Computing enabled. Confidential Computing
can be based on Secure Encrypted Virtualization (SEV) or Secure Encrypted
Virtualization \- Secure Nested Paging (SEV\-SNP), both of which are AMD
virtualization features for running confidential instances. Trust Domain
eXtension based on Intel virtualization features for running confidential
instances is also supported. \fICONFIDENTIAL_COMPUTE_TYPE\fR must be one of:
.RS 2m
.TP 2m
\fBSEV\fR
Secure Encrypted Virtualization
.TP 2m
\fBSEV_SNP\fR
Secure Encrypted Virtualization \- Secure Nested Paging
.TP 2m
\fBTDX\fR
Trust Domain eXtension
.RE
.sp
.RE
.sp
.TP 2m
Custom machine type extensions.
.RS 2m
.TP 2m
\fB\-\-custom\-cpu\fR=\fICUSTOM_CPU\fR
A whole number value specifying the number of cores that are needed in the
custom machine type.
For some machine types, shared\-core values can also be used. For example, for
E2 machine types, you can specify \f5micro\fR, \f5small\fR, or \f5medium\fR.
This flag argument must be specified if any of the other arguments in this group
are specified.
.TP 2m
\fB\-\-custom\-memory\fR=\fICUSTOM_MEMORY\fR
A whole number value indicating how much memory is desired in the custom machine
type. A size unit should be provided (eg. 3072MB or 9GB) \- if no units are
specified, GB is assumed.
This flag argument must be specified if any of the other arguments in this group
are specified.
.TP 2m
\fB\-\-custom\-extensions\fR
Use the extended custom machine type.
.TP 2m
\fB\-\-custom\-vm\-type\fR=\fICUSTOM_VM_TYPE\fR
Specifies a custom machine type. The default is \f5n1\fR. For more information
about custom machine types, see:
https://cloud.google.com/compute/docs/general\-purpose\-machines#custom_machine_types
.RE
.sp
.TP 2m
\fB\-\-image\-project\fR=\fIIMAGE_PROJECT\fR
The Google Cloud project against which all image and image family references
will be resolved. It is best practice to define image\-project. A full list of
available projects can be generated by running \f5gcloud projects list\fR.
.RS 2m
.IP "\(em" 2m
If specifying one of our public images, image\-project must be provided.
.IP "\(em" 2m
If there are several of the same image\-family value in multiple projects,
image\-project must be specified to clarify the image to be used.
.IP "\(em" 2m
If not specified and either image or image\-family is provided, the current
default project is used.
.RE
.sp
.TP 2m
At most one of these can be specified:
.RS 2m
.TP 2m
\fB\-\-image\fR=\fIIMAGE\fR
Specifies the boot image for the instances. For each instance, a new boot disk
will be created from the given image. Each boot disk will have the same name as
the instance. To view a list of public images and projects, run \f5$ gcloud
compute images list\fR. It is best practice to use \f5\-\-image\fR when a
specific version of an image is needed.
When using this option, \f5\fI\-\-boot\-disk\-device\-name\fR\fR and
\f5\fI\-\-boot\-disk\-size\fR\fR can be used to override the boot disk's device
name and size, respectively.
.TP 2m
\fB\-\-image\-family\fR=\fIIMAGE_FAMILY\fR
The image family for the operating system that the boot disk will be initialized
with. Compute Engine offers multiple Linux distributions, some of which are
available as both regular and Shielded VM images. When a family is specified
instead of an image, the latest non\-deprecated image associated with that
family is used. It is best practice to use \f5\-\-image\-family\fR when the
latest version of an image is needed.
By default, \f5\fIdebian\-12\fR\fR is assumed for this flag.
.RE
.sp
.TP 2m
At most one of these can be specified:
.RS 2m
.TP 2m
\fB\-\-public\-ptr\fR
Creates a DNS PTR record for the external IP of the instance.
.TP 2m
\fB\-\-no\-public\-ptr\fR
If provided, no DNS PTR record is created for the external IP of the instance.
Mutually exclusive with public\-ptr\-domain.
.RE
.sp
.TP 2m
At most one of these can be specified:
.RS 2m
.TP 2m
\fB\-\-public\-ptr\-domain\fR=\fIPUBLIC_PTR_DOMAIN\fR
Assigns a custom PTR domain for the external IP of the instance. Mutually
exclusive with no\-public\-ptr.
.TP 2m
\fB\-\-no\-public\-ptr\-domain\fR
If both this flag and \-\-public\-ptr are specified, creates a DNS PTR record
for the external IP of the instance with the PTR domain name being the DNS name
of the instance.
.RE
.sp
.TP 2m
Specifies the reservation for the instance.
.RS 2m
.TP 2m
\fB\-\-reservation\fR=\fIRESERVATION\fR
The name of the reservation, required when
\f5\-\-reservation\-affinity=specific\fR.
.TP 2m
\fB\-\-reservation\-affinity\fR=\fIRESERVATION_AFFINITY\fR; default="any"
The type of reservation for the instance. \fIRESERVATION_AFFINITY\fR must be one
of:
.RS 2m
.TP 2m
\fBany\fR
Consume any available, matching reservation.
.TP 2m
\fBnone\fR
Do not consume from any reserved capacity.
.TP 2m
\fBspecific\fR
Must consume from a specific reservation.
.RE
.sp
.RE
.sp
.TP 2m
At most one of these can be specified:
.RS 2m
.TP 2m
\fB\-\-scopes\fR=[\fISCOPE\fR,...]
If not provided, the instance will be assigned the default scopes, described
below.
SCOPE can be either the full URI of the scope or an alias. \fBDefault\fR scopes
are assigned to all instances. Available aliases are:
.TS
tab( );
lB lB
l l.
Alias URI
bigquery https://www.googleapis.com/auth/bigquery
cloud-platform https://www.googleapis.com/auth/cloud-platform
cloud-source-repos https://www.googleapis.com/auth/source.full_control
cloud-source-repos-ro https://www.googleapis.com/auth/source.read_only
compute-ro https://www.googleapis.com/auth/compute.readonly
compute-rw https://www.googleapis.com/auth/compute
datastore https://www.googleapis.com/auth/datastore
default https://www.googleapis.com/auth/devstorage.read_only
https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/monitoring.write
https://www.googleapis.com/auth/pubsub
https://www.googleapis.com/auth/service.management.readonly
https://www.googleapis.com/auth/servicecontrol
https://www.googleapis.com/auth/trace.append
gke-default https://www.googleapis.com/auth/devstorage.read_only
https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/monitoring
https://www.googleapis.com/auth/service.management.readonly
https://www.googleapis.com/auth/servicecontrol
https://www.googleapis.com/auth/trace.append
logging-write https://www.googleapis.com/auth/logging.write
monitoring https://www.googleapis.com/auth/monitoring
monitoring-read https://www.googleapis.com/auth/monitoring.read
monitoring-write https://www.googleapis.com/auth/monitoring.write
pubsub https://www.googleapis.com/auth/pubsub
service-control https://www.googleapis.com/auth/servicecontrol
service-management https://www.googleapis.com/auth/service.management.readonly
sql (deprecated) https://www.googleapis.com/auth/sqlservice
sql-admin https://www.googleapis.com/auth/sqlservice.admin
storage-full https://www.googleapis.com/auth/devstorage.full_control
storage-ro https://www.googleapis.com/auth/devstorage.read_only
storage-rw https://www.googleapis.com/auth/devstorage.read_write
taskqueue https://www.googleapis.com/auth/taskqueue
trace https://www.googleapis.com/auth/trace.append
userinfo-email https://www.googleapis.com/auth/userinfo.email
.TE
DEPRECATION WARNING: https://www.googleapis.com/auth/sqlservice account scope
and \f5sql\fR alias do not provide SQL instance management capabilities and have
been deprecated. Please, use https://www.googleapis.com/auth/sqlservice.admin or
\f5sql\-admin\fR to manage your Google SQL Service instances.
.TP 2m
\fB\-\-no\-scopes\fR
Create instance without scopes
.RE
.sp
.TP 2m
At most one of these can be specified:
.RS 2m
.TP 2m
\fB\-\-service\-account\fR=\fISERVICE_ACCOUNT\fR
A service account is an identity attached to the instance. Its access tokens can
be accessed through the instance metadata server and are used to authenticate
applications on the instance. The account can be set using an email address
corresponding to the required service account.
If not provided, the instance will use the project's default service account.
.TP 2m
\fB\-\-no\-service\-account\fR
Create instance without service account
.RE
.RE
.sp
.SH "GCLOUD WIDE FLAGS"
These flags are available to all commands: \-\-access\-token\-file, \-\-account,
\-\-billing\-project, \-\-configuration, \-\-flags\-file, \-\-flatten,
\-\-format, \-\-help, \-\-impersonate\-service\-account, \-\-log\-http,
\-\-project, \-\-quiet, \-\-trace\-token, \-\-user\-output\-enabled,
\-\-verbosity.
Run \fB$ gcloud help\fR for details.
.SH "NOTES"
These variants are also available:
.RS 2m
$ gcloud alpha compute instances create\-with\-container
.RE
.RS 2m
$ gcloud beta compute instances create\-with\-container
.RE