Class: Google::Apis::ComputeAlpha::InstanceGroupManagerUpdatePolicy

Inherits:
Object
  • Object
show all
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 Method Summary collapse

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_actionsArray<String>

Actions that are allowed to update instances within MIG. Corresponds to the JSON property allowedActions

Returns:

  • (Array<String>)


30394
30395
30396
# File 'lib/google/apis/compute_alpha/classes.rb', line 30394

def allowed_actions
  @allowed_actions
end

#disruption_modeString

Whether the boot disk is allowed to be updated with restart. Corresponds to the JSON property disruptionMode

Returns:

  • (String)


30399
30400
30401
# File 'lib/google/apis/compute_alpha/classes.rb', line 30399

def disruption_mode
  @disruption_mode
end

#instance_redistribution_typeString

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

Returns:

  • (String)


30411
30412
30413
# File 'lib/google/apis/compute_alpha/classes.rb', line 30411

def instance_redistribution_type
  @instance_redistribution_type
end

#max_surgeGoogle::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_unavailableGoogle::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_secFixnum

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

Returns:

  • (Fixnum)


30427
30428
30429
# File 'lib/google/apis/compute_alpha/classes.rb', line 30427

def min_ready_sec
  @min_ready_sec
end

#minimal_actionString

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

Returns:

  • (String)


30444
30445
30446
# File 'lib/google/apis/compute_alpha/classes.rb', line 30444

def minimal_action
  @minimal_action
end

#most_disruptive_allowed_actionString

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

Returns:

  • (String)


30456
30457
30458
# File 'lib/google/apis/compute_alpha/classes.rb', line 30456

def most_disruptive_allowed_action
  @most_disruptive_allowed_action
end

#replacement_methodString

What action should be used to replace instances. See minimal_action.REPLACE Corresponds to the JSON property replacementMethod

Returns:

  • (String)


30462
30463
30464
# File 'lib/google/apis/compute_alpha/classes.rb', line 30462

def replacement_method
  @replacement_method
end

#typeString

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

Returns:

  • (String)


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