REST Resource: projects.locations.rolloutKinds

Resource: RolloutKind

An object that describes various settings of Rollout execution. Includes built-in and customizable policies.

JSON representation
{
  "name": string,
  "unitKind": string,
  "rolloutOrchestrationStrategy": string,
  "unitFilter": string,
  "updateUnitKindStrategy": enum (UpdateUnitKindStrategy),
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "uid": string,
  "etag": string,
  "createTime": string,
  "updateTime": string,
  "errorBudget": {
    object (ErrorBudget)
  }
}
Fields
name

string

Identifier. The resource name (full URI of the resource) following the standard naming scheme:

"projects/{project}/locations/{location}/rolloutKinds/{rolloutKindId}"

unitKind

string

Required. Immutable. UnitKind that this rollout kind corresponds to. Rollouts stemming from this rollout kind will target the units of this unit kind. In other words, this defines the population of target units to be upgraded by rollouts.

rolloutOrchestrationStrategy

string

Optional. The strategy used for executing a Rollout. This is a required field.

There are two supported values strategies which are used to control - "Google.Cloud.Simple.AllAtOnce" - "Google.Cloud.Simple.OneLocationAtATime"

A rollout with one of these simple strategies will rollout across all locations defined in the associated UnitKind's Saas Locations.

unitFilter

string

Optional. CEL(https://github.com/google/cel-spec) formatted filter string against Unit. The filter will be applied to determine the eligible unit population. This filter can only reduce, but not expand the scope of the rollout.

updateUnitKindStrategy

enum (UpdateUnitKindStrategy)

Optional. The config for updating the unit kind. By default, the unit kind will be updated on the rollout start.

labels

map (key: string, value: string)

Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

annotations

map (key: string, value: string)

Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.

More info: https://kubernetes.io/docs/user-guide/annotations

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

uid

string

Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.

etag

string

Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.

createTime

string (Timestamp format)

Output only. The timestamp when the resource was created.

Uses RFC 3339, where generated output will always be Z-normalized and uses 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".

updateTime

string (Timestamp format)

Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.

Uses RFC 3339, where generated output will always be Z-normalized and uses 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".

errorBudget

object (ErrorBudget)

Optional. The configuration for error budget. If the number of failed units exceeds max(allowedCount, allowed_ratio * totalUnits), the rollout will be paused. If not set, all units will be attempted to be updated regardless of the number of failures encountered.

UpdateUnitKindStrategy

Enums
UPDATE_UNIT_KIND_STRATEGY_UNSPECIFIED Strategy unspecified.
UPDATE_UNIT_KIND_STRATEGY_ON_START Update the unit kind strategy on the rollout start.
UPDATE_UNIT_KIND_STRATEGY_NEVER Never update the unit kind.

ErrorBudget

The configuration for error budget. If the number of failed units exceeds max(allowedCount, allowed_ratio * totalUnits), the rollout will be paused.

JSON representation
{
  "allowedCount": integer,
  "allowedPercentage": integer
}
Fields
allowedCount

integer

Optional. The maximum number of failed units allowed in a location without pausing the rollout.

allowedPercentage

integer

Optional. The maximum percentage of units allowed to fail (0, 100] within a location without pausing the rollout.

Methods

create

Create a new rollout kind.

delete

Delete a single rollout kind.

get

Retrieve a single rollout kind.

list

Retrieve a collection of rollout kinds.

patch

Update a single rollout kind.