Class: Google::Apis::ComputeBeta::AutoscalingPolicy

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

Overview

Cloud Autoscaler policy.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ AutoscalingPolicy

Returns a new instance of AutoscalingPolicy.



2314
2315
2316
# File 'lib/google/apis/compute_beta/classes.rb', line 2314

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

Instance Attribute Details

#cool_down_period_secFixnum

The number of seconds that the autoscaler waits 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)


2256
2257
2258
# File 'lib/google/apis/compute_beta/classes.rb', line 2256

def cool_down_period_sec
  @cool_down_period_sec
end

#cpu_utilizationGoogle::Apis::ComputeBeta::AutoscalingPolicyCpuUtilization

CPU utilization policy. Corresponds to the JSON property cpuUtilization



2261
2262
2263
# File 'lib/google/apis/compute_beta/classes.rb', line 2261

def cpu_utilization
  @cpu_utilization
end

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

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



2266
2267
2268
# File 'lib/google/apis/compute_beta/classes.rb', line 2266

def custom_metric_utilizations
  @custom_metric_utilizations
end

#load_balancing_utilizationGoogle::Apis::ComputeBeta::AutoscalingPolicyLoadBalancingUtilization

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



2271
2272
2273
# File 'lib/google/apis/compute_beta/classes.rb', line 2271

def load_balancing_utilization
  @load_balancing_utilization
end

#max_num_replicasFixnum

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

Returns:

  • (Fixnum)


2278
2279
2280
# File 'lib/google/apis/compute_beta/classes.rb', line 2278

def max_num_replicas
  @max_num_replicas
end

#min_num_replicasFixnum

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

Returns:

  • (Fixnum)


2285
2286
2287
# File 'lib/google/apis/compute_beta/classes.rb', line 2285

def min_num_replicas
  @min_num_replicas
end

#modeString

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

Returns:

  • (String)


2290
2291
2292
# File 'lib/google/apis/compute_beta/classes.rb', line 2290

def mode
  @mode
end

#scale_down_controlGoogle::Apis::ComputeBeta::AutoscalingPolicyScaleDownControl

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



2297
2298
2299
# File 'lib/google/apis/compute_beta/classes.rb', line 2297

def scale_down_control
  @scale_down_control
end

#scale_in_controlGoogle::Apis::ComputeBeta::AutoscalingPolicyScaleInControl

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



2304
2305
2306
# File 'lib/google/apis/compute_beta/classes.rb', line 2304

def scale_in_control
  @scale_in_control
end

#scaling_schedulesHash<String,Google::Apis::ComputeBeta::AutoscalingPolicyScalingSchedule>

Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. Corresponds to the JSON property scalingSchedules



2312
2313
2314
# File 'lib/google/apis/compute_beta/classes.rb', line 2312

def scaling_schedules
  @scaling_schedules
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
# File 'lib/google/apis/compute_beta/classes.rb', line 2319

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