Class: Google::Apis::SaasservicemgmtV1beta1::RolloutKind

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/saasservicemgmt_v1beta1/classes.rb,
lib/google/apis/saasservicemgmt_v1beta1/representations.rb,
lib/google/apis/saasservicemgmt_v1beta1/representations.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ RolloutKind

Returns a new instance of RolloutKind.



2151
2152
2153
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2151

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#annotationsHash<String,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 Corresponds to the JSON property annotations

Returns:

  • (Hash<String,String>)


2065
2066
2067
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2065

def annotations
  @annotations
end

#create_timeString

Output only. The timestamp when the resource was created. Corresponds to the JSON property createTime

Returns:

  • (String)


2070
2071
2072
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2070

def create_time
  @create_time
end

#error_budgetGoogle::Apis::SaasservicemgmtV1beta1::ErrorBudget

The configuration for error budget. If the number of failed units exceeds max( allowed_count, allowed_ratio * total_units), the rollout will be paused. Corresponds to the JSON property errorBudget



2076
2077
2078
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2076

def error_budget
  @error_budget
end

#etagString

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. Corresponds to the JSON property etag

Returns:

  • (String)


2083
2084
2085
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2083

def etag
  @etag
end

#labelsHash<String,String>

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

Returns:

  • (Hash<String,String>)


2089
2090
2091
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2089

def labels
  @labels
end

#nameString

Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/project/locations/location/rolloutKinds/ rollout_kind_id" Corresponds to the JSON property name

Returns:

  • (String)


2096
2097
2098
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2096

def name
  @name
end

#rollout_orchestration_strategyString

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. Corresponds to the JSON property rolloutOrchestrationStrategy

Returns:

  • (String)


2105
2106
2107
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2105

def rollout_orchestration_strategy
  @rollout_orchestration_strategy
end

#uidString

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. Corresponds to the JSON property uid

Returns:

  • (String)


2114
2115
2116
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2114

def uid
  @uid
end

#unit_filterString

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. Corresponds to the JSON property unitFilter

Returns:

  • (String)


2122
2123
2124
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2122

def unit_filter
  @unit_filter
end

#unit_kindString

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. Corresponds to the JSON property unitKind

Returns:

  • (String)


2130
2131
2132
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2130

def unit_kind
  @unit_kind
end

#unit_update_pacingGoogle::Apis::SaasservicemgmtV1beta1::UnitUpdatePacing

UnitUpdatePacing defines the policy for the maximum number of unit operations that can run for a rollout in parallel in a single region. Corresponds to the JSON property unitUpdatePacing



2136
2137
2138
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2136

def unit_update_pacing
  @unit_update_pacing
end

#update_timeString

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. Corresponds to the JSON property updateTime

Returns:

  • (String)


2143
2144
2145
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2143

def update_time
  @update_time
end

#update_unit_kind_strategyString

Optional. The config for updating the unit kind. By default, the unit kind will be updated on the rollout start. Corresponds to the JSON property updateUnitKindStrategy

Returns:

  • (String)


2149
2150
2151
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2149

def update_unit_kind_strategy
  @update_unit_kind_strategy
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2156

def update!(**args)
  @annotations = args[:annotations] if args.key?(:annotations)
  @create_time = args[:create_time] if args.key?(:create_time)
  @error_budget = args[:error_budget] if args.key?(:error_budget)
  @etag = args[:etag] if args.key?(:etag)
  @labels = args[:labels] if args.key?(:labels)
  @name = args[:name] if args.key?(:name)
  @rollout_orchestration_strategy = args[:rollout_orchestration_strategy] if args.key?(:rollout_orchestration_strategy)
  @uid = args[:uid] if args.key?(:uid)
  @unit_filter = args[:unit_filter] if args.key?(:unit_filter)
  @unit_kind = args[:unit_kind] if args.key?(:unit_kind)
  @unit_update_pacing = args[:unit_update_pacing] if args.key?(:unit_update_pacing)
  @update_time = args[:update_time] if args.key?(:update_time)
  @update_unit_kind_strategy = args[:update_unit_kind_strategy] if args.key?(:update_unit_kind_strategy)
end