Class: Google::Apis::ComputeV1::AutoscalingPolicy
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::AutoscalingPolicy
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_v1/classes.rb,
lib/google/apis/compute_v1/representations.rb,
lib/google/apis/compute_v1/representations.rb
Overview
Cloud Autoscaler policy.
Instance Attribute Summary collapse
-
#cool_down_period_sec ⇒ Fixnum
The number of seconds that your application takes to initialize on a VM instance.
-
#cpu_utilization ⇒ Google::Apis::ComputeV1::AutoscalingPolicyCpuUtilization
CPU utilization policy.
-
#custom_metric_utilizations ⇒ Array<Google::Apis::ComputeV1::AutoscalingPolicyCustomMetricUtilization>
Configuration parameters of autoscaling based on a custom metric.
-
#load_balancing_utilization ⇒ Google::Apis::ComputeV1::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 the operating mode for this policy.
-
#scale_in_control ⇒ Google::Apis::ComputeV1::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::ComputeV1::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.
2480 2481 2482 |
# File 'lib/google/apis/compute_v1/classes.rb', line 2480 def initialize(**args) update!(**args) end |
Instance Attribute Details
#cool_down_period_sec ⇒ Fixnum
The number of seconds that your application takes to initialize on a VM
instance. This is referred to as the initialization period. Specifying an accurate initialization period
improves autoscaler decisions. For example, when scaling out, the autoscaler
ignores data from VMs that are still initializing because those VMs might not
yet represent normal usage of your application. The default initialization
period is 60 seconds. Initialization periods might vary because of numerous
factors. We recommend that you test how long your application takes to
initialize. To do this, create a VM and time your application's startup
process.
Corresponds to the JSON property coolDownPeriodSec
2425 2426 2427 |
# File 'lib/google/apis/compute_v1/classes.rb', line 2425 def cool_down_period_sec @cool_down_period_sec end |
#cpu_utilization ⇒ Google::Apis::ComputeV1::AutoscalingPolicyCpuUtilization
CPU utilization policy.
Corresponds to the JSON property cpuUtilization
2430 2431 2432 |
# File 'lib/google/apis/compute_v1/classes.rb', line 2430 def cpu_utilization @cpu_utilization end |
#custom_metric_utilizations ⇒ Array<Google::Apis::ComputeV1::AutoscalingPolicyCustomMetricUtilization>
Configuration parameters of autoscaling based on a custom metric.
Corresponds to the JSON property customMetricUtilizations
2435 2436 2437 |
# File 'lib/google/apis/compute_v1/classes.rb', line 2435 def custom_metric_utilizations @custom_metric_utilizations end |
#load_balancing_utilization ⇒ Google::Apis::ComputeV1::AutoscalingPolicyLoadBalancingUtilization
Configuration parameters of autoscaling based on load balancing.
Corresponds to the JSON property loadBalancingUtilization
2440 2441 2442 |
# File 'lib/google/apis/compute_v1/classes.rb', line 2440 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
2447 2448 2449 |
# File 'lib/google/apis/compute_v1/classes.rb', line 2447 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
2454 2455 2456 |
# File 'lib/google/apis/compute_v1/classes.rb', line 2454 def min_num_replicas @min_num_replicas end |
#mode ⇒ String
Defines the operating mode for this policy. The following modes are available:
- OFF: Disables the autoscaler but maintains its configuration. -
ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON:
Enables all autoscaler activities according to its policy. For more
information, see "Turning off or restricting an autoscaler"
Corresponds to the JSON property
mode
2463 2464 2465 |
# File 'lib/google/apis/compute_v1/classes.rb', line 2463 def mode @mode end |
#scale_in_control ⇒ Google::Apis::ComputeV1::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
2470 2471 2472 |
# File 'lib/google/apis/compute_v1/classes.rb', line 2470 def scale_in_control @scale_in_control end |
#scaling_schedules ⇒ Hash<String,Google::Apis::ComputeV1::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
2478 2479 2480 |
# File 'lib/google/apis/compute_v1/classes.rb', line 2478 def scaling_schedules @scaling_schedules end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 |
# File 'lib/google/apis/compute_v1/classes.rb', line 2485 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_in_control = args[:scale_in_control] if args.key?(:scale_in_control) @scaling_schedules = args[:scaling_schedules] if args.key?(:scaling_schedules) end |