Class: Google::Apis::ContainerV1beta1::OpportunisticMaintenanceStrategy

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/container_v1beta1/classes.rb,
lib/google/apis/container_v1beta1/representations.rb,
lib/google/apis/container_v1beta1/representations.rb

Overview

Strategy that will trigger maintenance on behalf of the customer.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ OpportunisticMaintenanceStrategy

Returns a new instance of OpportunisticMaintenanceStrategy.



8309
8310
8311
# File 'lib/google/apis/container_v1beta1/classes.rb', line 8309

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

Instance Attribute Details

#maintenance_availability_windowString

The window of time that opportunistic maintenance can run. Example: A setting of 14 days implies that opportunistic maintenance can only be ran in the 2 weeks leading up to the scheduled maintenance date. Setting 28 days allows opportunistic maintenance to run at any time in the scheduled maintenance window (all PERIODIC maintenance is set 28 days in advance). Corresponds to the JSON property maintenanceAvailabilityWindow

Returns:

  • (String)


8295
8296
8297
# File 'lib/google/apis/container_v1beta1/classes.rb', line 8295

def maintenance_availability_window
  @maintenance_availability_window
end

#min_nodes_per_poolFixnum

The minimum nodes required to be available in a pool. Blocks maintenance if it would cause the number of running nodes to dip below this value. Corresponds to the JSON property minNodesPerPool

Returns:

  • (Fixnum)


8301
8302
8303
# File 'lib/google/apis/container_v1beta1/classes.rb', line 8301

def min_nodes_per_pool
  @min_nodes_per_pool
end

#node_idle_time_windowString

The amount of time that a node can remain idle (no customer owned workloads running), before triggering maintenance. Corresponds to the JSON property nodeIdleTimeWindow

Returns:

  • (String)


8307
8308
8309
# File 'lib/google/apis/container_v1beta1/classes.rb', line 8307

def node_idle_time_window
  @node_idle_time_window
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



8314
8315
8316
8317
8318
# File 'lib/google/apis/container_v1beta1/classes.rb', line 8314

def update!(**args)
  @maintenance_availability_window = args[:maintenance_availability_window] if args.key?(:maintenance_availability_window)
  @min_nodes_per_pool = args[:min_nodes_per_pool] if args.key?(:min_nodes_per_pool)
  @node_idle_time_window = args[:node_idle_time_window] if args.key?(:node_idle_time_window)
end