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

SYNOPSIS
    gcloud beta compute future-reservations create FUTURE_RESERVATION
        --[no-]auto-delete-auto-created-reservations
        (--source-instance-template=SOURCE_INSTANCE_TEMPLATE
          | [--machine-type=MACHINE_TYPE
          : --accelerator=[count=COUNT],[type=TYPE]
          --local-ssd=[count=COUNT],[interface=INTERFACE],[size=SIZE]
          --min-cpu-platform=MIN_CPU_PLATFORM] | [--tpu-version=TPU_VERSION
          : --chip-count=CHIP_COUNT --workload-type=WORKLOAD_TYPE])
        (--start-time=START_TIME (--duration=DURATION | --end-time=END_TIME))
        [--deployment-type=DEPLOYMENT_TYPE] [--description=DESCRIPTION]
        [--name-prefix=NAME_PREFIX] [--planning-status=PLANNING_STATUS]
        [--[no-]require-specific-reservation]
        [--reservation-mode=RESERVATION_MODE]
        [--reservation-name=RESERVATION_NAME]
        [--resource-manager-tags=[KEY=VALUE,...]]
        [--scheduling-type=SCHEDULING_TYPE] [--total-count=TOTAL_COUNT]
        [--zone=ZONE]
        [--auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME | --auto-created-reservations-duration=AUTO_CREATED_RESERVATIONS_DURATION]
        [--commitment-name=COMMITMENT_NAME --commitment-plan=COMMITMENT_PLAN
          --previous-commitment-terms=PREVIOUS_COMMITMENT_TERMS]
        [--share-setting=SHARE_SETTING --share-with=PROJECT,[PROJECT,...]]
        [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    (BETA) Create a Compute Engine reservation.

EXAMPLES
    To create a Compute Engine future reservation by specifying VM properties
    using an instance template, run:

        $ gcloud beta 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 beta 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
     --[no-]auto-delete-auto-created-reservations
        If specified, the auto-created reservations for a future reservation
        are deleted at the end time (default) or at a specified delete time.
        Use --auto-delete-auto-created-reservations to enable and
        --no-auto-delete-auto-created-reservations to disable.

     To create a future reservation request, specify the properties of the
     resources that you want to reserve and when you want to start using them.
     After the request is approved, Compute Engine automatically creates
     reservations for your requested resources at your specified start time.

     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.

       Or at least one of these can be specified:

         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. If you don't specify
                this argument, then the default value is 1.

         --min-cpu-platform=MIN_CPU_PLATFORM
            Optional minimum CPU platform of the reservation to create.

       Or at least one of these can be specified:

         You must define the version and number of TPUs to reserve.

         --tpu-version=TPU_VERSION
            The version of Cloud TPU to reserve. TPU_VERSION must be one of:

             TPU7X
                Cloud TPU v7x
             V5E
                Cloud TPU v5e Lite
             V5P
                Cloud TPU v5p
             V6E
                Cloud TPU v6e

            This flag argument must be specified if any of the other arguments
            in this group are specified.

         --chip-count=CHIP_COUNT
            The number of chips to reserve.

         --workload-type=WORKLOAD_TYPE
            The workload type of the TPU reservation. WORKLOAD_TYPE must be one
            of:

             BATCH
                Reserved resources will be optimized for BATCH workloads, such
                as ML training.
             SERVING
                Reserved resources will be optimized for SERVING workloads,
                such as ML inference

     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
     --deployment-type=DEPLOYMENT_TYPE
        The deployment type for the reserved capacity. DEPLOYMENT_TYPE must be
        one of:

         DENSE
            DENSE mode is for densely deployed reservation blocks.
         FLEXIBLE
            FLEXIBLE mode is for highly flexible, logical reservation blocks.

     --description=DESCRIPTION
        An optional description of the future reservation to create.

     --name-prefix=NAME_PREFIX
        A name prefix for the auto-created reservations when capacity is
        delivered at the start time. Each auto-created reservation name starts
        with the name prefix.

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

     --[no-]require-specific-reservation
        Indicate whether the auto-created reservations can be consumed by VMs
        with "any reservation" defined. If enabled, then only VMs that target
        the auto-created reservation by name using
        --reservation-affinity=specific can consume from this reservation.
        Auto-created reservations delivered with this flag enabled will inherit
        the name of the future reservation. Use --require-specific-reservation
        to enable and --no-require-specific-reservation to disable.

     --reservation-mode=RESERVATION_MODE
        The mode of the reservation. RESERVATION_MODE must be one of:

         CALENDAR
            This indicates to create a future reservation in calendar mode,
            which is ideal for reserving GPU VMs. The auto-created reservations
            for the future reservation are automatically deleted at the end of
            the reservation period.
         DEFAULT
            This indicates to create a standard future reservation. If you want
            to automatically delete the auto-created reservations, then you
            must use the --auto-delete-auto-created-reservations flag.

     --reservation-name=RESERVATION_NAME
        Name of reservations where the capacity is provisioned at the time of
        delivery of future reservations. If the reservation with the given name
        does not exist already, it is created automatically at the time of
        Approval with INACTIVE state till specified start-time. Either provide
        the reservation_name or a name_prefix.

     --resource-manager-tags=[KEY=VALUE,...]
        Resource manager tags to be bound to the future reservation.

     --scheduling-type=SCHEDULING_TYPE
        Maintenance for the reserved capacity. SCHEDULING_TYPE must be one of:

         GROUPED
            In GROUPED mode, maintenance on all reserved instances is
            synchronized.
         INDEPENDENT
            In INDEPENDENT mode, maintenance is not synchronized for this
            reservation, and each instance has its own maintenance window.

     --total-count=TOTAL_COUNT
        The total number of instances for which capacity assurance is requested
        at a future time period.

     --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 auto-delete time properties.

     At most one of these can be specified:

       --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME
          Automatically deletes an auto-created reservations at a specific
          time. The specified time must be an RFC3339 timestamp, which must be
          formatted as "YYYY-MM-DDTHH:MM:SSZ" where YYYY = year, MM = month, DD
          = day, HH = hours, MM = minutes, SS = seconds, and Z = time zone in
          Coordinated Universal Time (UTC). For example, specify
          2021-11-20T07:00:00Z.

       --auto-created-reservations-duration=AUTO_CREATED_RESERVATIONS_DURATION
          Automatically deletes an auto-created reservations after a specified
          number of days, hours, minutes, or seconds. For example, specify 30m
          for 30 minutes, or 1d2h3m4s for 1 day, 2 hours, 3 minutes, and 4
          seconds. For more information, see $ gcloud topic datetimes.

     Manage the commitment info properties

     --commitment-name=COMMITMENT_NAME
        Name of commitment covering the delivered reservation at the time of
        delivery of future reservations. If not specified, it takes the name of
        the future reservation.

     --commitment-plan=COMMITMENT_PLAN
        The plan for this commitment to be created, which determines duration
        and discount rate. The currently supported plans are TWELVE_MONTH (1
        year), and THIRTY_SIX_MONTH (3 years). COMMITMENT_PLAN must be one of:
        TWELVE_MONTH, THIRTY_SIX_MONTH.

     --previous-commitment-terms=PREVIOUS_COMMITMENT_TERMS
        Applicable only if future reservation will deliver to an existing
        reservation with a ramp plan. When set to EXTEND, all associated parent
        Committed Used Discount's end-date/term will be extended to the
        end-time of this future reservation. Default is to extend previous
        commitment's time to the end_time of the reservation.
        PREVIOUS_COMMITMENT_TERMS must be (only one value is supported):
        EXTEND.

     Manage the properties of a shared reservation.

     --share-setting=SHARE_SETTING
        Specify if this future reservation is shared, and if so, the type of
        sharing. If you omit this flag, this value is local by default.
        SHARE_SETTING must be one of: local, projects.

     --share-with=PROJECT,[PROJECT,...]
        If this future reservation is shared, provide a comma-separated list of
        projects that this future reservation is shared with. The 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 beta and might change without notice. These
    variants are also available:

        $ gcloud compute future-reservations create

        $ gcloud alpha compute future-reservations create

