Class: Google::Apis::SaasservicemgmtV1::RolloutKind
- Inherits:
-
Object
- Object
- Google::Apis::SaasservicemgmtV1::RolloutKind
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/saasservicemgmt_v1/classes.rb,
lib/google/apis/saasservicemgmt_v1/representations.rb,
lib/google/apis/saasservicemgmt_v1/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::SaasservicemgmtV1::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::SaasservicemgmtV1::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.
1225 1226 1227 |
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1225 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
1139 1140 1141 |
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1139 def annotations @annotations end |
#create_time ⇒ String
Output only. The timestamp when the resource was created.
Corresponds to the JSON property createTime
1144 1145 1146 |
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1144 def create_time @create_time end |
#error_budget ⇒ Google::Apis::SaasservicemgmtV1::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
1150 1151 1152 |
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1150 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
1157 1158 1159 |
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1157 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
1163 1164 1165 |
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1163 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
1170 1171 1172 |
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1170 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
1179 1180 1181 |
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1179 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
1188 1189 1190 |
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1188 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
1196 1197 1198 |
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1196 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
1204 1205 1206 |
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1204 def unit_kind @unit_kind end |
#unit_update_pacing ⇒ Google::Apis::SaasservicemgmtV1::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
1210 1211 1212 |
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1210 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
1217 1218 1219 |
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1217 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
1223 1224 1225 |
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1223 def update_unit_kind_strategy @update_unit_kind_strategy end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 |
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1230 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 |