NAME
    gcloud compute commitments create - create Compute Engine commitments

SYNOPSIS
    gcloud compute commitments create COMMITMENT --plan=PLAN
        (--resources=[local-ssd=LOCAL-SSD],[memory=MEMORY],[vcpu=VCPU]
          --resources-accelerator=[count=COUNT],[type=TYPE]) [--auto-renew]
        [--region=REGION] [--type=TYPE; default="general-purpose"]
        [--reservations-from-file=RESERVATIONS_FROM_FILE
          | [--reservation=RESERVATION : --reservation-zone=RESERVATION_ZONE
          --accelerator=[count=COUNT],[type=TYPE]
          --local-ssd=[interface=INTERFACE],[size=SIZE]
          --machine-type=MACHINE_TYPE --min-cpu-platform=MIN_CPU_PLATFORM
          --require-specific-reservation --vm-count=VM_COUNT
          --share-setting=SHARE_SETTING
          --share-with=SHARE_WITH,[SHARE_WITH,...]]] [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    Create Compute Engine commitments.

EXAMPLES
    To create a commitment called commitment-1 in the us-central1 region, with
    a 12-month plan, 9GB of memory and 4 vcpu cores, run:

        $ gcloud compute commitments create commitment-1 --plan=12-month \
            --resources=memory=9GB,vcpu=4 --region=us-central1

POSITIONAL ARGUMENTS
     COMMITMENT
        Name of the commitment to create.

REQUIRED FLAGS
     --plan=PLAN
        Duration of the commitment. PLAN must be one of: 12-month, 36-month.

     Manage the commitment for particular resources.

     At least one of these must be specified:

       --resources=[local-ssd=LOCAL-SSD],[memory=MEMORY],[vcpu=VCPU]
          Resources to be included in the commitment. For details and examples
          of valid specifications, refer to the custom machine type guide
          (https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications).
           memory
              The size of the memory, should include units (e.g. 3072MB or
              9GB). If no units are specified, GB is assumed.
           vcpu
              The number of the vCPU cores.
           local-ssd
              The size of local SSD.

       --resources-accelerator=[count=COUNT],[type=TYPE]
          Manage the configuration of the type and number of accelerator cards
          to include in the commitment.
           count
              The number of accelerators to include.
           type
              The specific type (e.g. nvidia-tesla-k80 for NVIDIA Tesla K80) of
              the accelerator. Use gcloud compute accelerator-types list to
              learn about all available accelerator types.

OPTIONAL FLAGS
     --auto-renew
        Enable auto renewal for the commitment.

     --region=REGION
        Region of the commitment 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
        compute/region property:

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

     --type=TYPE; default="general-purpose"
        Type of commitment. memory-optimized indicates that the commitment is
        for memory-optimized VMs. TYPE must be one of: accelerator-optimized,
        compute-optimized, compute-optimized-c2d, general-purpose,
        general-purpose-e2, general-purpose-n2, general-purpose-n2d,
        general-purpose-t2d, memory-optimized.

     Manage the reservations to be created with the commitment.

     At most one of these can be specified:

       --reservations-from-file=RESERVATIONS_FROM_FILE
          Path to a YAML file of multiple reservations' configuration.

       Manage the reservation to be created with the commitment.

         --reservation=RESERVATION
            Name of the reservation to operate on.

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

         --reservation-zone=RESERVATION_ZONE
            Zone of the reservation to operate on. 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 specific SKU reservation properties to create.

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

           --machine-type=MACHINE_TYPE
              The type of machine (name only) which has a fixed number of vCPUs
              and a fixed amount of memory. This also includes specifying
              custom machine type following
              custom-number_of_CPUs-amount_of_memory pattern, e.g.
              custom-32-29440.

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

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

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

         Manage the properties of a shared reservation to create

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

           --share-with=SHARE_WITH,[SHARE_WITH,...]
              If this reservation is shared (--share-setting is not local),
              provide a list of all of the specific projects or folders that
              this reservation is shared with. List must contain project IDs or
              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
    These variants are also available:

        $ gcloud alpha compute commitments create

        $ gcloud beta compute commitments create

