Class: Google::Apis::SaasservicemgmtV1beta1::RolloutKind
- Inherits:
-
Object
- Object
- Google::Apis::SaasservicemgmtV1beta1::RolloutKind
- 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
-
#annotations ⇒ Hash<String,String>
Optional.
-
#create_time ⇒ String
Output only.
-
#error_budget ⇒ Google::Apis::SaasservicemgmtV1beta1::ErrorBudget
The configuration for error budget.
-
#etag ⇒ String
Output only.
-
#labels ⇒ Hash<String,String>
Optional.
-
#name ⇒ String
Identifier.
-
#rollout_orchestration_strategy ⇒ String
Optional.
-
#uid ⇒ String
Output only.
-
#unit_filter ⇒ String
Optional.
-
#unit_kind ⇒ String
Required.
-
#unit_update_pacing ⇒ Google::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.
-
#update_time ⇒ String
Output only.
-
#update_unit_kind_strategy ⇒ String
Optional.
Instance Method Summary collapse
-
#initialize(**args) ⇒ RolloutKind
constructor
A new instance of RolloutKind.
-
#update!(**args) ⇒ Object
Update properties of this object.
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
#annotations ⇒ Hash<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
2065 2066 2067 |
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2065 def annotations @annotations end |
#create_time ⇒ String
Output only. The timestamp when the resource was created.
Corresponds to the JSON property createTime
2070 2071 2072 |
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2070 def create_time @create_time end |
#error_budget ⇒ Google::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 |
#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.
Corresponds to the JSON property etag
2083 2084 2085 |
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2083 def etag @etag end |
#labels ⇒ Hash<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
2089 2090 2091 |
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2089 def labels @labels end |
#name ⇒ String
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
2096 2097 2098 |
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2096 def name @name end |
#rollout_orchestration_strategy ⇒ 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.
Corresponds to the JSON property rolloutOrchestrationStrategy
2105 2106 2107 |
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2105 def rollout_orchestration_strategy @rollout_orchestration_strategy end |
#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.
Corresponds to the JSON property uid
2114 2115 2116 |
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2114 def uid @uid end |
#unit_filter ⇒ 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.
Corresponds to the JSON property unitFilter
2122 2123 2124 |
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2122 def unit_filter @unit_filter end |
#unit_kind ⇒ 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.
Corresponds to the JSON property unitKind
2130 2131 2132 |
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2130 def unit_kind @unit_kind end |
#unit_update_pacing ⇒ Google::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_time ⇒ String
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
2143 2144 2145 |
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2143 def update_time @update_time end |
#update_unit_kind_strategy ⇒ String
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
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 |