Class: Google::Apis::ComputeBeta::AutoscalingPolicyScaleDownControl

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
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

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

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_replicasGoogle::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_windowGoogle::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