Class: Google::Apis::ComputeV1::InstanceGroupManagerUpdatePolicy

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

Constructor Details

#initialize(**args) ⇒ InstanceGroupManagerUpdatePolicy

Returns a new instance of InstanceGroupManagerUpdatePolicy.



13276
13277
13278
# File 'lib/google/apis/compute_v1/classes.rb', line 13276

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)


13240
13241
13242
# File 'lib/google/apis/compute_v1/classes.rb', line 13240

def instance_redistribution_type
  @instance_redistribution_type
end

#max_surgeGoogle::Apis::ComputeV1::FixedOrPercent

Encapsulates numeric value that can be either absolute or relative. Corresponds to the JSON property maxSurge



13245
13246
13247
# File 'lib/google/apis/compute_v1/classes.rb', line 13245

def max_surge
  @max_surge
end

#max_unavailableGoogle::Apis::ComputeV1::FixedOrPercent

Encapsulates numeric value that can be either absolute or relative. Corresponds to the JSON property maxUnavailable



13250
13251
13252
# File 'lib/google/apis/compute_v1/classes.rb', line 13250

def max_unavailable
  @max_unavailable
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)


13260
13261
13262
# File 'lib/google/apis/compute_v1/classes.rb', line 13260

def minimal_action
  @minimal_action
end

#replacement_methodString

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

Returns:

  • (String)


13265
13266
13267
# File 'lib/google/apis/compute_v1/classes.rb', line 13265

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)


13274
13275
13276
# File 'lib/google/apis/compute_v1/classes.rb', line 13274

def type
  @type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



13281
13282
13283
13284
13285
13286
13287
13288
# File 'lib/google/apis/compute_v1/classes.rb', line 13281

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)
  @replacement_method = args[:replacement_method] if args.key?(:replacement_method)
  @type = args[:type] if args.key?(:type)
end