Class: Google::Apis::ComputeAlpha::InstanceGroupManagerUpdatePolicy
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::InstanceGroupManagerUpdatePolicy
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb
Instance Attribute Summary collapse
-
#instance_redistribution_type ⇒ String
The instance redistribution policy for regional managed instance groups.
-
#max_surge ⇒ Google::Apis::ComputeAlpha::FixedOrPercent
Encapsulates numeric value that can be either absolute or relative.
-
#max_unavailable ⇒ Google::Apis::ComputeAlpha::FixedOrPercent
Encapsulates numeric value that can be either absolute or relative.
-
#min_ready_sec ⇒ Fixnum
Minimum number of seconds to wait for after a newly created instance becomes available.
-
#minimal_action ⇒ String
Minimal action to be taken on an instance.
-
#most_disruptive_allowed_action ⇒ String
Most disruptive action that is allowed to be taken on an instance.
-
#replacement_method ⇒ String
What action should be used to replace instances.
-
#type ⇒ String
The type of update process.
Instance Method Summary collapse
-
#initialize(**args) ⇒ InstanceGroupManagerUpdatePolicy
constructor
A new instance of InstanceGroupManagerUpdatePolicy.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ InstanceGroupManagerUpdatePolicy
Returns a new instance of InstanceGroupManagerUpdatePolicy.
17316 17317 17318 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17316 def initialize(**args) update!(**args) end |
Instance Attribute Details
#instance_redistribution_type ⇒ String
The instance redistribution policy for regional managed instance groups. Valid
values are: - PROACTIVE (default): The group attempts to maintain an even
distribution of VM instances across zones in the region. - NONE: For non-
autoscaled groups, proactive redistribution is disabled.
Corresponds to the JSON property instanceRedistributionType
17259 17260 17261 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17259 def instance_redistribution_type @instance_redistribution_type end |
#max_surge ⇒ Google::Apis::ComputeAlpha::FixedOrPercent
Encapsulates numeric value that can be either absolute or relative.
Corresponds to the JSON property maxSurge
17264 17265 17266 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17264 def max_surge @max_surge end |
#max_unavailable ⇒ Google::Apis::ComputeAlpha::FixedOrPercent
Encapsulates numeric value that can be either absolute or relative.
Corresponds to the JSON property maxUnavailable
17269 17270 17271 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17269 def max_unavailable @max_unavailable end |
#min_ready_sec ⇒ Fixnum
Minimum number of seconds to wait for after a newly created instance becomes
available. This value must be from range [0, 3600].
Corresponds to the JSON property minReadySec
17275 17276 17277 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17275 def min_ready_sec @min_ready_sec end |
#minimal_action ⇒ String
Minimal action to be taken on an instance. Use this option to minimize
disruption as much as possible or to apply a more disruptive action than is
necessary. - To limit disruption as much as possible, set the minimal action
to REFRESH. If your update requires a more disruptive action, Compute Engine
performs the necessary action to execute the update. - To apply a more
disruptive action than is strictly necessary, set the minimal action to
RESTART or REPLACE. For example, Compute Engine does not need to restart a VM
to change its metadata. But if your application reads instance metadata only
when a VM is restarted, you can set the minimal action to RESTART in order to
pick up metadata changes.
Corresponds to the JSON property minimalAction
17289 17290 17291 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17289 def minimal_action @minimal_action end |
#most_disruptive_allowed_action ⇒ String
Most disruptive action that is allowed to be taken on an instance. You can
specify either NONE to forbid any actions, REFRESH to allow actions that do
not need instance restart, RESTART to allow actions that can be applied
without instance replacing or REPLACE to allow all possible actions. If the
Updater determines that the minimal update action needed is more disruptive
than most disruptive allowed action you specify it will not perform the update
at all.
Corresponds to the JSON property mostDisruptiveAllowedAction
17300 17301 17302 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17300 def most_disruptive_allowed_action @most_disruptive_allowed_action end |
#replacement_method ⇒ String
What action should be used to replace instances. See minimal_action.REPLACE
Corresponds to the JSON property replacementMethod
17305 17306 17307 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17305 def replacement_method @replacement_method end |
#type ⇒ String
The type of update process. You can specify either PROACTIVE so that the
instance group manager proactively executes actions in order to bring
instances to their target versions or OPPORTUNISTIC so that no action is
proactively executed but the update will be performed as part of other actions
(for example, resizes or recreateInstances calls).
Corresponds to the JSON property type
17314 17315 17316 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17314 def type @type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
17321 17322 17323 17324 17325 17326 17327 17328 17329 17330 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17321 def update!(**args) @instance_redistribution_type = args[:instance_redistribution_type] if args.key?(:instance_redistribution_type) @max_surge = args[:max_surge] if args.key?(:max_surge) @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable) @min_ready_sec = args[:min_ready_sec] if args.key?(:min_ready_sec) @minimal_action = args[:minimal_action] if args.key?(:minimal_action) @most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action) @replacement_method = args[:replacement_method] if args.key?(:replacement_method) @type = args[:type] if args.key?(:type) end |