class Google::Apis::ComputeBeta::InstanceGroupManager
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.
Attributes
The autohealing policy for this managed instance group. You can specify only one value. Corresponds to the JSON property `autoHealingPolicies` @return [Array<Google::Apis::ComputeBeta::InstanceGroupManagerAutoHealingPolicy>]
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` @return [String]
- Output Only
-
The creation timestamp for this managed instance group in
RFC3339 text format. Corresponds to the JSON property `creationTimestamp` @return [String]
- 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` @return [Google::Apis::ComputeBeta::InstanceGroupManagerActionsSummary]
An optional description of this resource. Corresponds to the JSON property `description` @return [String]
Policy
specifying the intended distribution of managed instances across zones in a regional managed instance group. Corresponds to the JSON property `distributionPolicy` @return [Google::Apis::ComputeBeta::DistributionPolicy]
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` @return [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. @return [String]
- Output Only
-
A unique identifier for this resource type. The server generates
this identifier. Corresponds to the JSON property `id` @return [Fixnum]
- Output Only
-
The URL of the
Instance
Group resource.
Corresponds to the JSON property `instanceGroup` @return [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. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE. Corresponds to the JSON property `instanceTemplate` @return [String]
- Output Only
-
The resource type, which is always compute#instanceGroupManager
for managed instance groups. Corresponds to the JSON property `kind` @return [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` @return [String]
- Output Only
-
The URL of the region where the managed instance group resides (
for regional resources). Corresponds to the JSON property `region` @return [String]
- Output Only
-
The URL for this managed instance group. The server defines this
URL. Corresponds to the JSON property `selfLink` @return [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` @return [String]
Stateful configuration for this Instanced Group Manager Corresponds to the JSON property `statefulPolicy` @return [Google::Apis::ComputeBeta::StatefulPolicy]
- Output Only
-
The status of this managed instance group.
Corresponds to the JSON property `status` @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatus]
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` @return [Array<String>]
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` @return [Fixnum]
The update policy for this managed instance group. Corresponds to the JSON property `updatePolicy` @return [Google::Apis::ComputeBeta::InstanceGroupManagerUpdatePolicy]
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` @return [Array<Google::Apis::ComputeBeta::InstanceGroupManagerVersion>]
- Output Only
-
The URL of a zone where the managed instance group is located (
for zonal resources). Corresponds to the JSON property `zone` @return [String]
Public Class Methods
# File lib/google/apis/compute_beta/classes.rb, line 13367 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File lib/google/apis/compute_beta/classes.rb, line 13372 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) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @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