REST Resource: rolloutPlans

Resource: RolloutPlan

RolloutPlan resource.

A RolloutPlan is the customer-defined strategy to divide a large-scale change into smaller increments, referred to as "waves". Each wave targets a specific portion of the overall affected area and defines criteria that must be met before progressing to the subsequent wave.

JSON representation
{
  "kind": string,
  "id": string,
  "creationTimestamp": string,
  "name": string,
  "description": string,
  "selfLink": string,
  "selfLinkWithId": string,
  "waves": [
    {
      object (Wave)
    }
  ],
  "locationScope": enum (LocationScope)
}
Fields
kind

string

Output only. Type of the resource. Always

compute#rolloutPlan

for rolloutPlans.

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

description

string

An optional description of this resource. Provide this property when you create the resource.

waves[]

object (Wave)

Required. The waves included in this rollout plan.

locationScope

enum (LocationScope)

The location scope of the rollout plan. If not specified, the location scope is considered as ZONAL.

Wave

A single wave in a rollout plan.

JSON representation
{
  "displayName": string,
  "number": string,
  "selectors": [
    {
      object (Selector)
    }
  ],
  "validation": {
    object (Validation)
  },
  "orchestrationOptions": {
    object (OrchestrationOptions)
  }
}
Fields
displayName

string

Optional. The display name of this wave of the rollout plan.

number

string (int64 format)

Output only. The wave number.

selectors[]

object (Selector)

Required. The selectors for this wave. There is a logical AND between each selector defined in a wave, so a resource must satisfy the criteria of all the specified selectors to be in scope for the wave.

validation

object (Validation)

Required. The validation to be performed at the end of this wave.

orchestrationOptions

object (OrchestrationOptions)

Optional. The orchestration options for this wave.

Selector

A selector which specifies what resource(s) are included in a given wave.

JSON representation
{

  // Union field selector_type can be only one of the following:
  "resourceHierarchySelector": {
    object (ResourceHierarchySelector)
  },
  "locationSelector": {
    object (LocationSelector)
  }
  // End of list of possible types for union field selector_type.
}
Fields
Union field selector_type. Each selector has a user defined criteria. selector_type can be only one of the following:
resourceHierarchySelector

object (ResourceHierarchySelector)

Optional. Roll out to resources by Cloud Resource Manager resource hierarchy.

locationSelector

object (LocationSelector)

Optional. Roll out to resources by Cloud locations.

ResourceHierarchySelector

Roll out to resources by Cloud Resource Manager resource hierarchy nodes such as projects, folders, orgs.

JSON representation
{
  "includedOrganizations": [
    string
  ],
  "includedFolders": [
    string
  ],
  "includedProjects": [
    string
  ]
}
Fields
includedOrganizations[]

string

Optional. Format: "organizations/{organizationId}"

includedFolders[]

string

Optional. Format: "folders/{folderId}"

includedProjects[]

string

Optional. Format: "projects/{projectId}"

LocationSelector

Roll out to resources by location.

JSON representation
{
  "includedLocations": [
    string
  ]
}
Fields
includedLocations[]

string

Optional. Example: "us-central1-a"

Validation

The validation to be performed before progressing to the next wave.

JSON representation
{
  "type": string,

  // Union field metadata can be only one of the following:
  "timeBasedValidationMetadata": {
    object (TimeBasedValidationMetadata)
  }
  // End of list of possible types for union field metadata.
}
Fields
type

string

Required. The type of the validation. If a type of validation is associated with a metadata object, the appropriate metadata field mapping to the validation type must be provided in the validation message. Possible values are in quotes below alongside an explanation: "manual": The system waits for an end-user approval API before progressing to the next wave. "time": The system waits for a user specified duration before progressing to the next wave. TimeBasedValidation must be provided.

Union field metadata.

metadata can be only one of the following:

timeBasedValidationMetadata

object (TimeBasedValidationMetadata)

Optional. Metadata required if type = "time".

TimeBasedValidationMetadata

Metadata required if type = "time".

JSON representation
{
  "waitDuration": string
}
Fields
waitDuration

string (Duration format)

Optional. The duration that the system waits in between waves. This wait starts after all changes in the wave are rolled out.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

OrchestrationOptions

Options to control the pace of orchestration of a wave. These options are required only if the resource being rolled out follows the Orchestrated pattern.

JSON representation
{
  "maxConcurrentLocations": string,
  "maxConcurrentResourcesPerLocation": string,
  "delays": [
    {
      object (Delay)
    }
  ]
}
Fields
maxConcurrentLocations

string (int64 format)

Optional. Maximum number of locations to be orchestrated in parallel.

maxConcurrentResourcesPerLocation

string (int64 format)

Optional. Maximum number of resources to be orchestrated per location in parallel.

delays[]

object (Delay)

Optional. Delays, if any, to be added between batches of projects. We allow multiple Delays to be specified, letting users set separate delays between batches of projects corresponding to different locations and batches of projects corresponding to the same location.

Delay

Options to control the delay, if any, between batches of projects.

JSON representation
{
  "duration": string,
  "delimiter": enum (Delimiter),
  "type": enum (Type)
}
Fields
duration

string (Duration format)

Optional. The duration of the delay, if any, to be added between batches of projects. A zero duration corresponds to no delay.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

delimiter

enum (Delimiter)

Optional. Controls whether the delay should only be added between batches of projects corresponding to different locations, or also between batches of projects corresponding to the same location.

Must be set to DELIMITER_UNSPECIFIED if no delay is to be added.

type

enum (Type)

Optional. Controls whether the specified duration is to be added at the end of each batch, or if the total processing time for each batch will be padded if needed to meet the specified duration.

Must be set to TYPE_UNSPECIFIED if no delay is to be added.

Delimiter

Options to control what batches of projects the delay should be added between.

Enums
DELIMITER_UNSPECIFIED No delay will be added between batches of projects. Processing will continue with the next batch as soon as the previous batch of LROs is done.
DELIMITER_LOCATION The delay will only be added between batches of projects corresponding to different locations.
DELIMITER_BATCH The delay will also be added between batches of projects corresponding to the same location.

Type

Options to control how the delay should be added between batches of projects.

Enums
TYPE_UNSPECIFIED No delay will be added between batches of projects. Processing will continue with the next batch as soon as the previous batch of LROs is done.
TYPE_OFFSET The specified delay will directly be added after each batch of projects as specified by the delimiter.
TYPE_MINIMUM The total processing time for each batch of projects will be padded if needed to meet the specified delay duration.

LocationScope

The location scope of the rollout plan.

Enums
LOCATION_SCOPE_UNSPECIFIED Unspecified value. Considered as ZONAL.
ZONAL Zonal scope.
REGIONAL Regional scope.

Methods

delete

The method compute.v1.RolloutPlansService.Delete is not available in Cloud de Confiance by S3NS.

get

The method compute.v1.RolloutPlansService.Get is not available in Cloud de Confiance by S3NS.

insert

The method compute.v1.RolloutPlansService.Insert is not available in Cloud de Confiance by S3NS.

list

The method compute.v1.RolloutPlansService.List is not available in Cloud de Confiance by S3NS.