- NAME
- gcloud-compute-instances-create - Create Compute Engine virtual machine instances
- SYNOPSIS
-
gcloud compute instances create NAME [NAME …] [--boot-disk-device-name BOOT_DISK_DEVICE_NAME] [--boot-disk-size BOOT_DISK_SIZE] [--boot-disk-type BOOT_DISK_TYPE] [--can-ip-forward] [--description DESCRIPTION] [--disk PROPERTY=VALUE [PROPERTY=VALUE …]] [--format FORMAT] [--help] [--image IMAGE] [--image-project IMAGE_PROJECT] [--machine-type MACHINE_TYPE; default="n1-standard-1"] [--maintenance-policy MAINTENANCE_POLICY] [--metadata KEY=VALUE [KEY=VALUE …]] [--metadata-from-file KEY=LOCAL_FILE_PATH [KEY=LOCAL_FILE_PATH …]] [--network NETWORK; default="default"] [--address ADDRESS | --no-address] [--no-boot-disk-auto-delete] [--no-restart-on-failure] [--project PROJECT] [--quiet, -q] [--no-scopes | --scopes [ACCOUNT=]SCOPE [[ACCOUNT=]SCOPE …]] [--tags TAG [TAG …]] [--zone ZONE] [-h]
- DESCRIPTION
-
gcloud compute instances create
facilitates the creation of Google Compute Engine virtual machines. For example, running: -
$ gcloud compute instances create \ my-instance-1 my-instance-2 my-instance-3 \ --zone us-central1-a
- will create three instances called “my-instance-1”, “my-instance-2”, and “my-instance-3” in the “us-central1-a” zone.
-
For more examples, refer to the
EXAMPLES
section below. - POSITIONAL ARGUMENTS
-
-
NAME [NAME …]
- The names of the instances to create.
-
- FLAGS
-
-
--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.
-
--boot-disk-device-name
BOOT_DISK_DEVICE_NAME
- The name the guest operating system will see for the boot disk as. This option can only be specified if a new boot disk is being created (as opposed to mounting an existing persistent disk).
-
--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. If omitted, a default size of 200 GB is used. The minimum size a boot disk can have is 10 GB. Disk size must be a multiple of 1 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.
-
--description
DESCRIPTION
- Specifies a textual description of the instances.
-
--disk
PROPERTY=VALUE [PROPERTY=VALUE …]
- Attaches persistent disks to the instances. The disks specified must already exist.
-
-
name
-
The disk to attach to the instances. When creating
more than one instance and using this property, the only valid
mode for attaching the disk is read-only (see
mode
below). -
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. It is an error for mode to be “rw” when creating more than one instance because read-write disks can only be attached to a single instance.
-
boot
- If “yes”, indicates that this is a boot disk. The virtual machines will use the first partition of the disk for their root file systems. The default value for this is “no”.
-
device-name
- An optional name that indicates the disk name the guest operating system will see. If omitted, a device name of the form “persistent-disk-N” will be used.
-
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 “no”.
-
-
--format
FORMAT
- Specify a format for printed output. By default, a command-specific human-friendly output format is used. Setting this flag to one of the available options will serialize the result of the command in the chosen format and print it to stdout. Supported formats are: "json", "text", "yaml".
-
--help
- Display detailed help.
-
--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.
- The value for this option can be the name of an image or an alias from the table below.
-
Alias Project Image Name centos-6 centos-cloud centos-6 coreos coreos-cloud coreos-beta debian-7 debian-cloud debian-7-wheezy debian-7-backports debian-cloud backports-debian-7-wheezy opensuse-13 opensuse-cloud opensuse-13-1 rhel-6 rhel-cloud rhel-6 sles-11 suse-cloud sles-11 - When the value is an alias, this tool will query the public image project that contains the image type to find the latest image matching the alias. The user’s project is also queried for an image with the same name as the alias. If a conflict exists, the user will be prompted to resolve the conflict.
- To specify an image in another project for which there is no alias, use “--image-project”. When “--image-project” is present, no API calls are made to resolve the image. This property is useful for scripts.
- 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.
- By default, “debian-7-backports” is assumed for this flag.
-
--image-project
IMAGE_PROJECT
- The project against which all image references will be resolved. See “--image” for more details.
-
--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
. -
--maintenance-policy
MAINTENANCE_POLICY
- Specifies the behavior of the instances when their host machines undergo maintenance. “TERMINATE” indicates that the instances should be terminated. “MIGRATE” indicates that the instances should be migrated to a new host. Choosing “MIGRATE” will temporarily impact the performance of instances during a migration event. If omitted, “MIGRATE” is assumed.
-
--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. Metadata keys must be unique and less than 128 bytes in length. Values must be less than or equal to 32,768 bytes 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”.
- In images that have Compute Engine tools installed on them, 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.
-
-
--metadata-from-file
KEY=LOCAL_FILE_PATH [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.
-
--network
NETWORK
- Specifies the network that the instances will be part of. If omitted, the “default” network is used.
-
--no-address
- If provided, the instances will not be assigned external IP addresses.
-
--no-boot-disk-auto-delete
- If provided, boot disks will not be automatically deleted when their instances are deleted.
-
--no-restart-on-failure
- If provided, the instances will not be restarted if they are terminated by Compute Engine. By default, failed instances will be restarted. This does not affect terminations performed by the user.
-
--no-scopes
- If provided, the default scopes ( https://www.googleapis.com/auth/devstorage.read_only ) are not added to the instances.
-
--project
PROJECT
- Google Cloud Platform project to use for this invocation.
-
--quiet
- Disable all interactive prompts when running gcloud commands. If input is required, defaults will be used, or an error will be raised.
-
--scopes
[ACCOUNT=]SCOPE [[ACCOUNT=]SCOPE …]
- Specifies service accounts and scopes for the instances. Service accounts generate access tokens that can be accessed through the instance metadata server and used to authenticate applications on the instance. The account can be either an email address or an alias corresponding to a service account. If account is omitted, the project’s default service account is used. The default service account can be specified explicitly by using the alias “default”. Example:
-
$ gcloud compute instances create my-instance \ --scopes compute-rw [email protected]=storage-rw
- If this flag is not provided, the “storage-ro” scope is added to the instances. To create instances with no scopes, use “--no-scopes”:
-
$ gcloud compute instances create my-instance --no-scopes
- SCOPE can be either the full URI of the scope or an alias. Available aliases are:
-
Alias URI bigquery https://www.googleapis.com/auth/bigquery compute-ro https://www.googleapis.com/auth/compute.readonly compute-rw https://www.googleapis.com/auth/compute datastore https://www.googleapis.com/auth/datastore sql https://www.googleapis.com/auth/sqlservice 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 userinfo-email https://www.googleapis.com/auth/userinfo.email -
--tags
TAG [TAG …]
-
Specifies a list of tags to apply to the instances for
identifying the instances to which network firewall rules will
apply. See
gcloud-compute-firewalls-create(1)
for more details. -
--zone
ZONE
- The zone of the instances to create. If not specified, you will be prompted to select a zone.
- To avoid prompting when this flag is omitted, you can set the “compute/zone” property:
-
gcloud config set compute/zone ZONE
- A list of zones can fetched by running:
-
gcloud compute zones list
- To unset the property, run:
-
gcloud config unset compute/zone
- Alternatively, the zone can be stored in the environment variable “CLOUDSDK_COMPUTE_ZONE”.
-
-h
- Print a summary help and exit.
-
- EXAMPLES
- To create an instance with the latest “Red Hat Enterprise Linux 6” image available, run:
-
$ gcloud compute instances create my-instance \ --image rhel-6 --zone us-central1-a
gcloud compute instances create
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License , and code samples are licensed under the Apache 2.0 License . For details, see our Site Policies .
Last updated August 11, 2014.