Class: Google::Apis::ComputeV1::Autoscaler

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
generated/google/apis/compute_v1/classes.rb,
generated/google/apis/compute_v1/representations.rb,
generated/google/apis/compute_v1/representations.rb

Overview

Represents an Autoscaler resource. Autoscalers allow you to automatically scale virtual machine instances in managed instance groups according to an autoscaling policy that you define. For more information, read Autoscaling Groups of Instances.

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) ⇒ Autoscaler

Returns a new instance of Autoscaler.



584
585
586
# File 'generated/google/apis/compute_v1/classes.rb', line 584

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#autoscaling_policyGoogle::Apis::ComputeV1::AutoscalingPolicy

Cloud Autoscaler policy. Corresponds to the JSON property autoscalingPolicy



534
535
536
# File 'generated/google/apis/compute_v1/classes.rb', line 534

def autoscaling_policy
  @autoscaling_policy
end

#creation_timestampString

[Output Only] Creation timestamp in RFC3339 text format. Corresponds to the JSON property creationTimestamp

Returns:

  • (String)


539
540
541
# File 'generated/google/apis/compute_v1/classes.rb', line 539

def creation_timestamp
  @creation_timestamp
end

#descriptionString

An optional description of this resource. Provide this property when you create the resource. Corresponds to the JSON property description

Returns:

  • (String)


545
546
547
# File 'generated/google/apis/compute_v1/classes.rb', line 545

def description
  @description
end

#idString

[Output Only] The unique identifier for the resource. This identifier is defined by the server. Corresponds to the JSON property id

Returns:

  • (String)


551
552
553
# File 'generated/google/apis/compute_v1/classes.rb', line 551

def id
  @id
end

#kindString

[Output Only] Type of the resource. Always compute#autoscaler for autoscalers. Corresponds to the JSON property kind

Returns:

  • (String)


556
557
558
# File 'generated/google/apis/compute_v1/classes.rb', line 556

def kind
  @kind
end

#nameString

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression a-z? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. Corresponds to the JSON property name

Returns:

  • (String)


566
567
568
# File 'generated/google/apis/compute_v1/classes.rb', line 566

def name
  @name
end

[Output Only] Server-defined URL for the resource. Corresponds to the JSON property selfLink

Returns:

  • (String)


571
572
573
# File 'generated/google/apis/compute_v1/classes.rb', line 571

def self_link
  @self_link
end

#targetString

URL of the managed instance group that this autoscaler will scale. Corresponds to the JSON property target

Returns:

  • (String)


576
577
578
# File 'generated/google/apis/compute_v1/classes.rb', line 576

def target
  @target
end

#zoneString

[Output Only] URL of the zone where the instance group resides (for autoscalers living in zonal scope). Corresponds to the JSON property zone

Returns:

  • (String)


582
583
584
# File 'generated/google/apis/compute_v1/classes.rb', line 582

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



589
590
591
592
593
594
595
596
597
598
599
# File 'generated/google/apis/compute_v1/classes.rb', line 589

def update!(**args)
  @autoscaling_policy = args[:autoscaling_policy] if args.key?(:autoscaling_policy)
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
  @description = args[:description] if args.key?(:description)
  @id = args[:id] if args.key?(:id)
  @kind = args[:kind] if args.key?(:kind)
  @name = args[:name] if args.key?(:name)
  @self_link = args[:self_link] if args.key?(:self_link)
  @target = args[:target] if args.key?(:target)
  @zone = args[:zone] if args.key?(:zone)
end