Class: Google::Apis::BigqueryreservationV1::Autoscale

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

Overview

Auto scaling settings. max_slots and budget are mutually exclusive. If max_slots is set: * The system will create a dedicated FLEX capacity commitment to hold the slots for auto-scale. Users won't be able to manage it, to avoid conflicts. * Scale-up will happen if there are always pending tasks for the past 10 minutes. * Scale-down will happen, if the system detects that scale-up won't be triggered again. If budget is set: * The system will try to use more slots immediately. * At a particular moment, the number of slots scaled is determined by the sytsem, based on the remaining budget and system limit. But overall the usage will conform to the budget if there is enough traffic. * The system will round the slot usage every minute. Note this is an alpha feature.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Autoscale

Returns a new instance of Autoscale.



92
93
94
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 92

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

Instance Attribute Details

#current_slotsFixnum

Output only. The slot capacity added to this reservation when autoscale happens. Will be between [0, max_slots]. Corresponds to the JSON property currentSlots

Returns:

  • (Fixnum)


85
86
87
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 85

def current_slots
  @current_slots
end

#max_slotsFixnum

Number of slots to be scaled when needed. Corresponds to the JSON property maxSlots

Returns:

  • (Fixnum)


90
91
92
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 90

def max_slots
  @max_slots
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



97
98
99
100
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 97

def update!(**args)
  @current_slots = args[:current_slots] if args.key?(:current_slots)
  @max_slots = args[:max_slots] if args.key?(:max_slots)
end