Class: Google::Apis::ComputeV1::InstanceGroupManager
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::InstanceGroupManager
- 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 a Managed Instance Group resource.
An instance group is a collection of VM instances that you can manage as a
single entity. For more information, read Instance groups.
For zonal Managed Instance Group, use the instanceGroupManagers resource.
For regional Managed Instance Group, use the regionInstanceGroupManagers
resource. (== resource_for $api_version
.instanceGroupManagers ==) (==
resource_for $api_version
.regionInstanceGroupManagers ==)
Instance Attribute Summary collapse
-
#auto_healing_policies ⇒ Array<Google::Apis::ComputeV1::InstanceGroupManagerAutoHealingPolicy>
The autohealing policy for this managed instance group.
-
#base_instance_name ⇒ String
The base instance name to use for instances in this group.
-
#creation_timestamp ⇒ String
[Output Only] The creation timestamp for this managed instance group in RFC3339 text format.
-
#current_actions ⇒ Google::Apis::ComputeV1::InstanceGroupManagerActionsSummary
[Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions.
-
#description ⇒ String
An optional description of this resource.
-
#distribution_policy ⇒ Google::Apis::ComputeV1::DistributionPolicy
Policy specifying intended distribution of instances in regional managed instance group.
-
#fingerprint ⇒ String
Fingerprint of this resource.
-
#id ⇒ Fixnum
[Output Only] A unique identifier for this resource type.
-
#instance_group ⇒ String
[Output Only] The URL of the Instance Group resource.
-
#instance_template ⇒ String
The URL of the instance template that is specified for this managed instance group.
-
#kind ⇒ String
[Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups.
-
#name ⇒ String
The name of the managed instance group.
-
#named_ports ⇒ Array<Google::Apis::ComputeV1::NamedPort>
Named ports configured for the Instance Groups complementary to this Instance Group Manager.
-
#region ⇒ String
[Output Only] The URL of the region where the managed instance group resides ( for regional resources).
-
#self_link ⇒ String
[Output Only] The URL for this managed instance group.
-
#status ⇒ Google::Apis::ComputeV1::InstanceGroupManagerStatus
[Output Only] The status of this managed instance group.
-
#target_pools ⇒ Array<String>
The URLs for all TargetPool resources to which instances in the instanceGroup field are added.
-
#target_size ⇒ Fixnum
The target number of running instances for this managed instance group.
-
#update_policy ⇒ Google::Apis::ComputeV1::InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group.
-
#versions ⇒ Array<Google::Apis::ComputeV1::InstanceGroupManagerVersion>
Specifies the instance templates used by this managed instance group to create instances.
-
#zone ⇒ String
[Output Only] The URL of the zone where the managed instance group is located ( for zonal resources).
Instance Method Summary collapse
-
#initialize(**args) ⇒ InstanceGroupManager
constructor
A new instance of InstanceGroupManager.
-
#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) ⇒ InstanceGroupManager
Returns a new instance of InstanceGroupManager.
10447 10448 10449 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10447 def initialize(**args) update!(**args) end |
Instance Attribute Details
#auto_healing_policies ⇒ Array<Google::Apis::ComputeV1::InstanceGroupManagerAutoHealingPolicy>
The autohealing policy for this managed instance group. You can specify only
one value.
Corresponds to the JSON property autoHealingPolicies
10312 10313 10314 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10312 def auto_healing_policies @auto_healing_policies end |
#base_instance_name ⇒ String
The base instance name to use for instances in this group. The value must be 1-
58 characters long. Instances are named by appending a hyphen and a random
four-character string to the base instance name. The base instance name must
comply with RFC1035.
Corresponds to the JSON property baseInstanceName
10320 10321 10322 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10320 def base_instance_name @base_instance_name end |
#creation_timestamp ⇒ String
[Output Only] The creation timestamp for this managed instance group in
RFC3339 text format.
Corresponds to the JSON property creationTimestamp
10326 10327 10328 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10326 def @creation_timestamp end |
#current_actions ⇒ Google::Apis::ComputeV1::InstanceGroupManagerActionsSummary
[Output Only] The list of instance actions and the number of instances in this
managed instance group that are scheduled for each of those actions.
Corresponds to the JSON property currentActions
10332 10333 10334 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10332 def current_actions @current_actions end |
#description ⇒ String
An optional description of this resource. Provide this property when you
create the resource.
Corresponds to the JSON property description
10338 10339 10340 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10338 def description @description end |
#distribution_policy ⇒ Google::Apis::ComputeV1::DistributionPolicy
Policy specifying intended distribution of instances in regional managed
instance group.
Corresponds to the JSON property distributionPolicy
10344 10345 10346 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10344 def distribution_policy @distribution_policy end |
#fingerprint ⇒ String
Fingerprint of this resource. This field may be used in optimistic locking. It
will be ignored when inserting an InstanceGroupManager. An up-to-date
fingerprint must be provided in order to update the InstanceGroupManager,
otherwise the request will fail with error 412 conditionNotMet.
To see the latest fingerprint, make a get() request to retrieve an
InstanceGroupManager.
Corresponds to the JSON property fingerprint
NOTE: Values are automatically base64 encoded/decoded in the client library.
10355 10356 10357 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10355 def fingerprint @fingerprint end |
#id ⇒ Fixnum
[Output Only] A unique identifier for this resource type. The server generates
this identifier.
Corresponds to the JSON property id
10361 10362 10363 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10361 def id @id end |
#instance_group ⇒ String
[Output Only] The URL of the Instance Group resource.
Corresponds to the JSON property instanceGroup
10366 10367 10368 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10366 def instance_group @instance_group end |
#instance_template ⇒ String
The URL of the instance template that is specified for this managed instance
group. The group uses this template to create all new instances in the managed
instance group.
Corresponds to the JSON property instanceTemplate
10373 10374 10375 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10373 def instance_template @instance_template end |
#kind ⇒ String
[Output Only] The resource type, which is always compute#instanceGroupManager
for managed instance groups.
Corresponds to the JSON property kind
10379 10380 10381 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10379 def kind @kind end |
#name ⇒ String
The name of the managed instance group. The name must be 1-63 characters long,
and comply with RFC1035.
Corresponds to the JSON property name
10385 10386 10387 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10385 def name @name end |
#named_ports ⇒ Array<Google::Apis::ComputeV1::NamedPort>
Named ports configured for the Instance Groups complementary to this Instance
Group Manager.
Corresponds to the JSON property namedPorts
10391 10392 10393 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10391 def named_ports @named_ports end |
#region ⇒ String
[Output Only] The URL of the region where the managed instance group resides (
for regional resources).
Corresponds to the JSON property region
10397 10398 10399 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10397 def region @region end |
#self_link ⇒ String
[Output Only] The URL for this managed instance group. The server defines this
URL.
Corresponds to the JSON property selfLink
10403 10404 10405 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10403 def self_link @self_link end |
#status ⇒ Google::Apis::ComputeV1::InstanceGroupManagerStatus
[Output Only] The status of this managed instance group.
Corresponds to the JSON property status
10408 10409 10410 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10408 def status @status end |
#target_pools ⇒ Array<String>
The URLs for all TargetPool resources to which instances in the instanceGroup
field are added. The target pools automatically apply to all of the instances
in the managed instance group.
Corresponds to the JSON property targetPools
10415 10416 10417 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10415 def target_pools @target_pools end |
#target_size ⇒ Fixnum
The target number of running instances for this managed instance group.
Deleting or abandoning instances reduces this number. Resizing the group
changes this number.
Corresponds to the JSON property targetSize
10422 10423 10424 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10422 def target_size @target_size end |
#update_policy ⇒ Google::Apis::ComputeV1::InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group.
Corresponds to the JSON property updatePolicy
10427 10428 10429 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10427 def update_policy @update_policy end |
#versions ⇒ Array<Google::Apis::ComputeV1::InstanceGroupManagerVersion>
Specifies the instance templates used by this managed instance group to create
instances.
Each version is defined by an instanceTemplate and a name. Every version can
appear at most once per instance group. This field overrides the top-level
instanceTemplate field. Read more about the relationships between these fields.
Exactly one version must leave the targetSize field unset. That version will
be applied to all remaining instances. For more information, read about canary
updates.
Corresponds to the JSON property versions
10439 10440 10441 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10439 def versions @versions end |
#zone ⇒ String
[Output Only] The URL of the zone where the managed instance group is located (
for zonal resources).
Corresponds to the JSON property zone
10445 10446 10447 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10445 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
10452 10453 10454 10455 10456 10457 10458 10459 10460 10461 10462 10463 10464 10465 10466 10467 10468 10469 10470 10471 10472 10473 10474 |
# File 'generated/google/apis/compute_v1/classes.rb', line 10452 def update!(**args) @auto_healing_policies = args[:auto_healing_policies] if args.key?(:auto_healing_policies) @base_instance_name = args[:base_instance_name] if args.key?(:base_instance_name) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @current_actions = args[:current_actions] if args.key?(:current_actions) @description = args[:description] if args.key?(:description) @distribution_policy = args[:distribution_policy] if args.key?(:distribution_policy) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @instance_group = args[:instance_group] if args.key?(:instance_group) @instance_template = args[:instance_template] if args.key?(:instance_template) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @named_ports = args[:named_ports] if args.key?(:named_ports) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @status = args[:status] if args.key?(:status) @target_pools = args[:target_pools] if args.key?(:target_pools) @target_size = args[:target_size] if args.key?(:target_size) @update_policy = args[:update_policy] if args.key?(:update_policy) @versions = args[:versions] if args.key?(:versions) @zone = args[:zone] if args.key?(:zone) end |