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

SYNOPSIS
    gcloud alpha compute reservations create RESERVATION
        (--vm-count=VM_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])
          : --require-specific-reservation --resource-policies=[KEY=VALUE,...])
        [--description=DESCRIPTION]
        [--reservation-sharing-policy=RESERVATION_SHARING_POLICY]
        [--resource-manager-tags=[KEY=VALUE,...]] [--zone=ZONE]
        [--delete-after-duration=DELETE_AFTER_DURATION
          | --delete-at-time=DELETE_AT_TIME]
        [--share-setting=SHARE_SETTING
          --share-with=SHARE_WITH,[SHARE_WITH,...]] [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    (ALPHA) Create a Compute Engine reservation.

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

        $ gcloud alpha compute reservations create my-reservation \
          --vm-count=1 \
          --source-instance-template=example-instance-template \
          --zone=fake-zone

    To create a Compute Engine reservation by directly specifying VM
    properties, run:

        $ gcloud alpha compute reservations create my-reservation \
          --vm-count=1 --machine-type=custom-8-10240 \
          --min-cpu-platform="Intel Haswell" \
          --accelerator=count=2,type=nvidia-tesla-v100 \
          --local-ssd=size=375,interface=scsi --zone=fake-zone

POSITIONAL ARGUMENTS
     RESERVATION
        Name of the reservation to create.

REQUIRED FLAGS
     Manage the SpecificSKU reservation properties.

     This must be specified.

       --vm-count=VM_COUNT
          The number of VM instances that are allocated to this reservation.
          The value of this field must be an int in the range [1, 1000].

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

       --require-specific-reservation
          Indicates whether the reservation can be consumed by VMs with "any
          reservation" defined. If enabled, then only VMs that target this
          reservation by name using --reservation-affinity=specific can consume
          from this reservation.

       --resource-policies=[KEY=VALUE,...]
          The resource policies to include in this reservation. If you omit
          this flag, no resource policies are added. You can specify any string
          as the key, and specify the name of a resource policy as the value.

       Manage the instance properties for the SpecificSKU reservation.

       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 the individual instance properties for the SpecificSKU
           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.

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

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

     --reservation-sharing-policy=RESERVATION_SHARING_POLICY
        The reservation sharing policy to use for this reservation.
        RESERVATION_SHARING_POLICY must be one of:

         ALLOW_ALL
            The reservation can be shared with Google Cloud services.
         DISALLOW_ALL
            The reservation won't be shared with Google Cloud services. If you
            omit this flag during creation, the default value is DISALLOW_ALL.

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

     --zone=ZONE
        Zone of the 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 auto-delete properties for reservations.

     At most one of these can be specified:

       --delete-after-duration=DELETE_AFTER_DURATION
          Automatically deletes the reservations after a specified number of
          days, hours, minutes, or seconds from its creation. 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.

       --delete-at-time=DELETE_AT_TIME
          Automatically deletes the reservation at a specific time from its
          creation. 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.

     Manage the properties of a shared reservation.

     --share-setting=SHARE_SETTING
        The projects that can use the reservation. SHARE_SETTING must be one
        of:

         folders
            Any project on the specified list of folders can use the
            reservation.
         local
            Only your project can use the reservation. This is the default
            value.
         projects
            Your project and up to 100 other projects within your project's
            organization can use the reservation. If you specify this value,
            then you must also include the --share-with flag in the command.

     --share-with=SHARE_WITH,[SHARE_WITH,...]
        If this reservation is shared (--share-setting=projects), then specify
        a comma-separated list of projects to share the reservation with. List
        projects using project IDs, project numbers, or folder IDs.

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 reservations create

        $ gcloud beta compute reservations create

