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.
2507 2508 2509 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 2507 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
2465 2466 2467 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 2465 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
2499 2500 2501 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 2499 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
2505 2506 2507 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 2505 def time_window_sec @time_window_sec end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2512 2513 2514 2515 2516 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 2512 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 |