class Google::Apis::ComputeBeta::InstanceGroupManagerUpdatePolicy

Attributes

instance_redistribution_type[RW]

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` @return [String]

max_surge[RW]

Encapsulates numeric value that can be either absolute or relative. Corresponds to the JSON property `maxSurge` @return [Google::Apis::ComputeBeta::FixedOrPercent]

max_unavailable[RW]

Encapsulates numeric value that can be either absolute or relative. Corresponds to the JSON property `maxUnavailable` @return [Google::Apis::ComputeBeta::FixedOrPercent]

min_ready_sec[RW]

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` @return [Fixnum]

minimal_action[RW]

Minimal action to be taken on an instance. You can specify either RESTART to restart existing instances or REPLACE to delete and create new instances from the target template. If you specify a RESTART, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action. Corresponds to the JSON property `minimalAction` @return [String]

most_disruptive_allowed_action[RW]

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` @return [String]

replacement_method[RW]

What action should be used to replace instances. See minimal_action.REPLACE Corresponds to the JSON property `replacementMethod` @return [String]

type[RW]

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` @return [String]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/compute_beta/classes.rb, line 13954
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/compute_beta/classes.rb, line 13959
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