Class: Google::Apis::ComputeBeta::AutoscalingPolicyScaleDownControl
- Inherits:
-
Object
- Object
- Google::Apis::ComputeBeta::AutoscalingPolicyScaleDownControl
- Defined in:
- generated/google/apis/compute_beta/classes.rb,
generated/google/apis/compute_beta/representations.rb,
generated/google/apis/compute_beta/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::ComputeBeta::FixedOrPercent
Encapsulates numeric value that can be either absolute or relative.
-
#time_window ⇒ Google::Apis::ComputeBeta::GoogleDuration
A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution.
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.
2294 2295 2296 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2294 def initialize(**args) update!(**args) end |
Instance Attribute Details
#max_scaled_down_replicas ⇒ Google::Apis::ComputeBeta::FixedOrPercent
Encapsulates numeric value that can be either absolute or relative.
Corresponds to the JSON property maxScaledDownReplicas
2258 2259 2260 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2258 def max_scaled_down_replicas @max_scaled_down_replicas end |
#time_window ⇒ Google::Apis::ComputeBeta::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
2292 2293 2294 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2292 def time_window @time_window end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2299 2300 2301 2302 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2299 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) end |