- NAME
-
- gcloud alpha compute disks create - create Compute Engine persistent disks
- SYNOPSIS
-
-
gcloud alpha compute disks create
DISK_NAME
[DISK_NAME
…] [--access-mode
=ACCESS_MODE
] [--architecture
=ARCHITECTURE
] [--confidential-compute
] [--csek-key-file
=FILE
] [--description
=DESCRIPTION
] [--erase-windows-vss-signature
] [--guest-os-features
=[GUEST_OS_FEATURE
,…]] [--interface
=INTERFACE
] [--labels
=[KEY
=VALUE
,…]] [--licenses
=[LICENSE
,…]] [--multi-writer
] [--physical-block-size
=PHYSICAL_BLOCK_SIZE
; default="4096"] [--primary-disk-project
=PRIMARY_DISK_PROJECT
] [--provisioned-iops
=PROVISIONED_IOPS
] [--provisioned-throughput
=PROVISIONED_THROUGHPUT
] [--replica-zones
=ZONE
,ZONE
] [--no-require-csek-key-create
] [--resource-policies
=[RESOURCE_POLICY
,…]] [--size
=SIZE
] [--storage-pool
=STORAGE_POOL
] [--type
=TYPE
] [--user-licenses
=[LICENSE
,…]] [--global-source-snapshot
|--source-snapshot-region
=SOURCE_SNAPSHOT_REGION
] [--image-family-scope
=IMAGE_FAMILY_SCOPE
--image-project
=IMAGE_PROJECT
--image
=IMAGE
|--image-family
=IMAGE_FAMILY
|--primary-disk
=PRIMARY_DISK
|--source-disk
=SOURCE_DISK
|--source-instant-snapshot
=SOURCE_INSTANT_SNAPSHOT
|--source-snapshot
=SOURCE_SNAPSHOT
] [--kms-key
=KMS_KEY
:--kms-keyring
=KMS_KEYRING
--kms-location
=KMS_LOCATION
--kms-project
=KMS_PROJECT
] [--primary-disk-region
=PRIMARY_DISK_REGION
|--primary-disk-zone
=PRIMARY_DISK_ZONE
] [--region
=REGION
|--zone
=ZONE
] [--source-disk-region
=SOURCE_DISK_REGION
|--source-disk-zone
=SOURCE_DISK_ZONE
] [GCLOUD_WIDE_FLAG …
]
-
- DESCRIPTION
-
(ALPHA)
gcloud alpha compute disks create
creates one or more Compute Engine persistent disks. When creating virtual machine instances, disks can be attached to the instances through thegcloud compute instances create
command. Disks can also be attached to instances that are already running usinggcloud compute instances attach-disk
.Disks are zonal resources, so they reside in a particular zone for their entire lifetime. The contents of a disk can be moved to a different zone by snapshotting the disk (using
gcloud compute disks snapshot
) and creating a new disk using--source-snapshot
in the desired zone. The contents of a disk can also be moved across project or zone by creating an image (usinggcloud compute images create
) and creating a new disk using--image
in the desired project and/or zone.For a comprehensive guide, including details on minimum and maximum disk size, refer to: https://cloud.google.com/compute/docs/disks
- EXAMPLES
-
When creating disks, be sure to include the
--zone
option. To create disks 'my-disk-1' and 'my-disk-2' in zone us-east1-a:gcloud alpha compute disks create my-disk-1 my-disk-2 --zone=us-east1-a
- POSITIONAL ARGUMENTS
-
DISK_NAME
[DISK_NAME
…]- Names of the disks to create. For details on the naming convention for this resource, refer to: https://cloud.google.com/compute/docs/naming-resources
- FLAGS
-
--access-mode
=ACCESS_MODE
-
Specifies how VMs attached to the disk can access the data on the disk. To grant
read-only access to multiple VMs attached to the disk, set access-mode to
READ_ONLY_MANY. To grant read-write access to only one VM attached to the disk,
use READ_WRITE_SINGLE. READ_WRITE_SINGLE is used if omitted.
ACCESS_MODE
must be one of:READ_ONLY_MANY
,READ_WRITE_MANY
,READ_WRITE_SINGLE
. --architecture
=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.
ARCHITECTURE
must be one of:ARM64
,X86_64
. --confidential-compute
- Creates the disk with confidential compute mode enabled. Encryption with a Cloud KMS key is required to enable this option.
--csek-key-file
=FILE
-
Path to a Customer-Supplied Encryption Key (CSEK) key file that maps Compute
Engine resources to user managed keys to be used when creating, mounting, or
taking snapshots of disks.
If you pass
-
as value of the flag, the CSEK is read from stdin. See https://cloud.google.com/compute/docs/disks/customer-supplied-encryption for more details. --description
=DESCRIPTION
- An optional, textual description for the disks being created.
--erase-windows-vss-signature
- Specifies whether the disk restored from a source snapshot should erase Windows specific VSS signature. See https://cloud.google.com/sdk/gcloud/reference/compute/disks/snapshot#--guest-flush
--guest-os-features
=[GUEST_OS_FEATURE
,…]-
Enables one or more features for VM instances that use the image for their boot
disks. See the descriptions of supported features at: https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features.
GUEST_OS_FEATURE
must be one of:BARE_METAL_LINUX_COMPATIBLE
,GVNIC
,IDPF
,MULTI_IP_SUBNET
,SEV_CAPABLE
,SEV_LIVE_MIGRATABLE
,SEV_LIVE_MIGRATABLE_V2
,SEV_SNP_CAPABLE
,TDX_CAPABLE
,UEFI_COMPATIBLE
,VIRTIO_SCSI_MULTIQUEUE
,WINDOWS
. --interface
=INTERFACE
-
Specifies the disk interface to use for attaching this disk. Valid values are
SCSI
andNVME
. The default isSCSI
. --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. --licenses
=[LICENSE
,…]- A list of URIs to license resources. The provided licenses will be added onto the created disks to indicate the licensing and billing policies.
--multi-writer
- Create the disk in multi-writer mode so that it can be attached with read-write access to two VMs. 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.
--physical-block-size
=PHYSICAL_BLOCK_SIZE
; default="4096"-
Physical block size of the persistent disk in bytes. Valid values are
4096(default) and 16384.
PHYSICAL_BLOCK_SIZE
must be one of:4096
,16384
. --primary-disk-project
=PRIMARY_DISK_PROJECT
- Project of the primary disk for asynchronous replication.
--provisioned-iops
=PROVISIONED_IOPS
- Provisioned IOPS of disk to create. Only for use with disks of type pd-extreme and hyperdisk-extreme.
--provisioned-throughput
=PROVISIONED_THROUGHPUT
- Provisioned throughput of disk to create. The throughput unit is MB per sec. Only for use with disks of type hyperdisk-throughput.
--replica-zones
=ZONE
,ZONE
-
A comma-separated list of exactly 2 zones that a regional disk will be
replicated to. Required when creating regional disk. The zones must be in the
same region as specified in the
--region
flag. See available zones withgcloud compute zones list
. --require-csek-key-create
-
Refuse to create resources not protected by a user managed key in the key file
when --csek-key-file is given. This behavior is enabled by default to prevent
incorrect gcloud invocations from accidentally creating resources with no user
managed key. Disabling the check allows creation of some resources without a
matching Customer-Supplied Encryption Key in the supplied --csek-key-file. See
https://cloud.google.com/compute/docs/disks/customer-supplied-encryption
for more details. Enabled by default, use
--no-require-csek-key-create
to disable. --resource-policies
=[RESOURCE_POLICY
,…]- A list of resource policy names to be added to the disk. The policies must exist in the same region as the disk.
--size
=SIZE
-
Size of the disks. The value must be a whole number followed by a size unit of
for gigabyte, orGB
for terabyte. If no size unit is specified, GB is assumed. For example,TB
will produce 10 gigabyte disks. Disk size must be a multiple of 1 GB. If disk size is not specified, the default size of 500GB for pd-standard disks, 100GB for pd-balanced disks, 100GB for pd-ssd disks, and 1000GB for pd-extreme will be used. For details about disk size limits, refer to: https://cloud.google.com/compute/docs/disks10GB
--storage-pool
=STORAGE_POOL
- Specifies the URI of the storage pool in which the disk is created.
--type
=TYPE
-
Specifies the type of disk to create. To get a list of available disk types, run
gcloud compute disk-types list
. The default disk type is pd-standard. --user-licenses
=[LICENSE
,…]- List of URIs to license resources. User-provided licenses can be edited after disk is created.
-
At most one of these can be specified:
--global-source-snapshot
- If set, the snapshot is global.
--source-snapshot-region
=SOURCE_SNAPSHOT_REGION
-
Region of the snapshot to operate on. Overrides the default
compute/region
property value for this command invocation.
--image-family-scope
=IMAGE_FAMILY_SCOPE
-
Sets the scope for the
--image-family
flag. By default, when specifying an image family in a public image project, the zonal image family scope is used. All other projects default to the global image. Use this flag to override this behavior.IMAGE_FAMILY_SCOPE
must be one of:zonal
,global
. --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
-
An image to apply to the disks being created. When using this option, the size
of the disks must be at least as large as the image size. Use
to adjust the size of the disks.--size
This flag is mutually exclusive with
and--source-snapshot
.--image-family
--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.
--primary-disk
=PRIMARY_DISK
- Primary disk for asynchronous replication. This flag is required when creating a secondary disk.
--source-disk
=SOURCE_DISK
-
Source disk used to create the disk(s). It is safe to delete a source disk after
a disk has been created from the source disk. To get a list of disks in your
current project, run
gcloud compute disks list
. This flag is mutually exclusive with--image
and--source-snapshot
.When using this option, the size of the disks must be at least as large as the source disk size. Use
--size
to adjust the size of the disks.The source disk must be in the same zone/region as the disk to be created.
--source-instant-snapshot
=SOURCE_INSTANT_SNAPSHOT
- Name of the source instant snapshot used to create the disks.
--source-snapshot
=SOURCE_SNAPSHOT
-
Source snapshot used to create the disks. It is safe to delete a snapshot after
a disk has been created from the snapshot. In such cases, the disks will no
longer reference the deleted snapshot. To get a list of snapshots in your
current project, run
gcloud compute snapshots list
. A snapshot from an existing disk can be created using thegcloud compute disks snapshot
command. This flag is mutually exclusive with--image
.When using this option, the size of the disks must be at least as large as the snapshot size. Use
--size
to adjust the size of the disks.
-
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.
--kms-key
=KMS_KEY
-
ID of the key or fully qualified identifier for the key.
To set the
kms-key
attribute:-
provide the argument
--kms-key
on the command line.
This flag argument must be specified if any of the other arguments in this group are specified.
-
provide the argument
--kms-keyring
=KMS_KEYRING
-
The KMS keyring of the key.
To set the
kms-keyring
attribute:-
provide the argument
--kms-key
on the command line with a fully specified name; -
provide the argument
--kms-keyring
on the command line.
-
provide the argument
--kms-location
=KMS_LOCATION
-
The Google Cloud location for the key.
To set the
kms-location
attribute:-
provide the argument
--kms-key
on the command line with a fully specified name; -
provide the argument
--kms-location
on the command line; -
provide the argument
--region
on the command line.
-
provide the argument
--kms-project
=KMS_PROJECT
-
The Google Cloud project for the key.
To set the
kms-project
attribute:-
provide the argument
--kms-key
on the command line with a fully specified name; -
provide the argument
--kms-project
on the command line; -
set the property
core/project
.
-
provide the argument
-
At most one of these can be specified:
--primary-disk-region
=PRIMARY_DISK_REGION
-
Region of the primary disk for asynchronous replication. The primary and
secondary disks must not be in the same region. Overrides the default
compute/region
property value for this command invocation. --primary-disk-zone
=PRIMARY_DISK_ZONE
-
Zone of the primary disk for asynchronous replication. The primary and secondary
disks must not be in the same region. Overrides the default
compute/zone
property value for this command invocation.
-
At most one of these can be specified:
--region
=REGION
-
Region of the disks to create. 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
property:compute/region
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
--zone
=ZONE
-
Zone of the disks to create. If not specified and the
property isn't set, you might be prompted to select a zone (interactive mode only).compute/zone
To avoid prompting when this flag is omitted, you can set the
property:compute/zone
gcloud config set compute/zone ZONE
A list of zones can be 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
-
At most one of these can be specified:
--source-disk-region
=SOURCE_DISK_REGION
-
Region of the source disk. This argument is not required if the target disk is
in the same region as the source disk. Overrides the default
compute/region
property value for this command invocation. --source-disk-zone
=SOURCE_DISK_ZONE
-
Zone of the source disk. This argument is not required if the target disk is in
the same zone as the source disk. Overrides the default
compute/zone
property value for this command invocation.
- 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 alpha and might change without notice. If this
command fails with API permission errors despite specifying the correct project,
you might be trying to access an API with an invitation-only early access
allowlist. These variants are also available:
gcloud compute disks create
gcloud beta compute disks create
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-10-15 UTC.