future_reservations
Creates, updates, deletes, gets or lists a future_reservations resource.
Overview
| Name | future_reservations |
| Type | Resource |
| Id | google.compute.future_reservations |
Fields
The following fields are returned by SELECT queries:
- get
- list
- aggregated_list
| Name | Datatype | Description |
|---|---|---|
id | string (uint64) | Output only. [Output Only] A unique identifier for this future reservation. The server defines this identifier. |
name | string | The name of the resource, provided by the client when initially creating the resource. The resource 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. (pattern: [a-z](?:[-a-z0-9]{0,61}[a-z0-9])?) |
aggregateReservation | object | Aggregate reservation details for the future reservation. (id: AllocationAggregateReservation) |
autoCreatedReservationsDeleteTime | string | Future timestamp when the FR auto-created reservations will be deleted by Compute Engine. Format of this field must be a valid href="https://www.ietf.org/rfc/rfc3339.txt">RFC3339 value. |
autoCreatedReservationsDuration | object | A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. (id: Duration) |
autoDeleteAutoCreatedReservations | boolean | Setting for enabling or disabling automatic deletion for auto-created reservation. If set to true, auto-created reservations will be deleted at Future Reservation's end time (default) or at user's defined timestamp if any of the [auto_created_reservations_delete_time, auto_created_reservations_duration] values is specified. For keeping auto-created reservation indefinitely, this value should be set to false. |
commitmentInfo | object | If not present, then FR will not deliver a new commitment or update an existing commitment. (id: FutureReservationCommitmentInfo) |
confidentialComputeType | string | (CONFIDENTIAL_COMPUTE_TYPE_TDX, CONFIDENTIAL_COMPUTE_TYPE_UNSPECIFIED) |
creationTimestamp | string | Output only. [Output Only] The creation timestamp for this future reservation inRFC3339 text format. |
deploymentType | string | Type of the deployment requested as part of future reservation. (DENSE, DEPLOYMENT_TYPE_UNSPECIFIED) |
description | string | An optional description of this resource. Provide this property when you create the future reservation. |
enableEmergentMaintenance | boolean | Indicates if this group of VMs have emergent maintenance enabled. |
kind | string | Output only. [Output Only] Type of the resource. Alwayscompute#futureReservation for future reservations. (default: compute#futureReservation) |
namePrefix | string | Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####. |
params | object | Input only. Additional params passed with the request, but not persisted as part of resource payload. (id: FutureReservationParams) |
planningStatus | string | Planning state before being submitted for evaluation (DRAFT, PLANNING_STATUS_UNSPECIFIED, SUBMITTED) |
reservationMode | string | The reservation mode which determines reservation-termination behavior and expected pricing. (CALENDAR, DEFAULT, RESERVATION_MODE_UNSPECIFIED) |
reservationName | string | Name of reservations where the capacity is provisioned at the time of delivery of future reservations. If the reservation with the given name does not exist already, it is created automatically at the time of Approval with INACTIVE state till specified start-time. Either provide the reservation_name or a name_prefix. |
schedulingType | string | Maintenance information for this reservation (GROUPED, GROUP_MAINTENANCE_TYPE_UNSPECIFIED, INDEPENDENT) |
selfLink | string | Output only. [Output Only] Server-defined fully-qualified URL for this resource. |
selfLinkWithId | string | Output only. [Output Only] Server-defined URL for this resource with the resource id. |
shareSettings | object | List of Projects/Folders to share with. (id: ShareSettings) |
specificReservationRequired | boolean | Indicates whether the auto-created reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from the delivered reservation. |
specificSkuProperties | object | Future Reservation configuration to indicate instance properties and total count. (id: FutureReservationSpecificSKUProperties) |
status | object | Output only. [Output only] Status of the Future Reservation (id: FutureReservationStatus) |
timeWindow | object | Time window for this Future Reservation. (id: FutureReservationTimeWindow) |
zone | string | Output only. [Output Only] URL of the Zone where this future reservation resides. |
| Name | Datatype | Description |
|---|---|---|
id | string | [Output Only] The unique identifier for the resource. This identifier is defined by the server. |
etag | string | |
items | array | [Output Only] A list of future reservation resources. |
kind | string | Output only. [Output Only] Type of resource.Alwayscompute#FutureReservationsListResponse for lists of reservations (default: compute#futureReservationsListResponse) |
nextPageToken | string | [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. |
selfLink | string | Output only. [Output Only] Server-defined URL for this resource. |
unreachables | array | Output only. [Output Only] Unreachable resources. |
warning | object | [Output Only] Informational warning message. |
| Name | Datatype | Description |
|---|---|---|
id | string (uint64) | Output only. [Output Only] A unique identifier for this future reservation. The server defines this identifier. |
name | string | The name of the resource, provided by the client when initially creating the resource. The resource 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. (pattern: [a-z](?:[-a-z0-9]{0,61}[a-z0-9])?) |
aggregateReservation | object | Aggregate reservation details for the future reservation. (id: AllocationAggregateReservation) |
autoCreatedReservationsDeleteTime | string | Future timestamp when the FR auto-created reservations will be deleted by Compute Engine. Format of this field must be a valid href="https://www.ietf.org/rfc/rfc3339.txt">RFC3339 value. |
autoCreatedReservationsDuration | object | A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. (id: Duration) |
autoDeleteAutoCreatedReservations | boolean | Setting for enabling or disabling automatic deletion for auto-created reservation. If set to true, auto-created reservations will be deleted at Future Reservation's end time (default) or at user's defined timestamp if any of the [auto_created_reservations_delete_time, auto_created_reservations_duration] values is specified. For keeping auto-created reservation indefinitely, this value should be set to false. |
commitmentInfo | object | If not present, then FR will not deliver a new commitment or update an existing commitment. (id: FutureReservationCommitmentInfo) |
confidentialComputeType | string | (CONFIDENTIAL_COMPUTE_TYPE_TDX, CONFIDENTIAL_COMPUTE_TYPE_UNSPECIFIED) |
creationTimestamp | string | Output only. [Output Only] The creation timestamp for this future reservation inRFC3339 text format. |
deploymentType | string | Type of the deployment requested as part of future reservation. (DENSE, DEPLOYMENT_TYPE_UNSPECIFIED) |
description | string | An optional description of this resource. Provide this property when you create the future reservation. |
enableEmergentMaintenance | boolean | Indicates if this group of VMs have emergent maintenance enabled. |
kind | string | Output only. [Output Only] Type of the resource. Alwayscompute#futureReservation for future reservations. (default: compute#futureReservation) |
namePrefix | string | Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####. |
params | object | Input only. Additional params passed with the request, but not persisted as part of resource payload. (id: FutureReservationParams) |
planningStatus | string | Planning state before being submitted for evaluation (DRAFT, PLANNING_STATUS_UNSPECIFIED, SUBMITTED) |
reservationMode | string | The reservation mode which determines reservation-termination behavior and expected pricing. (CALENDAR, DEFAULT, RESERVATION_MODE_UNSPECIFIED) |
reservationName | string | Name of reservations where the capacity is provisioned at the time of delivery of future reservations. If the reservation with the given name does not exist already, it is created automatically at the time of Approval with INACTIVE state till specified start-time. Either provide the reservation_name or a name_prefix. |
schedulingType | string | Maintenance information for this reservation (GROUPED, GROUP_MAINTENANCE_TYPE_UNSPECIFIED, INDEPENDENT) |
selfLink | string | Output only. [Output Only] Server-defined fully-qualified URL for this resource. |
selfLinkWithId | string | Output only. [Output Only] Server-defined URL for this resource with the resource id. |
shareSettings | object | List of Projects/Folders to share with. (id: ShareSettings) |
specificReservationRequired | boolean | Indicates whether the auto-created reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from the delivered reservation. |
specificSkuProperties | object | Future Reservation configuration to indicate instance properties and total count. (id: FutureReservationSpecificSKUProperties) |
status | object | Output only. [Output only] Status of the Future Reservation (id: FutureReservationStatus) |
timeWindow | object | Time window for this Future Reservation. (id: FutureReservationTimeWindow) |
zone | string | Output only. [Output Only] URL of the Zone where this future reservation resides. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | project, zone, futureReservation | Retrieves information about the specified future reservation. | |
list | select | project, zone | orderBy, filter, maxResults, pageToken, returnPartialSuccess | A list of all the future reservations that have been configured for the specified project in specified zone. |
aggregated_list | select | project | returnPartialSuccess, includeAllScopes, orderBy, filter, serviceProjectNumber, maxResults, pageToken | Retrieves an aggregated list of future reservations. To prevent failure, it is recommended that you set the returnPartialSuccess parameter to true. |
insert | insert | project, zone | requestId | Creates a new Future Reservation. |
update | update | project, zone, futureReservation | updateMask, requestId | Updates the specified future reservation. |
delete | delete | project, zone, futureReservation | requestId | Deletes the specified future reservation. |
cancel | exec | project, zone, futureReservation | requestId | Cancel the specified future reservation. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
futureReservation | string | |
project | string | |
zone | string | |
filter | string | |
includeAllScopes | boolean | |
maxResults | integer (uint32) | |
orderBy | string | |
pageToken | string | |
requestId | string | |
returnPartialSuccess | boolean | |
serviceProjectNumber | string (int64) | |
updateMask | string (google-fieldmask) |
SELECT examples
- get
- list
- aggregated_list
Retrieves information about the specified future reservation.
SELECT
id,
name,
aggregateReservation,
autoCreatedReservationsDeleteTime,
autoCreatedReservationsDuration,
autoDeleteAutoCreatedReservations,
commitmentInfo,
confidentialComputeType,
creationTimestamp,
deploymentType,
description,
enableEmergentMaintenance,
kind,
namePrefix,
params,
planningStatus,
reservationMode,
reservationName,
schedulingType,
selfLink,
selfLinkWithId,
shareSettings,
specificReservationRequired,
specificSkuProperties,
status,
timeWindow,
zone
FROM google.compute.future_reservations
WHERE project = '{{ project }}' -- required
AND zone = '{{ zone }}' -- required
AND futureReservation = '{{ futureReservation }}' -- required
;
A list of all the future reservations that have been configured for the
specified project in specified zone.
SELECT
id,
etag,
items,
kind,
nextPageToken,
selfLink,
unreachables,
warning
FROM google.compute.future_reservations
WHERE project = '{{ project }}' -- required
AND zone = '{{ zone }}' -- required
AND orderBy = '{{ orderBy }}'
AND filter = '{{ filter }}'
AND maxResults = '{{ maxResults }}'
AND pageToken = '{{ pageToken }}'
AND returnPartialSuccess = '{{ returnPartialSuccess }}'
;
Retrieves an aggregated list of future reservations.
To prevent failure, it is recommended that you set thereturnPartialSuccess parameter to true.
SELECT
id,
name,
aggregateReservation,
autoCreatedReservationsDeleteTime,
autoCreatedReservationsDuration,
autoDeleteAutoCreatedReservations,
commitmentInfo,
confidentialComputeType,
creationTimestamp,
deploymentType,
description,
enableEmergentMaintenance,
kind,
namePrefix,
params,
planningStatus,
reservationMode,
reservationName,
schedulingType,
selfLink,
selfLinkWithId,
shareSettings,
specificReservationRequired,
specificSkuProperties,
status,
timeWindow,
zone
FROM google.compute.future_reservations
WHERE project = '{{ project }}' -- required
AND returnPartialSuccess = '{{ returnPartialSuccess }}'
AND includeAllScopes = '{{ includeAllScopes }}'
AND orderBy = '{{ orderBy }}'
AND filter = '{{ filter }}'
AND serviceProjectNumber = '{{ serviceProjectNumber }}'
AND maxResults = '{{ maxResults }}'
AND pageToken = '{{ pageToken }}'
;
INSERT examples
- insert
- Manifest
Creates a new Future Reservation.
INSERT INTO google.compute.future_reservations (
data__deploymentType,
data__commitmentInfo,
data__schedulingType,
data__namePrefix,
data__description,
data__specificSkuProperties,
data__autoCreatedReservationsDuration,
data__name,
data__autoDeleteAutoCreatedReservations,
data__confidentialComputeType,
data__reservationName,
data__specificReservationRequired,
data__planningStatus,
data__enableEmergentMaintenance,
data__timeWindow,
data__aggregateReservation,
data__reservationMode,
data__shareSettings,
data__params,
data__autoCreatedReservationsDeleteTime,
project,
zone,
requestId
)
SELECT
'{{ deploymentType }}',
'{{ commitmentInfo }}',
'{{ schedulingType }}',
'{{ namePrefix }}',
'{{ description }}',
'{{ specificSkuProperties }}',
'{{ autoCreatedReservationsDuration }}',
'{{ name }}',
{{ autoDeleteAutoCreatedReservations }},
'{{ confidentialComputeType }}',
'{{ reservationName }}',
{{ specificReservationRequired }},
'{{ planningStatus }}',
{{ enableEmergentMaintenance }},
'{{ timeWindow }}',
'{{ aggregateReservation }}',
'{{ reservationMode }}',
'{{ shareSettings }}',
'{{ params }}',
'{{ autoCreatedReservationsDeleteTime }}',
'{{ project }}',
'{{ zone }}',
'{{ requestId }}'
RETURNING
id,
name,
clientOperationId,
creationTimestamp,
description,
endTime,
error,
getVersionOperationMetadata,
httpErrorMessage,
httpErrorStatusCode,
insertTime,
instancesBulkInsertOperationMetadata,
kind,
operationGroupId,
operationType,
progress,
region,
selfLink,
setCommonInstanceMetadataOperationMetadata,
startTime,
status,
statusMessage,
targetId,
targetLink,
user,
warnings,
zone
;
# Description fields are for documentation purposes
- name: future_reservations
props:
- name: project
value: "{{ project }}"
description: Required parameter for the future_reservations resource.
- name: zone
value: "{{ zone }}"
description: Required parameter for the future_reservations resource.
- name: deploymentType
value: "{{ deploymentType }}"
description: |
Type of the deployment requested as part of future reservation.
valid_values: ['DENSE', 'DEPLOYMENT_TYPE_UNSPECIFIED']
- name: commitmentInfo
description: |
If not present, then FR will not deliver a new commitment or update an
existing commitment.
value:
commitmentPlan: "{{ commitmentPlan }}"
commitmentName: "{{ commitmentName }}"
previousCommitmentTerms: "{{ previousCommitmentTerms }}"
- name: schedulingType
value: "{{ schedulingType }}"
description: |
Maintenance information for this reservation
valid_values: ['GROUPED', 'GROUP_MAINTENANCE_TYPE_UNSPECIFIED', 'INDEPENDENT']
- name: namePrefix
value: "{{ namePrefix }}"
description: |
Name prefix for the reservations to be created at the time of
delivery. The name prefix must comply with RFC1035.
Maximum allowed length for name prefix is 20. Automatically created
reservations name format will be -date-####.
- name: description
value: "{{ description }}"
description: |
An optional description of this resource. Provide this property when you
create the future reservation.
- name: specificSkuProperties
description: |
Future Reservation configuration to indicate instance properties and
total count.
value:
totalCount: "{{ totalCount }}"
instanceProperties:
minCpuPlatform: "{{ minCpuPlatform }}"
guestAccelerators:
- acceleratorType: "{{ acceleratorType }}"
acceleratorCount: {{ acceleratorCount }}
localSsds:
- diskSizeGb: "{{ diskSizeGb }}"
interface: "{{ interface }}"
machineType: "{{ machineType }}"
locationHint: "{{ locationHint }}"
sourceInstanceTemplate: "{{ sourceInstanceTemplate }}"
- name: autoCreatedReservationsDuration
description: |
A Duration represents a fixed-length span of time represented
as a count of seconds and fractions of seconds at nanosecond
resolution. It is independent of any calendar and concepts like "day"
or "month". Range is approximately 10,000 years.
value:
nanos: {{ nanos }}
seconds: "{{ seconds }}"
- name: name
value: "{{ name }}"
description: |
The name of the resource, provided by the client when initially creating
the resource. The resource 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.
- name: autoDeleteAutoCreatedReservations
value: {{ autoDeleteAutoCreatedReservations }}
description: |
Setting for enabling or disabling automatic deletion for auto-created
reservation. If set to true, auto-created reservations will be
deleted at Future Reservation's end time (default) or at user's defined
timestamp if any of the
[auto_created_reservations_delete_time, auto_created_reservations_duration]
values is specified.
For keeping auto-created reservation indefinitely, this value should be set
to false.
- name: confidentialComputeType
value: "{{ confidentialComputeType }}"
valid_values: ['CONFIDENTIAL_COMPUTE_TYPE_TDX', 'CONFIDENTIAL_COMPUTE_TYPE_UNSPECIFIED']
- name: reservationName
value: "{{ reservationName }}"
description: |
Name of reservations where the capacity is provisioned at the time of
delivery of future reservations. If the reservation with the given name
does not exist already, it is created automatically at the time of Approval
with INACTIVE state till specified start-time. Either provide the
reservation_name or a name_prefix.
- name: specificReservationRequired
value: {{ specificReservationRequired }}
description: |
Indicates whether the auto-created reservation can be consumed by VMs with
affinity for "any" reservation. If the field is set, then only VMs that
target the reservation by name can consume from the delivered reservation.
- name: planningStatus
value: "{{ planningStatus }}"
description: |
Planning state before being submitted for evaluation
valid_values: ['DRAFT', 'PLANNING_STATUS_UNSPECIFIED', 'SUBMITTED']
- name: enableEmergentMaintenance
value: {{ enableEmergentMaintenance }}
description: |
Indicates if this group of VMs have emergent maintenance enabled.
- name: timeWindow
description: |
Time window for this Future Reservation.
value:
endTime: "{{ endTime }}"
startTime: "{{ startTime }}"
duration:
nanos: {{ nanos }}
seconds: "{{ seconds }}"
- name: aggregateReservation
description: |
Aggregate reservation details for the future reservation.
value:
inUseResources:
- accelerator:
acceleratorCount: {{ acceleratorCount }}
acceleratorType: "{{ acceleratorType }}"
workloadType: "{{ workloadType }}"
vmFamily: "{{ vmFamily }}"
reservedResources:
- accelerator:
acceleratorCount: {{ acceleratorCount }}
acceleratorType: "{{ acceleratorType }}"
- name: reservationMode
value: "{{ reservationMode }}"
description: |
The reservation mode which determines reservation-termination behavior and
expected pricing.
valid_values: ['CALENDAR', 'DEFAULT', 'RESERVATION_MODE_UNSPECIFIED']
- name: shareSettings
description: |
List of Projects/Folders to share with.
value:
shareType: "{{ shareType }}"
projectMap: "{{ projectMap }}"
- name: params
description: |
Input only. Additional params passed with the request, but not persisted
as part of resource payload.
value:
resourceManagerTags: "{{ resourceManagerTags }}"
- name: autoCreatedReservationsDeleteTime
value: "{{ autoCreatedReservationsDeleteTime }}"
description: |
Future timestamp when the FR auto-created reservations will be deleted by
Compute Engine. Format of this field must be a valid
href="https://www.ietf.org/rfc/rfc3339.txt">RFC3339 value.
- name: requestId
value: "{{ requestId }}"
UPDATE examples
- update
Updates the specified future reservation.
UPDATE google.compute.future_reservations
SET
data__deploymentType = '{{ deploymentType }}',
data__commitmentInfo = '{{ commitmentInfo }}',
data__schedulingType = '{{ schedulingType }}',
data__namePrefix = '{{ namePrefix }}',
data__description = '{{ description }}',
data__specificSkuProperties = '{{ specificSkuProperties }}',
data__autoCreatedReservationsDuration = '{{ autoCreatedReservationsDuration }}',
data__name = '{{ name }}',
data__autoDeleteAutoCreatedReservations = {{ autoDeleteAutoCreatedReservations }},
data__confidentialComputeType = '{{ confidentialComputeType }}',
data__reservationName = '{{ reservationName }}',
data__specificReservationRequired = {{ specificReservationRequired }},
data__planningStatus = '{{ planningStatus }}',
data__enableEmergentMaintenance = {{ enableEmergentMaintenance }},
data__timeWindow = '{{ timeWindow }}',
data__aggregateReservation = '{{ aggregateReservation }}',
data__reservationMode = '{{ reservationMode }}',
data__shareSettings = '{{ shareSettings }}',
data__params = '{{ params }}',
data__autoCreatedReservationsDeleteTime = '{{ autoCreatedReservationsDeleteTime }}'
WHERE
project = '{{ project }}' --required
AND zone = '{{ zone }}' --required
AND futureReservation = '{{ futureReservation }}' --required
AND updateMask = '{{ updateMask}}'
AND requestId = '{{ requestId}}'
RETURNING
id,
name,
clientOperationId,
creationTimestamp,
description,
endTime,
error,
getVersionOperationMetadata,
httpErrorMessage,
httpErrorStatusCode,
insertTime,
instancesBulkInsertOperationMetadata,
kind,
operationGroupId,
operationType,
progress,
region,
selfLink,
setCommonInstanceMetadataOperationMetadata,
startTime,
status,
statusMessage,
targetId,
targetLink,
user,
warnings,
zone;
DELETE examples
- delete
Deletes the specified future reservation.
DELETE FROM google.compute.future_reservations
WHERE project = '{{ project }}' --required
AND zone = '{{ zone }}' --required
AND futureReservation = '{{ futureReservation }}' --required
AND requestId = '{{ requestId }}'
;
Lifecycle Methods
- cancel
Cancel the specified future reservation.
EXEC google.compute.future_reservations.cancel
@project='{{ project }}' --required,
@zone='{{ zone }}' --required,
@futureReservation='{{ futureReservation }}' --required,
@requestId='{{ requestId }}'
;