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

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ AutoscalingPolicy

Returns a new instance of AutoscalingPolicy.



2518
2519
2520
# File 'lib/google/apis/compute_alpha/classes.rb', line 2518

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)


2460
2461
2462
# File 'lib/google/apis/compute_alpha/classes.rb', line 2460

def cool_down_period_sec
  @cool_down_period_sec
end

#cpu_utilizationGoogle::Apis::ComputeAlpha::AutoscalingPolicyCpuUtilization

CPU utilization policy. Corresponds to the JSON property cpuUtilization



2465
2466
2467
# File 'lib/google/apis/compute_alpha/classes.rb', line 2465

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



2470
2471
2472
# File 'lib/google/apis/compute_alpha/classes.rb', line 2470

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



2475
2476
2477
# File 'lib/google/apis/compute_alpha/classes.rb', line 2475

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)


2482
2483
2484
# File 'lib/google/apis/compute_alpha/classes.rb', line 2482

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)


2489
2490
2491
# File 'lib/google/apis/compute_alpha/classes.rb', line 2489

def min_num_replicas
  @min_num_replicas
end

#modeString

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

Returns:

  • (String)


2494
2495
2496
# File 'lib/google/apis/compute_alpha/classes.rb', line 2494

def mode
  @mode
end

#scale_down_controlGoogle::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



2501
2502
2503
# File 'lib/google/apis/compute_alpha/classes.rb', line 2501

def scale_down_control
  @scale_down_control
end

#scale_in_controlGoogle::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



2508
2509
2510
# File 'lib/google/apis/compute_alpha/classes.rb', line 2508

def scale_in_control
  @scale_in_control
end

#scaling_schedulesHash<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



2516
2517
2518
# File 'lib/google/apis/compute_alpha/classes.rb', line 2516

def scaling_schedules
  @scaling_schedules
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
# File 'lib/google/apis/compute_alpha/classes.rb', line 2523

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