Class: Google::Apis::ComputeV1::InstanceGroupManagerUpdatePolicy
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::InstanceGroupManagerUpdatePolicy
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_v1/classes.rb,
lib/google/apis/compute_v1/representations.rb,
lib/google/apis/compute_v1/representations.rb
Instance Attribute Summary collapse
-
#instance_redistribution_type ⇒ String
The instance redistribution policy for regional managed instance groups.
-
#max_surge ⇒ Google::Apis::ComputeV1::FixedOrPercent
Encapsulates numeric value that can be either absolute or relative.
-
#max_unavailable ⇒ Google::Apis::ComputeV1::FixedOrPercent
Encapsulates numeric value that can be either absolute or relative.
-
#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.
15989 15990 15991 |
# File 'lib/google/apis/compute_v1/classes.rb', line 15989 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
15940 15941 15942 |
# File 'lib/google/apis/compute_v1/classes.rb', line 15940 def instance_redistribution_type @instance_redistribution_type end |
#max_surge ⇒ Google::Apis::ComputeV1::FixedOrPercent
Encapsulates numeric value that can be either absolute or relative.
Corresponds to the JSON property maxSurge
15945 15946 15947 |
# File 'lib/google/apis/compute_v1/classes.rb', line 15945 def max_surge @max_surge end |
#max_unavailable ⇒ Google::Apis::ComputeV1::FixedOrPercent
Encapsulates numeric value that can be either absolute or relative.
Corresponds to the JSON property maxUnavailable
15950 15951 15952 |
# File 'lib/google/apis/compute_v1/classes.rb', line 15950 def max_unavailable @max_unavailable 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
15964 15965 15966 |
# File 'lib/google/apis/compute_v1/classes.rb', line 15964 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
15975 15976 15977 |
# File 'lib/google/apis/compute_v1/classes.rb', line 15975 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
15980 15981 15982 |
# File 'lib/google/apis/compute_v1/classes.rb', line 15980 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 or OPPORTUNISTIC so
that you can select the VMs that you want to update.
Corresponds to the JSON property type
15987 15988 15989 |
# File 'lib/google/apis/compute_v1/classes.rb', line 15987 def type @type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
15994 15995 15996 15997 15998 15999 16000 16001 16002 |
# File 'lib/google/apis/compute_v1/classes.rb', line 15994 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) @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 |