NAME
    gcloud alpha compute future-reservations create - create a Compute Engine
        future reservation

SYNOPSIS
    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 ...]

DESCRIPTION
    (ALPHA) Create a Compute Engine future reservation.

EXAMPLES
    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

POSITIONAL ARGUMENTS
     FUTURE_RESERVATION
        Name of the future reservation to create.

REQUIRED FLAGS
     --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 one of:

             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.
             RECURRENT
                VMs receive infrastructure and hypervisor updates on a periodic
                basis, minimizing the number of maintenance operations (live
                migrations or terminations) on an individual VM. This may mean
                a VM will take longer to receive an update than if it was
                configured for AS_NEEDED. Security updates will still be
                applied as soonas they are available. RECURRENT is used for
                GEN3 and Sliceof Hardware VMs.

         --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).

OPTIONAL FLAGS
     --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.

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.

