Class: Google::Apis::ComputeAlpha::AutoscalingPolicy
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::AutoscalingPolicy
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb
Overview
Cloud Autoscaler policy.
Instance Attribute Summary collapse
-
#cool_down_period_sec ⇒ Fixnum
The number of seconds that the autoscaler waits before it starts collecting information from a new instance.
-
#cpu_utilization ⇒ Google::Apis::ComputeAlpha::AutoscalingPolicyCpuUtilization
CPU utilization policy.
-
#custom_metric_utilizations ⇒ Array<Google::Apis::ComputeAlpha::AutoscalingPolicyCustomMetricUtilization>
Configuration parameters of autoscaling based on a custom metric.
-
#load_balancing_utilization ⇒ Google::Apis::ComputeAlpha::AutoscalingPolicyLoadBalancingUtilization
Configuration parameters of autoscaling based on load balancing.
-
#max_num_replicas ⇒ Fixnum
The maximum number of instances that the autoscaler can scale out to.
-
#min_num_replicas ⇒ Fixnum
The minimum number of replicas that the autoscaler can scale in to.
-
#mode ⇒ String
Defines operating mode for this policy.
-
#scale_down_control ⇒ Google::Apis::ComputeAlpha::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.
-
#scale_in_control ⇒ Google::Apis::ComputeAlpha::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.
-
#scaling_schedules ⇒ Hash<String,Google::Apis::ComputeAlpha::AutoscalingPolicyScalingSchedule>
Scaling schedules defined for an autoscaler.
Instance Method Summary collapse
-
#initialize(**args) ⇒ AutoscalingPolicy
constructor
A new instance of AutoscalingPolicy.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ AutoscalingPolicy
Returns a new instance of AutoscalingPolicy.
2458 2459 2460 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2458 def initialize(**args) update!(**args) end |
Instance Attribute Details
#cool_down_period_sec ⇒ Fixnum
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
2400 2401 2402 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2400 def cool_down_period_sec @cool_down_period_sec end |
#cpu_utilization ⇒ Google::Apis::ComputeAlpha::AutoscalingPolicyCpuUtilization
CPU utilization policy.
Corresponds to the JSON property cpuUtilization
2405 2406 2407 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2405 def cpu_utilization @cpu_utilization end |
#custom_metric_utilizations ⇒ Array<Google::Apis::ComputeAlpha::AutoscalingPolicyCustomMetricUtilization>
Configuration parameters of autoscaling based on a custom metric.
Corresponds to the JSON property customMetricUtilizations
2410 2411 2412 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2410 def custom_metric_utilizations @custom_metric_utilizations end |
#load_balancing_utilization ⇒ Google::Apis::ComputeAlpha::AutoscalingPolicyLoadBalancingUtilization
Configuration parameters of autoscaling based on load balancing.
Corresponds to the JSON property loadBalancingUtilization
2415 2416 2417 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2415 def load_balancing_utilization @load_balancing_utilization end |
#max_num_replicas ⇒ Fixnum
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
2422 2423 2424 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2422 def max_num_replicas @max_num_replicas end |
#min_num_replicas ⇒ Fixnum
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
2429 2430 2431 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2429 def min_num_replicas @min_num_replicas end |
#mode ⇒ String
Defines operating mode for this policy.
Corresponds to the JSON property mode
2434 2435 2436 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2434 def mode @mode end |
#scale_down_control ⇒ Google::Apis::ComputeAlpha::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
2441 2442 2443 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2441 def scale_down_control @scale_down_control end |
#scale_in_control ⇒ Google::Apis::ComputeAlpha::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
2448 2449 2450 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2448 def scale_in_control @scale_in_control end |
#scaling_schedules ⇒ Hash<String,Google::Apis::ComputeAlpha::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
2456 2457 2458 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2456 def scaling_schedules @scaling_schedules end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2463 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 |