Method: advice.calendarModeExtension

Advises on whether extending an existing future reservation is possible based on the desired extension end time. If capacity isn't available for the entire requested duration, the method recommends the longest possible extension.

HTTP request


POST https://compute.googleapis.com/compute/beta/projects/{project}/regions/{region}/advice/calendarModeExtension

The URLs use gRPC Transcoding syntax.

Path parameters

Parameters
project

string

Project ID for this request.

region

string

Name of the region for this request.

Request body

The request body contains data with the following structure:

JSON representation
{
  "futureReservation": string,
  "endTimeNotLaterThan": string
}
Fields
futureReservation

string

Required. Reference to the future reservation, in the format: projects/{project}/zones/{zone}/futureReservations/{name} Full URIs that include hostnames (like compute.googleapis.com or www.googleapis.com) are also supported.

endTimeNotLaterThan

string (Timestamp format)

Required. The desired end time for the extension.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

Response body

A response that contains the recommended duration for extending a future reservation in calendar mode based on available capacity during the extension period.

If successful, the response body contains data with the following structure:

JSON representation
{
  "recommendationId": string,
  "endTime": string,
  "notRecommendedReason": {
    "status": enum,
    "details": string
  }
}
Fields
recommendationId

string

The unique ID of the recommendation, which is a UUID string generated by the API.

endTime

string (Timestamp format)

The recommended end time for the extension, which is either the end time requested by the caller or the longest alternative with sufficient capacity. If the extension is not possible, this field is empty, and notRecommendedReason is populated instead.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

notRecommendedReason.status

enum

Status of recommendation.

notRecommendedReason.details

string

Human-readable details describing why the recommendation wasn't provided. For example, if the status is CONDITIONS_NOT_MET, this field explains why the requested extension duration isn't possible.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/compute
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

In addition to any permissions specified on the fields above, authorization requires one or more of the following IAM permissions:

  • compute.advice.calendarMode

To find predefined roles that contain those permissions, see Compute Engine IAM Roles.