Skip to main content

region_commitments

Creates, updates, deletes, gets or lists a region_commitments resource.

Overview

Nameregion_commitments
TypeResource
Idgoogle.compute.region_commitments

Fields

NameDatatypeDescription
idstring[Output Only] The unique identifier for the resource. This identifier is defined by the server.
namestringName of the resource. Provided by the client when the resource is created. 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.
descriptionstringAn optional description of this resource. Provide this property when you create the resource.
autoRenewbooleanSpecifies whether to enable automatic renewal for the commitment. The default value is false if not specified. The field can be updated until the day of the commitment expiration at 12:00am PST. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment.
categorystringThe category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
creationTimestampstring[Output Only] Creation timestamp in RFC3339 text format.
endTimestampstring[Output Only] Commitment end time in RFC3339 text format.
existingReservationsarraySpecifies the already existing reservations to attach to the Commitment. This field is optional, and it can be a full or partial URL. For example, the following are valid URLs to an reservation: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /reservations/reservation - projects/project/zones/zone/reservations/reservation
kindstring[Output Only] Type of the resource. Always compute#commitment for commitments.
licenseResourceobjectCommitment for a particular license resource.
mergeSourceCommitmentsarrayList of source commitments to be merged into a new commitment.
planstringThe plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
regionstring[Output Only] URL of the region where this commitment may be used.
reservationsarrayList of create-on-create reservations for this commitment.
resourcesarrayA list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.
selfLinkstring[Output Only] Server-defined URL for the resource.
splitSourceCommitmentstringSource commitment to be split into a new commitment.
startTimestampstring[Output Only] Commitment start time in RFC3339 text format.
statusstring[Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
statusMessagestring[Output Only] An optional, human-readable explanation of the status.
typestringThe type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.

Methods

NameAccessible byRequired ParamsDescription
aggregated_listSELECTprojectRetrieves an aggregated list of commitments by region. To prevent failure, Google recommends that you set the returnPartialSuccess parameter to true.
getSELECTcommitment, project, regionReturns the specified commitment resource.
listSELECTproject, regionRetrieves a list of commitments contained within the specified region.
insertINSERTproject, regionCreates a commitment in the specified project using the data included in the request.
updateUPDATEcommitment, project, regionUpdates the specified commitment with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: auto_renew.

SELECT examples

Retrieves an aggregated list of commitments by region. To prevent failure, Google recommends that you set the returnPartialSuccess parameter to true.

SELECT
id,
name,
description,
autoRenew,
category,
creationTimestamp,
endTimestamp,
existingReservations,
kind,
licenseResource,
mergeSourceCommitments,
plan,
region,
reservations,
resources,
selfLink,
splitSourceCommitment,
startTimestamp,
status,
statusMessage,
type
FROM google.compute.region_commitments
WHERE project = '{{ project }}';

INSERT example

Use the following StackQL query and manifest file to create a new region_commitments resource.

/*+ create */
INSERT INTO google.compute.region_commitments (
project,
region,
name,
description,
region,
status,
statusMessage,
plan,
startTimestamp,
endTimestamp,
resources,
type,
reservations,
category,
licenseResource,
autoRenew,
mergeSourceCommitments,
splitSourceCommitment,
existingReservations
)
SELECT
'{{ project }}',
'{{ region }}',
'{{ name }}',
'{{ description }}',
'{{ region }}',
'{{ status }}',
'{{ statusMessage }}',
'{{ plan }}',
'{{ startTimestamp }}',
'{{ endTimestamp }}',
'{{ resources }}',
'{{ type }}',
'{{ reservations }}',
'{{ category }}',
'{{ licenseResource }}',
{{ autoRenew }},
'{{ mergeSourceCommitments }}',
'{{ splitSourceCommitment }}',
'{{ existingReservations }}'
;

UPDATE example

Updates a region_commitments resource.

/*+ update */
UPDATE google.compute.region_commitments
SET
name = '{{ name }}',
description = '{{ description }}',
region = '{{ region }}',
status = '{{ status }}',
statusMessage = '{{ statusMessage }}',
plan = '{{ plan }}',
startTimestamp = '{{ startTimestamp }}',
endTimestamp = '{{ endTimestamp }}',
resources = '{{ resources }}',
type = '{{ type }}',
reservations = '{{ reservations }}',
category = '{{ category }}',
licenseResource = '{{ licenseResource }}',
autoRenew = true|false,
mergeSourceCommitments = '{{ mergeSourceCommitments }}',
splitSourceCommitment = '{{ splitSourceCommitment }}',
existingReservations = '{{ existingReservations }}'
WHERE
commitment = '{{ commitment }}'
AND project = '{{ project }}'
AND region = '{{ region }}';