Class: Google::Apis::ComputeAlpha::AutoscalingPolicy

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

Overview

Cloud Autoscaler policy.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ AutoscalingPolicy

Returns a new instance of AutoscalingPolicy.



2236
2237
2238
# File 'generated/google/apis/compute_alpha/classes.rb', line 2236

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

Instance Attribute Details

#cool_down_period_secFixnum

The number of seconds that the autoscaler should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds. Virtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process. Corresponds to the JSON property coolDownPeriodSec

Returns:

  • (Fixnum)


2188
2189
2190
# File 'generated/google/apis/compute_alpha/classes.rb', line 2188

def cool_down_period_sec
  @cool_down_period_sec
end

#cpu_utilizationGoogle::Apis::ComputeAlpha::AutoscalingPolicyCpuUtilization

CPU utilization policy. Corresponds to the JSON property cpuUtilization



2193
2194
2195
# File 'generated/google/apis/compute_alpha/classes.rb', line 2193

def cpu_utilization
  @cpu_utilization
end

#custom_metric_utilizationsArray<Google::Apis::ComputeAlpha::AutoscalingPolicyCustomMetricUtilization>

Configuration parameters of autoscaling based on a custom metric. Corresponds to the JSON property customMetricUtilizations



2198
2199
2200
# File 'generated/google/apis/compute_alpha/classes.rb', line 2198

def custom_metric_utilizations
  @custom_metric_utilizations
end

#load_balancing_utilizationGoogle::Apis::ComputeAlpha::AutoscalingPolicyLoadBalancingUtilization

Configuration parameters of autoscaling based on load balancing. Corresponds to the JSON property loadBalancingUtilization



2203
2204
2205
# File 'generated/google/apis/compute_alpha/classes.rb', line 2203

def load_balancing_utilization
  @load_balancing_utilization
end

#max_num_replicasFixnum

The maximum number of instances that the autoscaler can scale up to. This is required when creating or updating an autoscaler. The maximum number of replicas should not be lower than minimal number of replicas. Corresponds to the JSON property maxNumReplicas

Returns:

  • (Fixnum)


2210
2211
2212
# File 'generated/google/apis/compute_alpha/classes.rb', line 2210

def max_num_replicas
  @max_num_replicas
end

#min_num_replicasFixnum

The minimum number of replicas that the autoscaler can scale down to. This cannot be less than 0. If not provided, autoscaler will choose a default value depending on maximum number of instances allowed. Corresponds to the JSON property minNumReplicas

Returns:

  • (Fixnum)


2217
2218
2219
# File 'generated/google/apis/compute_alpha/classes.rb', line 2217

def min_num_replicas
  @min_num_replicas
end

#modeString

Defines operating mode for this policy. Corresponds to the JSON property mode

Returns:

  • (String)


2222
2223
2224
# File 'generated/google/apis/compute_alpha/classes.rb', line 2222

def mode
  @mode
end

#queue_based_scalingGoogle::Apis::ComputeAlpha::AutoscalingPolicyQueueBasedScaling

Configuration parameters of autoscaling based on queuing system. Corresponds to the JSON property queueBasedScaling



2227
2228
2229
# File 'generated/google/apis/compute_alpha/classes.rb', line 2227

def queue_based_scaling
  @queue_based_scaling
end

#scale_down_controlGoogle::Apis::ComputeAlpha::AutoscalingPolicyScaleDownControl

Configuration that allows for slower scale down so that even if Autoscaler recommends an abrupt scale down of a MIG, it will be throttled as specified by the parameters below. Corresponds to the JSON property scaleDownControl



2234
2235
2236
# File 'generated/google/apis/compute_alpha/classes.rb', line 2234

def scale_down_control
  @scale_down_control
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
# File 'generated/google/apis/compute_alpha/classes.rb', line 2241

def update!(**args)
  @cool_down_period_sec = args[:cool_down_period_sec] if args.key?(:cool_down_period_sec)
  @cpu_utilization = args[:cpu_utilization] if args.key?(:cpu_utilization)
  @custom_metric_utilizations = args[:custom_metric_utilizations] if args.key?(:custom_metric_utilizations)
  @load_balancing_utilization = args[:load_balancing_utilization] if args.key?(:load_balancing_utilization)
  @max_num_replicas = args[:max_num_replicas] if args.key?(:max_num_replicas)
  @min_num_replicas = args[:min_num_replicas] if args.key?(:min_num_replicas)
  @mode = args[:mode] if args.key?(:mode)
  @queue_based_scaling = args[:queue_based_scaling] if args.key?(:queue_based_scaling)
  @scale_down_control = args[:scale_down_control] if args.key?(:scale_down_control)
end