gcloud alpha compute future-reservations create - create a Compute Engine future reservation
gcloud alpha compute future-reservations create FUTURE_RESERVATION --total-count=TOTAL_COUNT (--source-instance-template=SOURCE_INSTANCE_TEMPLATE | [--machine-type=MACHINE_TYPE : --accelerator=[count=COUNT],[type=TYPE] --local-ssd=[count=COUNT],[interface=INTERFACE],[size=SIZE] --maintenance-freeze-duration=MAINTENANCE_FREEZE_DURATION --maintenance-interval=MAINTENANCE_INTERVAL --min-cpu-platform=MIN_CPU_PLATFORM]) (--start-time=START_TIME (--duration=DURATION | --end-time=END_TIME)) [--description=DESCRIPTION] [--name-prefix=NAME_PREFIX] [--planning-status=PLANNING_STATUS] [--zone=ZONE] [--share-setting=SHARE_SETTING --share-with=PROJECT,[PROJECT,...]] [GCLOUD_WIDE_FLAG ...]
(ALPHA) Create a Compute Engine future reservation.
To create a Compute Engine future reservation by specifying VM properties using an instance template, run:
$ gcloud alpha compute future-reservations create \ my-future-reservation --total-count=1000 \ --start-time=2022-11-10 --end-time=2022-12-10 \ --name-prefix=prefix-reservation \ --source-instance-template=example-instance-template \ --zone=fake-zone
To create a Compute Engine future reservation by directly specifying VM properties, run:
$ gcloud alpha compute future-reservations create \ my-future-reservation --total-count=1000 \ --start-time=2022-11-10 --end-time=2022-12-10 \ --name-prefix=prefix-reservation --machine-type=custom-8-10240 \ --min-cpu-platform="Intel Haswell" \ --accelerator=count=2,type=nvidia-tesla-v100 \ --local-ssd=size=375,interface=scsi
- FUTURE_RESERVATION
Name of the future reservation to create.
- --total-count=TOTAL_COUNT
The total number of instances for which capacity assurance is requested at a future time period.
- Manage the instance properties for the Specific SKU reservation. You must either
provide a source instance template or define the instance properties.
Exactly one of these must be specified:
- --source-instance-template=SOURCE_INSTANCE_TEMPLATE
The url of the instance template that will be used to populate the fields of the reservation. Instance properties can not be defined in addition to source instance template.
- Define individual instance properties for the specific SKU reservation.
- --machine-type=MACHINE_TYPE
The type of machine (name only) that has a fixed number of vCPUs and a fixed amount of memory. You can also specify a custom machine type by using the pattern custom-number_of_CPUs-amount_of_memory-for example, custom-32-29440.
This flag argument must be specified if any of the other arguments in this group are specified.
- --accelerator=[count=COUNT],[type=TYPE]
Manage the configuration of the type and number of accelerator cards attached.
- count
The number of accelerators to attach to each instance in the reservation.
- type
The specific type (e.g. nvidia-tesla-k80 for nVidia Tesla K80) of accelerator to attach to instances in the reservation. Use gcloud compute accelerator-types list to learn about all available accelerator types.
- --local-ssd=[count=COUNT],[interface=INTERFACE],[size=SIZE]
Manage the size and the interface of local SSD to use. See https://cloud.google.com/compute/docs/disks/local-ssd for more information.
- interface
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 may provide higher performance.
- size
The size of the local SSD in base-2 GB.
- count
The number of local SSD to use per VM. Default value is 1.
- --maintenance-freeze-duration=MAINTENANCE_FREEZE_DURATION
Specifies the amount of hours after instance creation where the instance won't be scheduled for maintenance, e.g. 4h, 2d6h. See $ gcloud topic datetimes for information on duration formats.
- --maintenance-interval=MAINTENANCE_INTERVAL
Specifies how infrastructure upgrades should be applied to the VM. MAINTENANCE_INTERVAL must be (currently only one value is supported):
- PERIODIC
VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. Security updates will still be applied as soon as they are available.
- --min-cpu-platform=MIN_CPU_PLATFORM
Optional minimum CPU platform of the reservation to create.
- Manage the time specific properties for requesting future capacity
This must be specified.
- --start-time=START_TIME
Start time of the Future Reservation. The start time must be an RFC3339 valid string formatted by date, time, and timezone or "YYYY-MM-DDTHH:MM:SSZ"; where YYYY = year, MM = month, DD = day, HH = hours, MM = minutes, SS = seconds, and Z = timezone (i.e. 2021-11-20T07:00:00Z).
This flag argument must be specified if any of the other arguments in this group are specified.
- Exactly one of these must be specified:
- --duration=DURATION
Alternate way of specifying time in the number of seconds to terminate capacity request relative to the start time of a request.
- --end-time=END_TIME
End time of the Future Reservation. The end time must be an RFC3339 valid string formatted by date, time, and timezone or "YYYY-MM-DDTHH:MM:SSZ"; where YYYY = year, MM = month, DD = day, HH = hours, MM = minutes, SS = seconds, and Z = timezone (i.e. 2021-11-20T07:00:00Z).
- --description=DESCRIPTION
An optional description of the reservation to create.
- --name-prefix=NAME_PREFIX
User provided name prefix for system generated reservations when capacity is delivered at start time.
- --planning-status=PLANNING_STATUS
The planning status of the future reservation. The default value is DRAFT. While in DRAFT, any changes to the future reservation's properties will be allowed. If set to SUBMITTED, the future reservation will submit and its procurementStatus will change to PENDING_APPROVAL. Once the future reservation is pending approval, changes to the future reservation's properties will not be allowed. PLANNING_STATUS must be one of:
- DRAFT
Default planning status value.
- SUBMITTED
Planning status value to immediately submit the future reservation.
- --zone=ZONE
Zone of the future reservation to create. If not specified and the compute/zone property isn't set, you might be prompted to select a zone (interactive mode only).
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 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.
- Manage the properties of a shared reservation.
- --share-setting=SHARE_SETTING
Specify if this reservation is shared, and if so, the type of sharing. If you omit this flag, this value is local (not shared) by default. SHARE_SETTING must be one of: local, projects.
- --share-with=PROJECT,[PROJECT,...]
If this reservation is shared (--share-setting is not local), provide a list of all of the specific projects that this reservation is shared with. List must contain project IDs or project numbers.
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.
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.