Class: Google::Apis::ComputeAlpha::InstanceGroupManager
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::InstanceGroupManager
- Defined in:
- generated/google/apis/compute_alpha/classes.rb,
generated/google/apis/compute_alpha/representations.rb,
generated/google/apis/compute_alpha/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::ComputeAlpha::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::ComputeAlpha::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::ComputeAlpha::DistributionPolicy
Policy specifying intended distribution of instances in regional managed instance group.
-
#failover_action ⇒ String
The action to perform in case of zone failure.
-
#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::ComputeAlpha::NamedPort>
Named ports configured for the Instance Groups complementary to this Instance Group Manager.
-
#pending_actions ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerPendingActionsSummary
[Deprecated] This field is deprecated and will be removed.
-
#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.
-
#self_link_with_id ⇒ String
[Output Only] Server-defined URL for this resource with the resource id.
-
#service_account ⇒ String
The service account to be used as credentials for all operations performed by the managed instance group on instances.
-
#stateful_policy ⇒ Google::Apis::ComputeAlpha::StatefulPolicy
Stateful configuration for this Instanced Group Manager Corresponds to the JSON property
statefulPolicy
. -
#status ⇒ Google::Apis::ComputeAlpha::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::ComputeAlpha::InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group.
-
#versions ⇒ Array<Google::Apis::ComputeAlpha::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.
12291 12292 12293 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12291 def initialize(**args) update!(**args) end |
Instance Attribute Details
#auto_healing_policies ⇒ Array<Google::Apis::ComputeAlpha::InstanceGroupManagerAutoHealingPolicy>
The autohealing policy for this managed instance group. You can specify only
one value.
Corresponds to the JSON property autoHealingPolicies
12123 12124 12125 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12123 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
12131 12132 12133 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12131 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
12137 12138 12139 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12137 def @creation_timestamp end |
#current_actions ⇒ Google::Apis::ComputeAlpha::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
12143 12144 12145 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12143 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
12149 12150 12151 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12149 def description @description end |
#distribution_policy ⇒ Google::Apis::ComputeAlpha::DistributionPolicy
Policy specifying intended distribution of instances in regional managed
instance group.
Corresponds to the JSON property distributionPolicy
12155 12156 12157 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12155 def distribution_policy @distribution_policy end |
#failover_action ⇒ String
The action to perform in case of zone failure. Only one value is supported,
NO_FAILOVER. The default is NO_FAILOVER.
Corresponds to the JSON property failoverAction
12161 12162 12163 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12161 def failover_action @failover_action 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.
12172 12173 12174 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12172 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
12178 12179 12180 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12178 def id @id end |
#instance_group ⇒ String
[Output Only] The URL of the Instance Group resource.
Corresponds to the JSON property instanceGroup
12183 12184 12185 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12183 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
12190 12191 12192 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12190 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
12196 12197 12198 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12196 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
12202 12203 12204 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12202 def name @name end |
#named_ports ⇒ Array<Google::Apis::ComputeAlpha::NamedPort>
Named ports configured for the Instance Groups complementary to this Instance
Group Manager.
Corresponds to the JSON property namedPorts
12208 12209 12210 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12208 def named_ports @named_ports end |
#pending_actions ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerPendingActionsSummary
[Deprecated] This field is deprecated and will be removed. Prefer using the
status field instead. Please contact cloud-updater-feedback@google.com to
leave feedback if your workload relies on this field. [Output Only] The list
of instance actions and the number of instances in this managed instance group
that are pending for each of those actions.
Corresponds to the JSON property pendingActions
12217 12218 12219 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12217 def pending_actions @pending_actions 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
12223 12224 12225 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12223 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
12229 12230 12231 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12229 def self_link @self_link end |
#self_link_with_id ⇒ String
[Output Only] Server-defined URL for this resource with the resource id.
Corresponds to the JSON property selfLinkWithId
12234 12235 12236 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12234 def self_link_with_id @self_link_with_id end |
#service_account ⇒ String
The service account to be used as credentials for all operations performed by
the managed instance group on instances. The service accounts needs all
permissions required to create and delete instances. By default, the service
account projectNumber
@cloudservices.gserviceaccount.com is used.
Corresponds to the JSON property serviceAccount
12242 12243 12244 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12242 def service_account @service_account end |
#stateful_policy ⇒ Google::Apis::ComputeAlpha::StatefulPolicy
Stateful configuration for this Instanced Group Manager
Corresponds to the JSON property statefulPolicy
12247 12248 12249 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12247 def stateful_policy @stateful_policy end |
#status ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerStatus
[Output Only] The status of this managed instance group.
Corresponds to the JSON property status
12252 12253 12254 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12252 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
12259 12260 12261 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12259 def target_pools @target_pools end |
#target_size ⇒ Fixnum
The target number of running instances for this managed instance group. You
can reduce this number by using the instanceGroupManager deleteInstances or
abandonInstances methods. Resizing the group also changes this number.
Corresponds to the JSON property targetSize
12266 12267 12268 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12266 def target_size @target_size end |
#update_policy ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group.
Corresponds to the JSON property updatePolicy
12271 12272 12273 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12271 def update_policy @update_policy end |
#versions ⇒ Array<Google::Apis::ComputeAlpha::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
12283 12284 12285 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12283 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
12289 12290 12291 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12289 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
12296 12297 12298 12299 12300 12301 12302 12303 12304 12305 12306 12307 12308 12309 12310 12311 12312 12313 12314 12315 12316 12317 12318 12319 12320 12321 12322 12323 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 12296 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) @failover_action = args[:failover_action] if args.key?(:failover_action) @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) @pending_actions = args[:pending_actions] if args.key?(:pending_actions) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @service_account = args[:service_account] if args.key?(:service_account) @stateful_policy = args[:stateful_policy] if args.key?(:stateful_policy) @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 |