class Google::Apis::ComputeV1::AutoscalingPolicy
Cloud Autoscaler
policy.
Attributes
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` @return [Fixnum]
CPU utilization policy. Corresponds to the JSON property `cpuUtilization` @return [Google::Apis::ComputeV1::AutoscalingPolicyCpuUtilization]
Configuration parameters of autoscaling based on a custom metric. Corresponds to the JSON property `customMetricUtilizations` @return [Array<Google::Apis::ComputeV1::AutoscalingPolicyCustomMetricUtilization>]
Configuration parameters of autoscaling based on load balancing. Corresponds to the JSON property `loadBalancingUtilization` @return [Google::Apis::ComputeV1::AutoscalingPolicyLoadBalancingUtilization]
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` @return [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` @return [Fixnum]
Defines operating mode for this policy. Corresponds to the JSON property `mode` @return [String]
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` @return [Google::Apis::ComputeV1::AutoscalingPolicyScaleInControl]
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` @return [Hash<String,Google::Apis::ComputeV1::AutoscalingPolicyScalingSchedule>]
Public Class Methods
# File lib/google/apis/compute_v1/classes.rb, line 2162 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File lib/google/apis/compute_v1/classes.rb, line 2167 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