mirror of
https://github.com/imjasonh/gcloud-help
synced 2026-07-08 10:35:03 +00:00
1337 lines
62 KiB
Text
1337 lines
62 KiB
Text
NAME
|
|
gcloud beta compute instance-templates create - create a Compute Engine
|
|
virtual machine instance template
|
|
|
|
SYNOPSIS
|
|
gcloud beta compute instance-templates create NAME
|
|
[--accelerator=[count=COUNT],[type=TYPE]] [--no-boot-disk-auto-delete]
|
|
[--boot-disk-device-name=BOOT_DISK_DEVICE_NAME]
|
|
[--boot-disk-provisioned-iops=BOOT_DISK_PROVISIONED_IOPS]
|
|
[--boot-disk-provisioned-throughput=BOOT_DISK_PROVISIONED_THROUGHPUT]
|
|
[--boot-disk-size=BOOT_DISK_SIZE] [--boot-disk-type=BOOT_DISK_TYPE]
|
|
[--can-ip-forward] [--configure-disk=[PROPERTY=VALUE,...]]
|
|
[--create-disk=[PROPERTY=VALUE,...]] [--description=DESCRIPTION]
|
|
[--discard-local-ssds-at-termination-timestamp=DISCARD_LOCAL_SSDS_AT_TERMINATION_TIMESTAMP]
|
|
[--disk=[auto-delete=AUTO-DELETE],
|
|
[boot=BOOT],[device-name=DEVICE-NAME],[mode=MODE],[name=NAME]]
|
|
[--[no-]enable-nested-virtualization] [--[no-]enable-uefi-networking]
|
|
[--external-ipv6-address=EXTERNAL_IPV6_ADDRESS]
|
|
[--external-ipv6-prefix-length=EXTERNAL_IPV6_PREFIX_LENGTH]
|
|
[--host-error-timeout-seconds=HOST_ERROR_TIMEOUT_SECONDS]
|
|
[--instance-template-region=INSTANCE_TEMPLATE_REGION]
|
|
[--instance-termination-action=INSTANCE_TERMINATION_ACTION]
|
|
[--internal-ipv6-address=INTERNAL_IPV6_ADDRESS]
|
|
[--internal-ipv6-prefix-length=INTERNAL_IPV6_PREFIX_LENGTH]
|
|
[--ipv6-network-tier=IPV6_NETWORK_TIER]
|
|
[--key-revocation-action-type=POLICY] [--labels=[KEY=VALUE,...]]
|
|
[--local-ssd=[device-name=DEVICE-NAME],
|
|
[interface=INTERFACE],[size=SIZE]]
|
|
[--local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT]
|
|
[--machine-type=MACHINE_TYPE]
|
|
[--maintenance-interval=MAINTENANCE_INTERVAL]
|
|
[--maintenance-policy=MAINTENANCE_POLICY]
|
|
[--max-run-duration=MAX_RUN_DURATION]
|
|
[--mesh=[gke-cluster=GKE-CLUSTER],[workload=WORKLOAD]]
|
|
[--metadata=KEY=VALUE,[KEY=VALUE,...]]
|
|
[--metadata-from-file=KEY=LOCAL_FILE_PATH,[...]]
|
|
[--min-cpu-platform=PLATFORM] [--min-node-cpu=MIN_NODE_CPU]
|
|
[--network=NETWORK] [--network-interface=[PROPERTY=VALUE,...]]
|
|
[--network-performance-configs=[PROPERTY=VALUE,...]]
|
|
[--network-tier=NETWORK_TIER]
|
|
[--partner-metadata=[NAMESPACE/KEY=VALUE,...]]
|
|
[--partner-metadata-from-file=LOCAL_FILE_PATH]
|
|
[--performance-monitoring-unit=PERFORMANCE_MONITORING_UNIT]
|
|
[--post-key-revocation-action-type=POLICY] [--preemptible]
|
|
[--private-ipv6-google-access-type=PRIVATE_IPV6_GOOGLE_ACCESS_TYPE]
|
|
[--private-network-ip=PRIVATE_NETWORK_IP]
|
|
[--provisioning-model=PROVISIONING_MODEL] [--region=REGION]
|
|
[--resource-manager-tags=[KEY=VALUE,...]]
|
|
[--resource-policies=[RESOURCE_POLICY,...]] [--no-restart-on-failure]
|
|
[--shielded-integrity-monitoring] [--shielded-secure-boot]
|
|
[--shielded-vtpm] [--source-instance=SOURCE_INSTANCE]
|
|
[--source-instance-zone=SOURCE_INSTANCE_ZONE] [--stack-type=STACK_TYPE]
|
|
[--subnet=SUBNET] [--tags=TAG,[TAG,...]]
|
|
[--termination-time=TERMINATION_TIME]
|
|
[--threads-per-core=THREADS_PER_CORE]
|
|
[--visible-core-count=VISIBLE_CORE_COUNT]
|
|
[--address=ADDRESS | --no-address]
|
|
[--boot-disk-kms-key=BOOT_DISK_KMS_KEY
|
|
: --boot-disk-kms-keyring=BOOT_DISK_KMS_KEYRING
|
|
--boot-disk-kms-location=BOOT_DISK_KMS_LOCATION
|
|
--boot-disk-kms-project=BOOT_DISK_KMS_PROJECT]
|
|
[--confidential-compute
|
|
| --confidential-compute-type=CONFIDENTIAL_COMPUTE_TYPE]
|
|
[--custom-cpu=CUSTOM_CPU --custom-memory=CUSTOM_MEMORY
|
|
: --custom-extensions --custom-vm-type=CUSTOM_VM_TYPE]
|
|
[--image-project=IMAGE_PROJECT --image=IMAGE
|
|
| --image-family=IMAGE_FAMILY]
|
|
[--node=NODE | --node-affinity-file=NODE_AFFINITY_FILE
|
|
| --node-group=NODE_GROUP]
|
|
[--reservation=RESERVATION
|
|
--reservation-affinity=RESERVATION_AFFINITY; default="any"]
|
|
[--scopes=[SCOPE,...] | --no-scopes]
|
|
[--service-account=SERVICE_ACCOUNT | --no-service-account]
|
|
[--service-proxy=[enabled],[intercept-all-outbound-traffic],
|
|
[access-log=ACCESS-LOG],
|
|
[exclude-outbound-ip-ranges=EXCLUDE-OUTBOUND-IP-RANGES],
|
|
[exclude-outbound-port-ranges=EXCLUDE-OUTBOUND-PORT-RANGES],
|
|
[mesh=MESH],[network=NETWORK],[project-number=PROJECT-NUMBER],
|
|
[proxy-port=PROXY-PORT],
|
|
[scope=SCOPE],[serving-ports=SERVING-PORTS],[tracing=TRACING]
|
|
--service-proxy-labels=[KEY=VALUE, ...,...]] [GCLOUD_WIDE_FLAG ...]
|
|
|
|
DESCRIPTION
|
|
(BETA) gcloud beta compute instance-templates create facilitates the
|
|
creation of Compute Engine virtual machine instance templates. Instance
|
|
templates are global resources, and can be used to create instances in any
|
|
zone.
|
|
|
|
EXAMPLES
|
|
To create an instance template named 'INSTANCE-TEMPLATE' with the 'n2' vm
|
|
type, '9GB' memory, and 2 CPU cores, run:
|
|
|
|
$ gcloud beta compute instance-templates create INSTANCE-TEMPLATE \
|
|
--custom-vm-type=n2 --custom-cpu=2 --custom-memory=9GB
|
|
|
|
POSITIONAL ARGUMENTS
|
|
NAME
|
|
Name of the instance template to create.
|
|
|
|
FLAGS
|
|
--accelerator=[count=COUNT],[type=TYPE]
|
|
Attaches accelerators (e.g. GPUs) to the instances.
|
|
|
|
type
|
|
The specific type (e.g. nvidia-tesla-k80 for nVidia Tesla K80) of
|
|
accelerator to attach to the instances. Use 'gcloud compute
|
|
accelerator-types list' to learn about all available accelerator
|
|
types.
|
|
|
|
count
|
|
Number of accelerators to attach to each instance. The default
|
|
value is 1.
|
|
|
|
--boot-disk-auto-delete
|
|
Automatically delete boot disks when their instances are deleted.
|
|
Enabled by default, use --no-boot-disk-auto-delete to disable.
|
|
|
|
--boot-disk-device-name=BOOT_DISK_DEVICE_NAME
|
|
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).
|
|
|
|
--boot-disk-provisioned-iops=BOOT_DISK_PROVISIONED_IOPS
|
|
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.
|
|
|
|
--boot-disk-provisioned-throughput=BOOT_DISK_PROVISIONED_THROUGHPUT
|
|
Indicates how much throughput to provision for the disk. This sets the
|
|
number of throughput mb per second that the disk can handle.
|
|
|
|
--boot-disk-size=BOOT_DISK_SIZE
|
|
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 KB for kilobyte, MB for megabyte, GB for gigabyte, or TB for
|
|
terabyte. For example, 10GB will produce a 10 gigabyte disk. Disk size
|
|
must be a multiple of 1 GB. Default size unit is GB.
|
|
|
|
--boot-disk-type=BOOT_DISK_TYPE
|
|
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 $ gcloud
|
|
compute disk-types list.
|
|
|
|
--can-ip-forward
|
|
If provided, allows the instances to send and receive packets with
|
|
non-matching destination or source IP addresses.
|
|
|
|
--configure-disk=[PROPERTY=VALUE,...]
|
|
This option has effect only when used with --source-instance. It allows
|
|
you to override how the source-instance's disks are defined in the
|
|
template.
|
|
|
|
device-name
|
|
Name of the device for which the configuration is being overridden.
|
|
|
|
auto-delete
|
|
If true, this persistent disk will be automatically deleted when
|
|
the instance is deleted. However, if the disk is detached from the
|
|
instance, this option won't apply. If not provided, the setting is
|
|
copied from the source instance. Allowed values of the flag are:
|
|
false, no, true, and yes.
|
|
|
|
instantiate-from
|
|
Specifies whether to include the disk and which image to use. Valid
|
|
values are: attach-read-only, blank, custom-image, do-not-include,
|
|
source-image, source-image-family
|
|
|
|
custom-image
|
|
The custom image to use if custom-image is specified for
|
|
instantiate-from.
|
|
|
|
--create-disk=[PROPERTY=VALUE,...]
|
|
Creates and attaches persistent disks to the instances.
|
|
|
|
name
|
|
Specifies the name of the disk. This option cannot be specified if
|
|
more than one instance is being created.
|
|
|
|
description
|
|
Optional textual description for the disk being created.
|
|
|
|
mode
|
|
Specifies the mode of the disk. Supported options are ro for
|
|
read-only and rw for read-write. If omitted, rw is used as a
|
|
default.
|
|
|
|
image
|
|
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 $ gcloud compute images
|
|
list. 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.
|
|
|
|
image-family
|
|
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.
|
|
|
|
image-project
|
|
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 gcloud compute images list.
|
|
|
|
▸ If specifying one of our public images, image-project must be
|
|
provided.
|
|
▸ 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.
|
|
▸ If not specified and either image or image-family is provided,
|
|
the current default project is used.
|
|
|
|
size
|
|
The size of the disk. The value must be a whole number followed by
|
|
a size unit of KB for kilobyte, MB for megabyte, GB for gigabyte,
|
|
or TB for terabyte. For example, 10GB 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.
|
|
|
|
type
|
|
The type of the disk. To get a list of available disk types, run $
|
|
gcloud compute disk-types list. The default disk type is
|
|
pd-standard.
|
|
|
|
device-name
|
|
An optional name to display the disk name in the guest operating
|
|
system. If omitted, a device name of the form persistent-disk-N is
|
|
used.
|
|
|
|
provisioned-iops
|
|
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.
|
|
|
|
provisioned-throughput
|
|
Indicates how much throughput to provision for the disk. This sets
|
|
the number of throughput mb per second that the disk can handle.
|
|
|
|
disk-resource-policy
|
|
Resource policy to apply to the disk. Specify a full or partial
|
|
URL. For example:
|
|
▸ https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/resourcePolicies/my-resource-policy
|
|
▸ projects/my-project/regions/us-central1/resourcePolicies/my-resource-policy
|
|
|
|
For more information, see the following docs:
|
|
▸ https://cloud.google.com/sdk/gcloud/reference/beta/compute/resource-policies/
|
|
▸ https://cloud.google.com/compute/docs/disks/scheduled-snapshots
|
|
|
|
auto-delete
|
|
If yes, 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 yes.
|
|
|
|
architecture
|
|
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.
|
|
|
|
storage-pool
|
|
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.
|
|
|
|
boot
|
|
If yes, indicates that this is a boot disk. The instance will use
|
|
the first partition of the disk for its root file system. The
|
|
default value for this is no.
|
|
|
|
kms-key
|
|
Fully qualified Cloud KMS cryptokey name that will protect the
|
|
disk.
|
|
|
|
This can either be the fully qualified path or the name.
|
|
|
|
The fully qualified Cloud KMS cryptokey name format is:
|
|
projects/<kms-project>/locations/<kms-location>/keyRings/<kms-keyring>/
|
|
cryptoKeys/<key-name>.
|
|
|
|
If the value is not fully qualified then kms-location, kms-keyring,
|
|
and optionally kms-project are required.
|
|
|
|
See
|
|
https://cloud.google.com/compute/docs/disks/customer-managed-encryption
|
|
for more details.
|
|
|
|
kms-project
|
|
Project that contains the Cloud KMS cryptokey that will protect the
|
|
disk.
|
|
|
|
If the project is not specified then the project where the disk is
|
|
being created will be used.
|
|
|
|
If this flag is set then key-location, kms-keyring, and kms-key are
|
|
required.
|
|
|
|
See
|
|
https://cloud.google.com/compute/docs/disks/customer-managed-encryption
|
|
for more details.
|
|
|
|
kms-location
|
|
Location of the Cloud KMS cryptokey to be used for protecting the
|
|
disk.
|
|
|
|
All Cloud KMS cryptokeys are reside in a 'location'. To get a list
|
|
of possible locations run 'gcloud kms locations list'. If this flag
|
|
is set then kms-keyring and kms-key are required. See
|
|
https://cloud.google.com/compute/docs/disks/customer-managed-encryption
|
|
for more details.
|
|
|
|
kms-keyring
|
|
The keyring which contains the Cloud KMS cryptokey that will
|
|
protect the disk.
|
|
|
|
If this flag is set then kms-location and kms-key are required.
|
|
|
|
See
|
|
https://cloud.google.com/compute/docs/disks/customer-managed-encryption
|
|
for more details.
|
|
|
|
multi-writer
|
|
If yes, the disk is created in multi-writer mode so that it can be
|
|
attached with read-write access to two VMs. The default value is
|
|
no. The multi-writer feature requires specialized filesystems,
|
|
among other restrictions. For more information, see
|
|
https://cloud.google.com/compute/docs/disks/sharing-disks-between-vms.
|
|
|
|
replica-zones
|
|
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.
|
|
|
|
labels
|
|
List of label KEY=VALUE pairs separated by : character to add to
|
|
the disk.
|
|
|
|
Example: Key1=Value1:Key2=Value2:Key3=Value3.
|
|
|
|
Keys must start with a lowercase character and contain only hyphens
|
|
(-), underscores (_), lowercase characters, and numbers. Values
|
|
must contain only hyphens (-), underscores (_), lowercase
|
|
characters, and numbers.
|
|
|
|
--description=DESCRIPTION
|
|
Specifies a textual description for the instance template.
|
|
|
|
--discard-local-ssds-at-termination-timestamp=DISCARD_LOCAL_SSDS_AT_TERMINATION_TIMESTAMP
|
|
Required to be set to true 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 --discard-local-ssd flag in the automatic gcloud compute instances
|
|
stop command. This flag only supports the true value, which discards
|
|
local SSD data when automatically stopping this VM during its
|
|
terminationTimestamp.
|
|
|
|
For more information about the --discard-local-ssd flag, see
|
|
https://cloud.google.com/compute/docs/disks/local-ssd#stop_instance.
|
|
|
|
--disk=[auto-delete=AUTO-DELETE],[boot=BOOT],[device-name=DEVICE-NAME],[mode=MODE],[name=NAME]
|
|
Attaches an existing persistent disk to the instances.
|
|
|
|
name
|
|
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 persistent disk located in the same zone of the
|
|
instance. If you want to attach a regional persistent disk, you
|
|
must specify the disk using its URI; for example,
|
|
projects/myproject/regions/us-central1/disks/my-regional-disk.
|
|
|
|
mode
|
|
The mode of the disk. Supported options are ro for read-only mode
|
|
and rw for read-write mode. If omitted, rw is used as a default
|
|
value. If you use rw when creating more than one instance, you
|
|
encounter errors.
|
|
|
|
boot
|
|
If set to yes, 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 no.
|
|
|
|
device-name
|
|
An optional name to display the disk name in the guest operating
|
|
system. If omitted, a device name of the form persistent-disk-N is
|
|
used.
|
|
|
|
auto-delete
|
|
If set to yes, 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 for this is yes.
|
|
|
|
--[no-]enable-nested-virtualization
|
|
If set to true, enables nested virtualization for the instance. Use
|
|
--enable-nested-virtualization to enable and
|
|
--no-enable-nested-virtualization to disable.
|
|
|
|
--[no-]enable-uefi-networking
|
|
If set to true, enables UEFI networking for the instance creation. Use
|
|
--enable-uefi-networking to enable and --no-enable-uefi-networking to
|
|
disable.
|
|
|
|
--external-ipv6-address=EXTERNAL_IPV6_ADDRESS
|
|
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.
|
|
|
|
--external-ipv6-prefix-length=EXTERNAL_IPV6_PREFIX_LENGTH
|
|
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.
|
|
|
|
--host-error-timeout-seconds=HOST_ERROR_TIMEOUT_SECONDS
|
|
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.
|
|
|
|
--instance-template-region=INSTANCE_TEMPLATE_REGION
|
|
Specifies the region of the regional instance template.
|
|
|
|
--instance-termination-action=INSTANCE_TERMINATION_ACTION
|
|
Specifies the termination action that will be taken upon VM preemption
|
|
(--provisioning-model=SPOT) or automatic instance termination
|
|
(--max-run-duration or --termination-time).
|
|
|
|
INSTANCE_TERMINATION_ACTION must be one of:
|
|
|
|
DELETE
|
|
Permanently delete the VM.
|
|
STOP
|
|
Default only for Spot VMs. Stop the VM without preserving memory.
|
|
The VM can be restarted later.
|
|
|
|
--internal-ipv6-address=INTERNAL_IPV6_ADDRESS
|
|
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.
|
|
|
|
--internal-ipv6-prefix-length=INTERNAL_IPV6_PREFIX_LENGTH
|
|
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.
|
|
|
|
--ipv6-network-tier=IPV6_NETWORK_TIER
|
|
Specifies the IPv6 network tier that will be used to configure the
|
|
instance network interface IPv6 access config. IPV6_NETWORK_TIER must
|
|
be (only one value is supported):
|
|
|
|
PREMIUM
|
|
High quality, Google-grade network tier.
|
|
|
|
--key-revocation-action-type=POLICY
|
|
Specifies the behavior of the instance when the KMS key of one of its
|
|
attached disks is revoked. The default is none. POLICY must be one of:
|
|
|
|
none
|
|
No operation is performed.
|
|
stop
|
|
The instance is stopped when the KMS key of one of its attached
|
|
disks is revoked.
|
|
|
|
--labels=[KEY=VALUE,...]
|
|
List of label KEY=VALUE pairs to add.
|
|
|
|
Keys must start with a lowercase character and contain only hyphens
|
|
(-), underscores (_), lowercase characters, and numbers. Values must
|
|
contain only hyphens (-), underscores (_), lowercase characters, and
|
|
numbers.
|
|
|
|
--local-ssd=[device-name=DEVICE-NAME],[interface=INTERFACE],[size=SIZE]
|
|
Attaches a local SSD to the instances.
|
|
|
|
device-name
|
|
Optional. A name that indicates the disk name the guest operating
|
|
system will see. Can only be specified if interface is SCSI. If
|
|
omitted, a device name of the form local-ssd-N will be used.
|
|
|
|
interface
|
|
Optional. The kind of disk interface exposed to the VM for this
|
|
SSD. Valid values are SCSI and NVME. SCSI is the default and is
|
|
supported by more guest operating systems. NVME might provide
|
|
higher performance.
|
|
|
|
size
|
|
Optional. The only valid value is 375GB. Specify the --local-ssd
|
|
flag multiple times if you need multiple 375GB local SSD
|
|
partitions. You can specify a maximum of 24 local SSDs for a
|
|
maximum of 9TB attached to an instance.
|
|
|
|
--local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT
|
|
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.
|
|
|
|
--machine-type=MACHINE_TYPE
|
|
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.
|
|
|
|
--maintenance-interval=MAINTENANCE_INTERVAL
|
|
Specifies the frequency of planned maintenance events.
|
|
MAINTENANCE_INTERVAL must be (only one value is supported):
|
|
|
|
PERIODIC
|
|
PERIODIC means the VM is a Stable Fleet VM.
|
|
|
|
--maintenance-policy=MAINTENANCE_POLICY
|
|
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.
|
|
MAINTENANCE_POLICY must be one of:
|
|
|
|
MIGRATE
|
|
The instances should be migrated to a new host. This will
|
|
temporarily impact the performance of instances during a migration
|
|
event.
|
|
TERMINATE
|
|
The instances should be terminated.
|
|
|
|
--max-run-duration=MAX_RUN_DURATION
|
|
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
|
|
30m for a duration of 30 minutes or specify 1d2h3m4s 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
|
|
(terminationTimestamp) using the action specified by
|
|
--instance-termination-action.
|
|
|
|
Note: The terminationTimestamp is removed whenever the VM is stopped or
|
|
suspended and redefined whenever the VM is rerun. For
|
|
--max-run-duration specifically, the terminationTimestamp is the sum of
|
|
MAX_RUN_DURATION and the time when the VM last entered the RUNNING
|
|
state, which changes whenever the VM is rerun.
|
|
|
|
--mesh=[gke-cluster=GKE-CLUSTER],[workload=WORKLOAD]
|
|
Controls whether the Anthos Service Mesh service proxy (Envoy) and
|
|
agent are installed and configured on the VM. "cloud-platform" scope is
|
|
enabled automatically to allow the service proxy to be started. Do not
|
|
use the --no-scopes flag.
|
|
|
|
gke-cluster
|
|
The location/name of the GKE cluster. The location can be a zone or
|
|
a region, e.g. us-central1-a/my-cluster.
|
|
|
|
workload
|
|
The workload identifier of the VM. In a GKE cluster, it is the
|
|
identifier namespace/name of the WorkloadGroup custom resource
|
|
representing the VM workload, e.g. foo/my-workload.
|
|
|
|
--metadata=KEY=VALUE,[KEY=VALUE,...]
|
|
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., --metadata
|
|
key-1=value-1,key-2=value-2,key-3=value-3. 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:
|
|
|
|
startup-script
|
|
Specifies a script that will be executed by the instances once they
|
|
start running. For convenience, --metadata-from-file can be used to
|
|
pull the value from a file.
|
|
|
|
startup-script-url
|
|
Same as startup-script 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: windows-startup-script-url,
|
|
windows-startup-script-cmd, windows-startup-script-bat,
|
|
windows-startup-script-ps1, sysprep-specialize-script-url,
|
|
sysprep-specialize-script-cmd, sysprep-specialize-script-bat, and
|
|
sysprep-specialize-script-ps1. For more information, see Running
|
|
startup scripts
|
|
(https://cloud.google.com/compute/docs/startupscript).
|
|
|
|
--metadata-from-file=KEY=LOCAL_FILE_PATH,[...]
|
|
Same as --metadata 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
|
|
startup-script contents.
|
|
|
|
--min-cpu-platform=PLATFORM
|
|
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:
|
|
|
|
$ gcloud beta compute zones describe ZONE \
|
|
--format="value(availableCpuPlatforms)"
|
|
|
|
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
|
|
|
|
--min-node-cpu=MIN_NODE_CPU
|
|
Minimum number of virtual CPUs this instance will consume when running
|
|
on a sole-tenant node.
|
|
|
|
--network=NETWORK
|
|
Specifies the network that the VM instances are a part of. If --subnet
|
|
is also specified, subnet must be a subnetwork of the network specified
|
|
by this --network flag. If neither is specified, the default network is
|
|
used.
|
|
|
|
--network-interface=[PROPERTY=VALUE,...]
|
|
Adds a network interface to the instance. Mutually exclusive with any
|
|
of these flags: --address, --network, --network-tier, --subnet,
|
|
--private-network-ip, --stack-type, --ipv6-network-tier,
|
|
--internal-ipv6-address, --internal-ipv6-prefix-length, --ipv6-address,
|
|
--ipv6-prefix-length, --external-ipv6-address,
|
|
--external-ipv6-prefix-length, --ipv6-public-ptr-domain. This flag can
|
|
be repeated to specify multiple network interfaces.
|
|
|
|
The following keys are allowed:
|
|
address
|
|
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.
|
|
|
|
network
|
|
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.
|
|
|
|
no-address
|
|
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.
|
|
|
|
network-tier
|
|
Specifies the network tier of the interface. NETWORK_TIER must be
|
|
one of: PREMIUM, STANDARD, FIXED_STANDARD. The default value is
|
|
PREMIUM.
|
|
|
|
private-network-ip
|
|
Assigns the given RFC1918 IP address to the interface.
|
|
|
|
subnet
|
|
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.
|
|
|
|
nic-type
|
|
Specifies the Network Interface Controller (NIC) type for the
|
|
interface. NIC_TYPE must be one of: GVNIC, VIRTIO_NET.
|
|
|
|
queue-count
|
|
Specifies the networking queue count for this interface. Both Rx
|
|
and Tx queues will be set to this number. If it's not specified, a
|
|
default queue count will be assigned. See
|
|
https://cloud.google.com/compute/docs/network-bandwidth#rx-tx for
|
|
more details.
|
|
|
|
stack-type
|
|
Specifies whether IPv6 is enabled on the interface. STACK_TYPE must
|
|
be one of: IPV4_ONLY, IPV4_IPV6. The default value is IPV4_ONLY.
|
|
|
|
ipv6-network-tier
|
|
Specifies the IPv6 network tier that will be used to configure the
|
|
instance network interface IPv6 access config. IPV6_NETWORK_TIER
|
|
must be PREMIUM (currently only one value is supported).
|
|
|
|
internal-ipv6-address
|
|
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.
|
|
|
|
internal-ipv6-prefix-length
|
|
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.
|
|
|
|
external-ipv6-address
|
|
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.
|
|
|
|
external-ipv6-prefix-length
|
|
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.
|
|
|
|
ipv6-public-ptr-domain
|
|
Assigns a custom PTR domain for the external IPv6 in the IPv6
|
|
access configuration of instance. If its value is not specified,
|
|
the default PTR record will be used. This option can only be
|
|
specified for the default network interface, nic0.
|
|
|
|
aliases
|
|
Specifies the IP alias ranges to allocate for this interface. If
|
|
there are multiple IP alias ranges, they are separated by
|
|
semicolons.
|
|
|
|
For example:
|
|
|
|
--aliases="10.128.1.0/24;range1:/32"
|
|
|
|
Each IP alias range consists of a range name and a CIDR netmask
|
|
(e.g. /24) separated by a colon or just the netmask. 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 allocator will pick an
|
|
available range with the specified netmask and allocate it to this
|
|
network interface.
|
|
|
|
--network-performance-configs=[PROPERTY=VALUE,...]
|
|
Configures network performance settings for the instance. If this flag
|
|
is not specified, the instance will be created with its default network
|
|
performance configuration.
|
|
|
|
total-egress-bandwidth-tier
|
|
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]
|
|
|
|
--network-tier=NETWORK_TIER
|
|
Specifies the network tier that will be used to configure the instance.
|
|
NETWORK_TIER must be one of: PREMIUM, STANDARD, FIXED_STANDARD. The
|
|
default value is PREMIUM.
|
|
|
|
--partner-metadata=[NAMESPACE/KEY=VALUE,...]
|
|
Partner metadata specifying namespace and its entries. The entries can
|
|
be key-value pairs or in json format.
|
|
|
|
--partner-metadata-from-file=LOCAL_FILE_PATH
|
|
Path to a local json file containing partner metadata.
|
|
|
|
--performance-monitoring-unit=PERFORMANCE_MONITORING_UNIT
|
|
The type of performance monitoring counters (PMCs) to enable in the
|
|
instance. PERFORMANCE_MONITORING_UNIT must be one of:
|
|
|
|
architectural
|
|
This enables architecturally defined non-last level cache (LLC)
|
|
events.
|
|
enhanced
|
|
This enables most documented core/L2 and LLC events.
|
|
standard
|
|
This enables most documented core/L2 events.
|
|
|
|
--post-key-revocation-action-type=POLICY
|
|
Specifies the behavior of the instance when the KMS key of one of its
|
|
attached disks is revoked. The default is noop. POLICY must be one of:
|
|
|
|
noop
|
|
No operation is performed.
|
|
shutdown
|
|
The instance is shut down when the KMS key of one of its attached
|
|
disks is revoked.
|
|
|
|
--preemptible
|
|
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.
|
|
|
|
--private-ipv6-google-access-type=PRIVATE_IPV6_GOOGLE_ACCESS_TYPE
|
|
The private IPv6 Google access type for the VM.
|
|
PRIVATE_IPV6_GOOGLE_ACCESS_TYPE must be one of:
|
|
enable-bidirectional-access, enable-outbound-vm-access,
|
|
inherit-subnetwork.
|
|
|
|
--private-network-ip=PRIVATE_NETWORK_IP
|
|
Specifies the RFC1918 IP to assign to the instance. The IP should be in
|
|
the subnet or legacy network IP range.
|
|
|
|
--provisioning-model=PROVISIONING_MODEL
|
|
Specifies provisioning model, which determines price, obtainability,
|
|
and runtime for the VM instance. PROVISIONING_MODEL must be one of:
|
|
|
|
SPOT
|
|
Spot VMs are spare capacity; Spot VMs are discounted to have much
|
|
lower prices than standard VMs but have no guaranteed runtime. Spot
|
|
VMs are the new version of preemptible VM instances, except Spot
|
|
VMs do not have a 24-hour maximum runtime.
|
|
STANDARD
|
|
Default. Standard provisioning model for VM instances, which has
|
|
user-controlled runtime but no Spot discounts.
|
|
|
|
--region=REGION
|
|
Region of the subnetwork to attach. If not specified, you might be
|
|
prompted to select a region (interactive mode only).
|
|
|
|
To avoid prompting when this flag is omitted, you can set the
|
|
compute/region property:
|
|
|
|
$ gcloud config set compute/region REGION
|
|
|
|
A list of regions can be fetched by running:
|
|
|
|
$ gcloud compute regions list
|
|
|
|
To unset the property, run:
|
|
|
|
$ gcloud config unset compute/region
|
|
|
|
Alternatively, the region can be stored in the environment variable
|
|
CLOUDSDK_COMPUTE_REGION.
|
|
|
|
--resource-manager-tags=[KEY=VALUE,...]
|
|
Specifies a list of resource manager tags to apply to the instance.
|
|
|
|
--resource-policies=[RESOURCE_POLICY,...]
|
|
A list of resource policy names (not URLs) to be added to each instance
|
|
created using this instance template. If you attach any resource
|
|
policies to an instance template, you can only use that instance
|
|
template to create instances that are in the same region as the
|
|
resource policies. Do not include resource policies that are located in
|
|
different regions in the same instance template.
|
|
|
|
--restart-on-failure
|
|
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 --no-restart-on-failure to disable.
|
|
|
|
--shielded-integrity-monitoring
|
|
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 gcloud compute instances update
|
|
--shielded-learn-integrity-policy. 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."
|
|
|
|
--shielded-secure-boot
|
|
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.
|
|
|
|
--shielded-vtpm
|
|
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.
|
|
|
|
--source-instance=SOURCE_INSTANCE
|
|
The name of the source instance that the instance template will be
|
|
created from.
|
|
|
|
--source-instance-zone=SOURCE_INSTANCE_ZONE
|
|
Zone of the instance to operate on. Overrides the default compute/zone
|
|
property value for this command invocation.
|
|
|
|
--stack-type=STACK_TYPE
|
|
Specifies whether IPv6 is enabled on the default network interface. If
|
|
not specified, IPV4_ONLY will be used. STACK_TYPE must be one of:
|
|
|
|
IPV4_IPV6
|
|
The network interface can have both IPv4 and IPv6 addresses
|
|
IPV4_ONLY
|
|
The network interface will be assigned IPv4 addresses
|
|
|
|
--subnet=SUBNET
|
|
Specifies the subnet that the VM instances are a part of. If --network
|
|
is also specified, subnet must be a subnetwork of the network specified
|
|
by the --network flag.
|
|
|
|
--tags=TAG,[TAG,...]
|
|
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 gcloud compute firewall-rules create(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:
|
|
|
|
$ gcloud compute instances list \
|
|
--format='table(name,status,tags.list())'
|
|
|
|
To list instances tagged with a specific tag, tag1, run:
|
|
|
|
$ gcloud compute instances list --filter='tags:tag1'
|
|
|
|
--termination-time=TERMINATION_TIME
|
|
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
|
|
(terminationTimestamp) using the action specified by
|
|
--instance-termination-action.
|
|
|
|
Note: The terminationTimestamp is removed whenever the VM is stopped or
|
|
suspended and redefined whenever the VM is rerun. For
|
|
--termination-time specifically, the terminationTimestamp remains the
|
|
same whenever the VM is rerun, but any requests to rerun the VM fail if
|
|
the specified timestamp is in the past.
|
|
|
|
--threads-per-core=THREADS_PER_CORE
|
|
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.
|
|
|
|
--visible-core-count=VISIBLE_CORE_COUNT
|
|
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.
|
|
|
|
At most one of these can be specified:
|
|
|
|
--address=ADDRESS
|
|
Assigns the given external IP address to the instance that is
|
|
created. This option can only be used when creating a single
|
|
instance.
|
|
|
|
--no-address
|
|
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:
|
|
▸ https://cloud.google.com/vpc/docs/configure-private-google-access
|
|
▸ https://cloud.google.com/nat/docs/using-nat
|
|
|
|
Key resource - The Cloud KMS (Key Management Service) cryptokey that will
|
|
be used to protect the disk. The 'Compute Engine Service Agent' service
|
|
account must hold permission 'Cloud KMS CryptoKey Encrypter/Decrypter'.
|
|
The arguments in this group can be used to specify the attributes of this
|
|
resource.
|
|
|
|
--boot-disk-kms-key=BOOT_DISK_KMS_KEY
|
|
ID of the key or fully qualified identifier for the key.
|
|
|
|
To set the kms-key attribute:
|
|
▸ provide the argument --boot-disk-kms-key on the command line.
|
|
|
|
This flag argument must be specified if any of the other arguments in
|
|
this group are specified.
|
|
|
|
--boot-disk-kms-keyring=BOOT_DISK_KMS_KEYRING
|
|
The KMS keyring of the key.
|
|
|
|
To set the kms-keyring attribute:
|
|
▸ provide the argument --boot-disk-kms-key on the command line with
|
|
a fully specified name;
|
|
▸ provide the argument --boot-disk-kms-keyring on the command line.
|
|
|
|
--boot-disk-kms-location=BOOT_DISK_KMS_LOCATION
|
|
The Google Cloud location for the key.
|
|
|
|
To set the kms-location attribute:
|
|
▸ provide the argument --boot-disk-kms-key on the command line with
|
|
a fully specified name;
|
|
▸ provide the argument --boot-disk-kms-location on the command
|
|
line.
|
|
|
|
--boot-disk-kms-project=BOOT_DISK_KMS_PROJECT
|
|
The Google Cloud project for the key.
|
|
|
|
To set the kms-project attribute:
|
|
▸ provide the argument --boot-disk-kms-key on the command line with
|
|
a fully specified name;
|
|
▸ provide the argument --boot-disk-kms-project on the command line;
|
|
▸ set the property core/project.
|
|
|
|
At most one of these can be specified:
|
|
|
|
--confidential-compute
|
|
(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
|
|
--confidential-compute-type=SEV instead
|
|
|
|
--confidential-compute-type=CONFIDENTIAL_COMPUTE_TYPE
|
|
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. CONFIDENTIAL_COMPUTE_TYPE must be one of:
|
|
|
|
SEV
|
|
Secure Encrypted Virtualization
|
|
SEV_SNP
|
|
Secure Encrypted Virtualization - Secure Nested Paging
|
|
TDX
|
|
Trust Domain eXtension
|
|
|
|
Custom machine type extensions.
|
|
|
|
--custom-cpu=CUSTOM_CPU
|
|
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 micro, small, or
|
|
medium.
|
|
|
|
This flag argument must be specified if any of the other arguments in
|
|
this group are specified.
|
|
|
|
--custom-memory=CUSTOM_MEMORY
|
|
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.
|
|
|
|
--custom-extensions
|
|
Use the extended custom machine type.
|
|
|
|
--custom-vm-type=CUSTOM_VM_TYPE
|
|
Specifies a custom machine type. The default is n1. For more
|
|
information about custom machine types, see:
|
|
https://cloud.google.com/compute/docs/general-purpose-machines#custom_machine_types
|
|
|
|
--image-project=IMAGE_PROJECT
|
|
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 gcloud projects list.
|
|
◆ If specifying one of our public images, image-project must be
|
|
provided.
|
|
◆ 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.
|
|
◆ If not specified and either image or image-family is provided, the
|
|
current default project is used.
|
|
|
|
At most one of these can be specified:
|
|
|
|
--image=IMAGE
|
|
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 $ gcloud compute images list. It is best practice
|
|
to use --image when a specific version of an image is needed.
|
|
|
|
When using this option, --boot-disk-device-name and --boot-disk-size
|
|
can be used to override the boot disk's device name and size,
|
|
respectively.
|
|
|
|
--image-family=IMAGE_FAMILY
|
|
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.
|
|
|
|
By default, debian-11 is assumed for this flag.
|
|
|
|
Sole Tenancy.
|
|
|
|
At most one of these can be specified:
|
|
|
|
--node=NODE
|
|
The name of the node to schedule this instance on.
|
|
|
|
--node-affinity-file=NODE_AFFINITY_FILE
|
|
The JSON/YAML file containing the configuration of desired nodes onto
|
|
which this instance could be scheduled. These rules filter the nodes
|
|
according to their node affinity labels. A node's affinity labels
|
|
come from the node template of the group the node is in.
|
|
|
|
The file should contain a list of a JSON/YAML objects. For an
|
|
example, see
|
|
https://cloud.google.com/compute/docs/nodes/provisioning-sole-tenant-vms#configure_node_affinity_labels.
|
|
The following list describes the fields:
|
|
|
|
key
|
|
Corresponds to the node affinity label keys of the Node resource.
|
|
operator
|
|
Specifies the node selection type. Must be one of: IN: Requires
|
|
Compute Engine to seek for matched nodes. NOT_IN: Requires
|
|
Compute Engine to avoid certain nodes.
|
|
values
|
|
Optional. A list of values which correspond to the node affinity
|
|
label values of the Node resource.
|
|
|
|
--node-group=NODE_GROUP
|
|
The name of the node group to schedule this instance on.
|
|
|
|
Specifies the reservation for instances created from this template.
|
|
|
|
--reservation=RESERVATION
|
|
The name of the reservation, required when --reservation-affinity is
|
|
one of: specific, specific-then-any-reservation or
|
|
specific-then-no-reservation.
|
|
|
|
--reservation-affinity=RESERVATION_AFFINITY; default="any"
|
|
The type of reservation for instances created from this template.
|
|
RESERVATION_AFFINITY must be one of:
|
|
|
|
any
|
|
Consume any available, matching reservation.
|
|
none
|
|
Do not consume from any reserved capacity.
|
|
specific
|
|
Must consume from a specific reservation.
|
|
specific-then-any-reservation
|
|
Prefer to consume from a specific reservation, but still consume
|
|
any available matching reservation if the specified reservation
|
|
is not available or exhausted.
|
|
specific-then-no-reservation
|
|
Prefer to consume from a specific reservation, but still consume
|
|
from the on-demand pool if the specified reservation is not
|
|
available or exhausted.
|
|
|
|
At most one of these can be specified:
|
|
|
|
--scopes=[SCOPE,...]
|
|
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. Default
|
|
scopes are assigned to all instances. Available aliases are:
|
|
|
|
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
|
|
|
|
DEPRECATION WARNING: https://www.googleapis.com/auth/sqlservice
|
|
account scope and sql alias do not provide SQL instance management
|
|
capabilities and have been deprecated. Please, use
|
|
https://www.googleapis.com/auth/sqlservice.admin or sql-admin to
|
|
manage your Google SQL Service instances.
|
|
|
|
--no-scopes
|
|
Create instance without scopes
|
|
|
|
At most one of these can be specified:
|
|
|
|
--service-account=SERVICE_ACCOUNT
|
|
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.
|
|
|
|
--no-service-account
|
|
Create instance without service account
|
|
|
|
--service-proxy=[enabled],[intercept-all-outbound-traffic],[access-log=ACCESS-LOG],[exclude-outbound-ip-ranges=EXCLUDE-OUTBOUND-IP-RANGES],[exclude-outbound-port-ranges=EXCLUDE-OUTBOUND-PORT-RANGES],[mesh=MESH],[network=NETWORK],[project-number=PROJECT-NUMBER],[proxy-port=PROXY-PORT],[scope=SCOPE],[serving-ports=SERVING-PORTS],[tracing=TRACING]
|
|
Controls whether the Traffic Director service proxy (Envoy) and agent
|
|
are installed and configured on the VM. "cloud-platform" scope is
|
|
enabled automatically to allow connections to the Traffic Director API.
|
|
Do not use the --no-scopes flag.
|
|
|
|
enabled
|
|
If specified, the service-proxy software will be installed when the
|
|
instance is created. The instance is configured to work with
|
|
Traffic Director.
|
|
|
|
serving-ports
|
|
Semi-colon-separated (;) list of the ports, specified inside
|
|
quotation marks ("), on which the customer's application/workload
|
|
is serving.
|
|
|
|
For example:
|
|
|
|
serving-ports="80;8080"
|
|
|
|
The service proxy will intercept inbound traffic, then forward it
|
|
to the specified serving port(s) on localhost. If not provided, no
|
|
incoming traffic is intercepted.
|
|
|
|
proxy-port
|
|
The port on which the service proxy listens. The VM intercepts
|
|
traffic and redirects it to this port to be handled by the service
|
|
proxy. If omitted, the default value is '15001'.
|
|
|
|
tracing
|
|
Enables the service proxy to generate distributed tracing
|
|
information. If set to ON, the service proxy's control plane
|
|
generates a configuration that enables request ID-based tracing.
|
|
For more information, refer to the generate_request_id
|
|
documentation for the Envoy proxy. Allowed values are ON and OFF.
|
|
|
|
access-log
|
|
The filepath for access logs sent to the service proxy by the
|
|
control plane. All incoming and outgoing requests are recorded in
|
|
this file. For more information, refer to the file access log
|
|
documentation for the Envoy proxy.
|
|
|
|
network
|
|
The name of a valid VPC network. The Google Cloud Platform VPC
|
|
network used by the service proxy's control plane to generate
|
|
dynamic configuration for the service proxy.
|
|
|
|
intercept-all-outbound-traffic
|
|
Enables interception of all outgoing traffic. The traffic is
|
|
intercepted by the service proxy and then redirected to external
|
|
host.
|
|
|
|
exclude-outbound-ip-ranges
|
|
Semi-colon-separated (;) list of the IPs or CIDRs, specified inside
|
|
quotation marks ("), that should be excluded from redirection. Only
|
|
applies when intercept-all-outbound-traffic flag is set.
|
|
|
|
For example:
|
|
|
|
exclude-outbound-ip-ranges="8.8.8.8;129.168.10.0/24"
|
|
|
|
exclude-outbound-port-ranges
|
|
Semi-colon-separated (;) list of the ports or port ranges,
|
|
specified inside quotation marks ("), that should be excluded from
|
|
redirection. Only applies when intercept-all-outbound-traffic flag
|
|
is set.
|
|
|
|
For example:
|
|
|
|
exclude-outbound-port-ranges="81;8080-8090"
|
|
|
|
scope
|
|
Scope defines a logical configuration boundary for a Gateway
|
|
resource. On VM boot up, the service proxy reaches the Traffic
|
|
Director to retrieve routing information that corresponds to the
|
|
routes attached to the gateway with this scope name. When scope is
|
|
specified, the network value is ignored. You cannot specify scope
|
|
and mesh values at the same time.
|
|
|
|
mesh
|
|
Mesh defines a logical configuration boundary for a Mesh resource.
|
|
On VM boot up, the service proxy reaches the Traffic Director to
|
|
retrieve routing information that corresponds to the routes
|
|
attached to the mesh with this mesh name. When mesh is specified,
|
|
the network value is ignored. You cannot specify scope and mesh
|
|
values at the same time.
|
|
|
|
project-number
|
|
Project number defines the project where Mesh and Gateway resources
|
|
are created. If not specified, the project where the instance
|
|
exists is used.
|
|
|
|
--service-proxy-labels=[KEY=VALUE, ...,...]
|
|
Labels that you can apply to your service proxy. These will be
|
|
reflected in your Envoy proxy's bootstrap metadata. These can be any
|
|
key=value pairs that you want to set as proxy metadata (for example,
|
|
for use with config filtering). You might use these flags for
|
|
application and version labels: app=review and/or version=canary.
|
|
|
|
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 $ gcloud help for details.
|
|
|
|
NOTES
|
|
This command is currently in beta and might change without notice. These
|
|
variants are also available:
|
|
|
|
$ gcloud compute instance-templates create
|
|
|
|
$ gcloud alpha compute instance-templates create
|
|
|