REST Resource: regionCommitments

Resource: Commitment

Represents a regional resource-based commitment resource.

Creating this commitment resource means that you are purchasing a resource-based committed use contract, with an explicit start and end time. You can purchase resource-based commitments for both hardware and software resources. For more information, read Resource-based committed use discounts

JSON representation
{
  "kind": string,
  "id": string,
  "creationTimestamp": string,
  "name": string,
  "description": string,
  "region": string,
  "selfLink": string,
  "status": enum (Status),
  "statusMessage": string,
  "plan": enum (Plan),
  "startTimestamp": string,
  "endTimestamp": string,
  "category": enum (Category),
  "resources": [
    {
      object (ResourceCommitment)
    }
  ],
  "type": enum (Type),
  "reservations": [
    {
      object (Reservation)
    }
  ],
  "licenseResource": {
    object (LicenseResourceCommitment)
  },
  "autoRenew": boolean,
  "mergeSourceCommitments": [
    string
  ],
  "splitSourceCommitment": string,
  "resourceStatus": {
    object (ResourceStatus)
  },
  "existingReservations": [
    string
  ],
  "customEndTimestamp": string
}
Fields
kind

string

[Output Only] Type of the resource. Always

compute#commitment

for commitments.

id

string (uint64 format)

[Output Only] The unique identifier for the resource. This identifier is defined by the server.

creationTimestamp

string

[Output Only] Creation timestamp in RFC3339 text format.

name

string

Name of the commitment. You must specify a name when you purchase the commitment. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

description

string

An optional description of the commitment. You can provide this property when you create the resource.

region

string

[Output Only] URL of the region where the commitment and committed resources are located.

status

enum (Status)

[Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). Status can be one of the following values:

NOT_YET_ACTIVE

,

ACTIVE, or EXPIRED

.

statusMessage

string

[Output Only] An optional, human-readable explanation of the status.

plan

enum (Plan)

The minimum time duration that you commit to purchasing resources. The plan that you choose determines the preset term length of the commitment (which is 1 year or 3 years) and affects the discount rate that you receive for your resources. Committing to a longer time duration typically gives you a higher discount rate. The supported values for this field are

TWELVE_MONTH

(1 year), and

THIRTY_SIX_MONTH

(3 years).

startTimestamp

string

[Output Only] Commitment start time in RFC3339 text format.

endTimestamp

string

[Output Only] Commitment end time in RFC3339 text format.

category

enum (Category)

The category of the commitment; specifies whether the commitment is for hardware or software resources. Category

MACHINE

specifies that you are committing to hardware machine resources such as

VCPU

or

MEMORY

, listed in

resources

. Category

LICENSE

specifies that you are committing to software licenses, listed in

licenseResources

. Note that if you specify

MACHINE

commitments, then you must also specify a

type

to indicate the machine series of the hardware resource that you are committing to.

resources[]

object (ResourceCommitment)

The list of all the hardware resources, with their types and amounts, that you want to commit to. Specify as a separate entry in the list for each individual resource type.

type

enum (Type)

The type of commitment; specifies the machine series for which you want to commit to purchasing resources. The choice of machine series affects the discount rate and the eligible resource types.

The type must be one of the following:

ACCELERATOR_OPTIMIZED

,

ACCELERATOR_OPTIMIZED_A3

,

ACCELERATOR_OPTIMIZED_A3_MEGA

,

COMPUTE_OPTIMIZED

,

COMPUTE_OPTIMIZED_C2D

,

COMPUTE_OPTIMIZED_C3

,

COMPUTE_OPTIMIZED_C3D

,

COMPUTE_OPTIMIZED_H3

,

GENERAL_PURPOSE

,

GENERAL_PURPOSE_C4

,

GENERAL_PURPOSE_E2

,

GENERAL_PURPOSE_N2

,

GENERAL_PURPOSE_N2D

,

GENERAL_PURPOSE_N4

,

GENERAL_PURPOSE_T2D

,

GRAPHICS_OPTIMIZED

,

MEMORY_OPTIMIZED

,

MEMORY_OPTIMIZED_M3

,

MEMORY_OPTIMIZED_X4

,

STORAGE_OPTIMIZED_Z3

. For example, type

MEMORY_OPTIMIZED

specifies a commitment that applies only to eligible resources of memory optimized M1 and M2 machine series. Type

GENERAL_PURPOSE

specifies a commitment that applies only to eligible resources of general purpose N1 machine series.

reservations[]

object (Reservation)

The list of new reservations that you want to create and attach to this commitment.

You must attach reservations to your commitment if your commitment specifies any GPUs or Local SSD disks. For more information, see Attach reservations to resource-based commitments.

Specify this property only if you want to create new reservations to attach. To attach existing reservations, specify the

existingReservations

property instead.

licenseResource

object (LicenseResourceCommitment)

The license specification required as part of a license commitment.

autoRenew

boolean

Specifies whether to automatically renew the commitment at the end of its current term. The default value is

false

. If you set the field to

true

, each time your commitment reaches the end of its term, Compute Engine automatically renews it for another term. You can update this field anytime before the commitment expires. For example, if the commitment is set to expire at 12 AM UTC-8 on January 3, 2027, you can update this field until 11:59 PM UTC-8 on January 2, 2027.

mergeSourceCommitments[]

string

The list of source commitments that you are merging to create the new merged commitment. For more information, see Merging commitments.

splitSourceCommitment

string

The source commitment from which you are transferring resources to create the new split commitment. For more information, see Split commitments.

resourceStatus

object (ResourceStatus)

[Output Only] Status information for Commitment resource.

existingReservations[]

string

customEndTimestamp

string

[Input Only] Optional, specifies the requested commitment end time in RFC3339 text format. Use this option when the desired commitment's end date is later than the start date + term duration.

Status

Status of the commitment with regards to eventual expiration (each commitment has an end date defined).

Enums
CREATING
ACTIVE
EXPIRED
NOT_YET_ACTIVE
CANCELLED Deprecate CANCELED status. Will use separate status to differentiate cancel by mergeCud or manual cancellation.

Plan

Plan (may affect e.g. discount)

Enums
INVALID
TWELVE_MONTH
THIRTY_SIX_MONTH

Category

Enums
CATEGORY_UNSPECIFIED
MACHINE
LICENSE

ResourceCommitment

Commitment for a particular hardware resource (a commitment is composed of one or more of these).

JSON representation
{
  "type": enum (Type),
  "amount": string,
  "acceleratorType": string
}
Fields
type

enum (Type)

The type of hardware resource that you want to specify. You can specify any of the following values:

  • VCPU

  • MEMORY

  • LOCAL_SSD

  • ACCELERATOR

Specify as a separate entry in the list for each individual resource type.

amount

string (int64 format)

The quantity of the hardware resource that you want to commit to purchasing (in a type-dependent unit).

  • For vCPUs, you must specify an integer value.
  • For memory, you specify the amount of MB that you want. The value you specify must be a multiple of 256 MB, with up to 6.5 GB of memory per every vCPU.
  • For GPUs, you must specify an integer value.
  • For Local SSD disks, you must specify the amount in GB. The size of a single Local SSD disk is 375 GB.

acceleratorType

string

Name of the accelerator type or GPU resource. Specify this field only when the type of hardware resource is ACCELERATOR.

Type

Types of hardware resources that are specified in the commitment.

Enums
UNSPECIFIED
VCPU
MEMORY
LOCAL_SSD
ACCELERATOR

Type

next ID: 52

Enums
TYPE_UNSPECIFIED Note for internal users: When adding a new enum Type for v1, make sure to also add it in the comment for the optional Type type definition. This ensures that the public documentation displays the new enum Type.
GENERAL_PURPOSE
MEMORY_OPTIMIZED
COMPUTE_OPTIMIZED
GENERAL_PURPOSE_N2
GENERAL_PURPOSE_E2
GENERAL_PURPOSE_N2D
ACCELERATOR_OPTIMIZED
COMPUTE_OPTIMIZED_C2D
GENERAL_PURPOSE_T2D
COMPUTE_OPTIMIZED_C3
MEMORY_OPTIMIZED_M3
ACCELERATOR_OPTIMIZED_A3
GRAPHICS_OPTIMIZED
COMPUTE_OPTIMIZED_C3D
COMPUTE_OPTIMIZED_H3
GENERAL_PURPOSE_C4
GENERAL_PURPOSE_N4
STORAGE_OPTIMIZED_Z3
GENERAL_PURPOSE_C4A
ACCELERATOR_OPTIMIZED_A3_MEGA
ACCELERATOR_OPTIMIZED_A4
MEMORY_OPTIMIZED_X4_16TB
MEMORY_OPTIMIZED_X4_24TB
MEMORY_OPTIMIZED_X4_32TB
ACCELERATOR_OPTIMIZED_A3_ULTRA
MEMORY_OPTIMIZED_M4
COMPUTE_OPTIMIZED_H4D
GENERAL_PURPOSE_C4D
MEMORY_OPTIMIZED_M4_6TB

LicenseResourceCommitment

Commitment for a particular license resource.

JSON representation
{
  "license": string,
  "amount": string,
  "coresPerLicense": string
}
Fields
license

string

The applicable license URI.

amount

string (int64 format)

The number of licenses you plan to purchase.

coresPerLicense

string

The number of cores per license.

ResourceStatus

[Output Only] Contains output only fields.

JSON representation
{
  "customTermEligibilityEndTimestamp": string
}
Fields
customTermEligibilityEndTimestamp

string

[Output Only] Indicates the end time of customer's eligibility to send custom term requests in RFC3339 text format. Term extension requests that (not the end time in the request) after this time will be rejected.

Methods

aggregatedList

The method compute.beta.RegionCommitmentsService.AggregatedList is not available in Trusted Cloud by S3NS.

get

The method compute.beta.RegionCommitmentsService.Get is not available in Trusted Cloud by S3NS.

insert

The method compute.beta.RegionCommitmentsService.Insert is not available in Trusted Cloud by S3NS.

list

The method compute.beta.RegionCommitmentsService.List is not available in Trusted Cloud by S3NS.

testIamPermissions

The method compute.beta.RegionCommitmentsService.TestPermissions is not available in Trusted Cloud by S3NS.

update

The method compute.beta.RegionCommitmentsService.Update is not available in Trusted Cloud by S3NS.

updateReservations

The method compute.beta.RegionCommitmentsService.UpdateAllocations is not available in Trusted Cloud by S3NS.