v1

latestOpenAPI 3.0.0Creative Commons Attribution 3.02026-07-131,0021,0174.3 MB
regionCommitments

Creates a commitment in the specified project using the data included in the request.

post/projects/{project}/regions/{region}/commitments

Path parameters

projectstring required

Project ID for this request.

regionstring required

Name of the region for this request.

Query parameters

requestIdstring

An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

Request body

namestring

Name of the commitment. You must specify a name when you purchase the commitment. The name must be 1-63 characters long, and comply withRFC1035. 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.

kindstring

Output only. [Output Only] Type of the resource. Always compute#commitment for commitments.

descriptionstring

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

regionstring

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

category'CATEGORY_UNSPECIFIED' | 'LICENSE' | 'MACHINE'

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

plan'INVALID' | 'THIRTY_SIX_MONTH' | 'TWELVE_MONTH'

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), andTHIRTY_SIX_MONTH (3 years).

customEndTimestampstring

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

creationTimestampstring

Output only. [Output Only] Creation timestamp inRFC3339 text format.

startTimestampstring

Output only. [Output Only] Commitment start time inRFC3339 text format.

autoRenewboolean

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.

endTimestampstring

Output only. [Output Only] Commitment end time inRFC3339 text format.

type'ACCELERATOR_OPTIMIZED' | 'ACCELERATOR_OPTIMIZED_A3' | 'ACCELERATOR_OPTIMIZED_A3_MEGA' | 'ACCELERATOR_OPTIMIZED_A3_ULTRA' | 'ACCELERATOR_OPTIMIZED_A4' | 'COMPUTE_OPTIMIZED' | 'COMPUTE_OPTIMIZED_C2D' | 'COMPUTE_OPTIMIZED_C3' | 'COMPUTE_OPTIMIZED_C3D' | 'COMPUTE_OPTIMIZED_H3' | 'COMPUTE_OPTIMIZED_H4D' | 'GENERAL_PURPOSE' | 'GENERAL_PURPOSE_C4' | 'GENERAL_PURPOSE_C4A' | 'GENERAL_PURPOSE_C4D' | 'GENERAL_PURPOSE_E2' | 'GENERAL_PURPOSE_N2' | 'GENERAL_PURPOSE_N2D' | 'GENERAL_PURPOSE_N4' | 'GENERAL_PURPOSE_N4A' | 'GENERAL_PURPOSE_N4D' | 'GENERAL_PURPOSE_T2D' | 'GRAPHICS_OPTIMIZED' | 'GRAPHICS_OPTIMIZED_G4' | 'GRAPHICS_OPTIMIZED_G4_VGPU' | 'MEMORY_OPTIMIZED' | 'MEMORY_OPTIMIZED_M3' | 'MEMORY_OPTIMIZED_M4' | 'MEMORY_OPTIMIZED_M4_6TB' | 'MEMORY_OPTIMIZED_X4_1440_24T' | 'MEMORY_OPTIMIZED_X4_16TB' | 'MEMORY_OPTIMIZED_X4_1920_32T' | 'MEMORY_OPTIMIZED_X4_24TB' | 'MEMORY_OPTIMIZED_X4_32TB' | 'MEMORY_OPTIMIZED_X4_480_6T' | 'MEMORY_OPTIMIZED_X4_480_8T' | 'MEMORY_OPTIMIZED_X4_960_12T' | 'MEMORY_OPTIMIZED_X4_960_16T' | 'STORAGE_OPTIMIZED_Z3' | 'TYPE_UNSPECIFIED'

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, GRAPHICS_OPTIMIZED_G4,GRAPHICS_OPTIMIZED_G4_VGPU,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.

statusMessagestring

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

selfLinkstring

Output only. [Output Only] Server-defined URL for the resource.

mergeSourceCommitmentsstring[]

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

status'ACTIVE' | 'CANCELLED' | 'CREATING' | 'EXPIRED' | 'NOT_YET_ACTIVE'

Output only. [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, orEXPIRED.

splitSourceCommitmentstring

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

idstring uint64

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

existingReservationsstring[]

Response

Successful response