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
-
#allowed_actions ⇒ Array<String>
Actions that are allowed to update instances within MIG.
-
#disruption_mode ⇒ String
Whether the boot disk is allowed to be updated with restart.
-
#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.
30473 30474 30475 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30473 def initialize(**args) update!(**args) end |
Instance Attribute Details
#allowed_actions ⇒ Array<String>
Actions that are allowed to update instances within MIG.
Corresponds to the JSON property allowedActions
30394 30395 30396 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30394 def allowed_actions @allowed_actions end |
#disruption_mode ⇒ String
Whether the boot disk is allowed to be updated with restart.
Corresponds to the JSON property disruptionMode
30399 30400 30401 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30399 def disruption_mode @disruption_mode end |
#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
30411 30412 30413 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30411 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
30416 30417 30418 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30416 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
30421 30422 30423 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30421 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
30427 30428 30429 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30427 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 toREFRESH. 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
30444 30445 30446 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30444 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 avoid restarting
the VM and to limit disruption
as much as possible. 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
30456 30457 30458 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30456 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
30462 30463 30464 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30462 def replacement_method @replacement_method end |
#type ⇒ String
The type
of update process. You can specify either PROACTIVE so
that the MIG automatically updates VMs to the latest configurations
orOPPORTUNISTIC so that you can select the VMs that you want
to update.
Corresponds to the JSON property type
30471 30472 30473 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30471 def type @type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
30478 30479 30480 30481 30482 30483 30484 30485 30486 30487 30488 30489 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30478 def update!(**args) @allowed_actions = args[:allowed_actions] if args.key?(:allowed_actions) @disruption_mode = args[:disruption_mode] if args.key?(:disruption_mode) @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 |