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.



15613
15614
15615
# File 'lib/google/apis/compute_alpha/classes.rb', line 15613

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#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)


15560
15561
15562
# File 'lib/google/apis/compute_alpha/classes.rb', line 15560

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



15565
15566
15567
# File 'lib/google/apis/compute_alpha/classes.rb', line 15565

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



15570
15571
15572
# File 'lib/google/apis/compute_alpha/classes.rb', line 15570

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)


15576
15577
15578
# File 'lib/google/apis/compute_alpha/classes.rb', line 15576

def min_ready_sec
  @min_ready_sec
end

#minimal_actionString

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

Returns:

  • (String)


15586
15587
15588
# File 'lib/google/apis/compute_alpha/classes.rb', line 15586

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

Returns:

  • (String)


15597
15598
15599
# File 'lib/google/apis/compute_alpha/classes.rb', line 15597

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)


15602
15603
15604
# File 'lib/google/apis/compute_alpha/classes.rb', line 15602

def replacement_method
  @replacement_method
end

#typeString

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

Returns:

  • (String)


15611
15612
15613
# File 'lib/google/apis/compute_alpha/classes.rb', line 15611

def type
  @type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



15618
15619
15620
15621
15622
15623
15624
15625
15626
15627
# File 'lib/google/apis/compute_alpha/classes.rb', line 15618

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