Class: Google::Apis::ComputeAlpha::AutoscalingPolicyScaleDownControl
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::AutoscalingPolicyScaleDownControl
- Defined in:
- generated/google/apis/compute_alpha/classes.rb,
generated/google/apis/compute_alpha/representations.rb,
generated/google/apis/compute_alpha/representations.rb
Overview
Configuration that allows for slower scale down so that even if Autoscaler recommends an abrupt scale down of a MIG, it will be throttled as specified by the parameters below.
Instance Attribute Summary collapse
-
#max_scaled_down_replicas ⇒ Google::Apis::ComputeAlpha::FixedOrPercent
Encapsulates numeric value that can be either absolute or relative.
-
#time_window ⇒ Google::Apis::ComputeAlpha::GoogleDuration
A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution.
-
#time_window_sec ⇒ Fixnum
How long back autoscaling should look when computing recommendations to include directives regarding slower scale down, as described above.
Instance Method Summary collapse
-
#initialize(**args) ⇒ AutoscalingPolicyScaleDownControl
constructor
A new instance of AutoscalingPolicyScaleDownControl.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Google::Apis::Core::JsonObjectSupport
Methods included from Google::Apis::Core::Hashable
Constructor Details
#initialize(**args) ⇒ AutoscalingPolicyScaleDownControl
Returns a new instance of AutoscalingPolicyScaleDownControl.
2519 2520 2521 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 2519 def initialize(**args) update!(**args) end |
Instance Attribute Details
#max_scaled_down_replicas ⇒ Google::Apis::ComputeAlpha::FixedOrPercent
Encapsulates numeric value that can be either absolute or relative.
Corresponds to the JSON property maxScaledDownReplicas
2477 2478 2479 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 2477 def max_scaled_down_replicas @max_scaled_down_replicas end |
#time_window ⇒ Google::Apis::ComputeAlpha::GoogleDuration
A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +- 10,000 years.
Examples
Example 1: Compute Duration from two Timestamps in pseudo code.
Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos -
start.nanos;
if (duration.seconds 0) duration.seconds += 1; duration.nanos -= 1000000000;
else if (duration.seconds > 0 && duration.nanos < 0) duration.seconds -=
1; duration.nanos += 1000000000;
Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos +
duration.nanos;
if (end.nanos = 1000000000) end.seconds += 1; end.nanos -= 1000000000;
Example 3: Compute Duration from datetime.timedelta in Python.
td = datetime.timedelta(days=3, minutes=10) duration = Duration() duration.
FromTimedelta(td)
JSON Mapping
In JSON format, the Duration type is encoded as a string rather than an object,
where the string ends in the suffix "s" (indicating seconds) and is preceded
by the number of seconds, with nanoseconds expressed as fractional seconds.
For example, 3 seconds with 0 nanoseconds should be encoded in JSON format as "
3s", while 3 seconds and 1 nanosecond should be expressed in JSON format as "3.
000000001s", and 3 seconds and 1 microsecond should be expressed in JSON
format as "3.000001s".
Corresponds to the JSON property timeWindow
2511 2512 2513 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 2511 def time_window @time_window end |
#time_window_sec ⇒ Fixnum
How long back autoscaling should look when computing recommendations to
include directives regarding slower scale down, as described above.
Corresponds to the JSON property timeWindowSec
2517 2518 2519 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 2517 def time_window_sec @time_window_sec end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2524 2525 2526 2527 2528 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 2524 def update!(**args) @max_scaled_down_replicas = args[:max_scaled_down_replicas] if args.key?(:max_scaled_down_replicas) @time_window = args[:time_window] if args.key?(:time_window) @time_window_sec = args[:time_window_sec] if args.key?(:time_window_sec) end |