Class: Google::Apis::ComputeAlpha::InstanceGroupManager
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::InstanceGroupManager
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/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.
Instance Attribute Summary collapse
-
#all_instances_config ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerAllInstancesConfig
Specifies configuration that overrides the instance template configuration for the group.
-
#auto_healing_policies ⇒ Array<Google::Apis::ComputeAlpha::InstanceGroupManagerAutoHealingPolicy>
The autohealing policy for this managed instance group.
-
#base_instance_name ⇒ String
The base instance name is a prefix that you want to attach to the names of all VMs in a MIG.
-
#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 the intended distribution of managed instances across zones in a 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_flexibility_policy ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerInstanceFlexibilityPolicy
Instance flexibility allowing MIG to create VMs from multiple types of machines.
-
#instance_group ⇒ String
[Output Only] The URL of the Instance Group resource.
-
#instance_lifecycle_policy ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerInstanceLifecyclePolicy
The repair policy for this managed instance group.
-
#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.
-
#list_managed_instances_results ⇒ String
Pagination behavior of the listManagedInstances API method for this managed instance group.
-
#multi_mig ⇒ String
URL to the multi-MIG that this Managed Instance Group belongs to.
-
#name ⇒ String
The name of the managed instance group.
-
#named_ports ⇒ Array<Google::Apis::ComputeAlpha::NamedPort>
[Output Only] Named ports configured on the Instance Groups complementary to this Instance Group Manager.
-
#params ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerParams
Input only additional params for instance group manager creation.
-
#region ⇒ String
[Output Only] The URL of the region where the managed instance group resides ( for regional resources).
-
#resource_policies ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerResourcePolicies
Resource policies for this managed instance group.
-
#satisfies_pzi ⇒ Boolean
(also: #satisfies_pzi?)
[Output Only] Reserved for future use.
-
#satisfies_pzs ⇒ Boolean
(also: #satisfies_pzs?)
[Output Only] Reserved for future use.
-
#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.
-
#standby_policy ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerStandbyPolicy
Standby policy for stopped and suspended 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.
-
#target_size_policy ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerTargetSizePolicy
Configures how target size of MIG is achieved.
-
#target_size_unit ⇒ String
The unit of measure for the target size.
-
#target_stopped_size ⇒ Fixnum
The target number of stopped instances for this managed instance group.
-
#target_suspended_size ⇒ Fixnum
The target number of suspended 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 a 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.
Constructor Details
#initialize(**args) ⇒ InstanceGroupManager
Returns a new instance of InstanceGroupManager.
18163 18164 18165 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18163 def initialize(**args) update!(**args) end |
Instance Attribute Details
#all_instances_config ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerAllInstancesConfig
Specifies configuration that overrides the instance template configuration for
the group.
Corresponds to the JSON property allInstancesConfig
17918 17919 17920 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17918 def all_instances_config @all_instances_config end |
#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
17924 17925 17926 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17924 def auto_healing_policies @auto_healing_policies end |
#base_instance_name ⇒ String
The base instance name is a prefix that you want to attach to the names of all
VMs in a MIG. The maximum character length is 58 and the name must comply with
RFC1035 format. When a VM is created in the group, the MIG appends a hyphen
and a random four-character string to the base instance name. If you want the
MIG to assign sequential numbers instead of a random string, then end the base
instance name with a hyphen followed by one or more hash symbols. The hash
symbols indicate the number of digits. For example, a base instance name of "
vm-###" results in "vm-001" as a VM name. @pattern a-z
Corresponds to the JSON property baseInstanceName
17937 17938 17939 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17937 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
17943 17944 17945 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17943 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
17949 17950 17951 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17949 def current_actions @current_actions end |
#description ⇒ String
An optional description of this resource.
Corresponds to the JSON property description
17954 17955 17956 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17954 def description @description end |
#distribution_policy ⇒ Google::Apis::ComputeAlpha::DistributionPolicy
Policy specifying the intended distribution of managed instances across zones
in a regional managed instance group.
Corresponds to the JSON property distributionPolicy
17960 17961 17962 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17960 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
17966 17967 17968 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17966 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.
17976 17977 17978 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17976 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
17982 17983 17984 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17982 def id @id end |
#instance_flexibility_policy ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerInstanceFlexibilityPolicy
Instance flexibility allowing MIG to create VMs from multiple types of
machines. Instance flexibility configuration on MIG overrides instance
template configuration.
Corresponds to the JSON property instanceFlexibilityPolicy
17989 17990 17991 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17989 def instance_flexibility_policy @instance_flexibility_policy end |
#instance_group ⇒ String
[Output Only] The URL of the Instance Group resource.
Corresponds to the JSON property instanceGroup
17994 17995 17996 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17994 def instance_group @instance_group end |
#instance_lifecycle_policy ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerInstanceLifecyclePolicy
The repair policy for this managed instance group.
Corresponds to the JSON property instanceLifecyclePolicy
17999 18000 18001 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 17999 def instance_lifecycle_policy @instance_lifecycle_policy 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. 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
18008 18009 18010 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18008 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
18014 18015 18016 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18014 def kind @kind end |
#list_managed_instances_results ⇒ String
Pagination behavior of the listManagedInstances API method for this managed
instance group.
Corresponds to the JSON property listManagedInstancesResults
18020 18021 18022 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18020 def list_managed_instances_results @list_managed_instances_results end |
#multi_mig ⇒ String
URL to the multi-MIG that this Managed Instance Group belongs to.
Corresponds to the JSON property multiMig
18025 18026 18027 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18025 def multi_mig @multi_mig 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
18031 18032 18033 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18031 def name @name end |
#named_ports ⇒ Array<Google::Apis::ComputeAlpha::NamedPort>
[Output Only] Named ports configured on the Instance Groups complementary to
this Instance Group Manager.
Corresponds to the JSON property namedPorts
18037 18038 18039 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18037 def named_ports @named_ports end |
#params ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerParams
Input only additional params for instance group manager creation.
Corresponds to the JSON property params
18042 18043 18044 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18042 def params @params 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
18048 18049 18050 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18048 def region @region end |
#resource_policies ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerResourcePolicies
Resource policies for this managed instance group.
Corresponds to the JSON property resourcePolicies
18053 18054 18055 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18053 def resource_policies @resource_policies end |
#satisfies_pzi ⇒ Boolean Also known as: satisfies_pzi?
[Output Only] Reserved for future use.
Corresponds to the JSON property satisfiesPzi
18058 18059 18060 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18058 def satisfies_pzi @satisfies_pzi end |
#satisfies_pzs ⇒ Boolean Also known as: satisfies_pzs?
[Output Only] Reserved for future use.
Corresponds to the JSON property satisfiesPzs
18064 18065 18066 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18064 def satisfies_pzs @satisfies_pzs end |
#self_link ⇒ String
[Output Only] The URL for this managed instance group. The server defines this
URL.
Corresponds to the JSON property selfLink
18071 18072 18073 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18071 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
18076 18077 18078 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18076 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
18084 18085 18086 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18084 def service_account @service_account end |
#standby_policy ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerStandbyPolicy
Standby policy for stopped and suspended instances.
Corresponds to the JSON property standbyPolicy
18089 18090 18091 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18089 def standby_policy @standby_policy end |
#stateful_policy ⇒ Google::Apis::ComputeAlpha::StatefulPolicy
Stateful configuration for this Instanced Group Manager
Corresponds to the JSON property statefulPolicy
18094 18095 18096 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18094 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
18099 18100 18101 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18099 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
18106 18107 18108 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18106 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
18113 18114 18115 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18113 def target_size @target_size end |
#target_size_policy ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerTargetSizePolicy
Configures how target size of MIG is achieved.
Corresponds to the JSON property targetSizePolicy
18118 18119 18120 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18118 def target_size_policy @target_size_policy end |
#target_size_unit ⇒ String
The unit of measure for the target size.
Corresponds to the JSON property targetSizeUnit
18123 18124 18125 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18123 def target_size_unit @target_size_unit end |
#target_stopped_size ⇒ Fixnum
The target number of stopped instances for this managed instance group. This
number changes when you: - Stop instance using the stopInstances method or
start instances using the startInstances method. - Manually change the
targetStoppedSize using the update method.
Corresponds to the JSON property targetStoppedSize
18131 18132 18133 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18131 def target_stopped_size @target_stopped_size end |
#target_suspended_size ⇒ Fixnum
The target number of suspended instances for this managed instance group. This
number changes when you: - Suspend instance using the suspendInstances method
or resume instances using the resumeInstances method. - Manually change the
targetSuspendedSize using the update method.
Corresponds to the JSON property targetSuspendedSize
18139 18140 18141 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18139 def target_suspended_size @target_suspended_size end |
#update_policy ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group.
Corresponds to the JSON property updatePolicy
18144 18145 18146 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18144 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
18155 18156 18157 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18155 def versions @versions end |
#zone ⇒ String
[Output Only] The URL of a zone where the managed instance group is located (
for zonal resources).
Corresponds to the JSON property zone
18161 18162 18163 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18161 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
18168 18169 18170 18171 18172 18173 18174 18175 18176 18177 18178 18179 18180 18181 18182 18183 18184 18185 18186 18187 18188 18189 18190 18191 18192 18193 18194 18195 18196 18197 18198 18199 18200 18201 18202 18203 18204 18205 18206 18207 18208 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 18168 def update!(**args) @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config) @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_flexibility_policy = args[:instance_flexibility_policy] if args.key?(:instance_flexibility_policy) @instance_group = args[:instance_group] if args.key?(:instance_group) @instance_lifecycle_policy = args[:instance_lifecycle_policy] if args.key?(:instance_lifecycle_policy) @instance_template = args[:instance_template] if args.key?(:instance_template) @kind = args[:kind] if args.key?(:kind) @list_managed_instances_results = args[:list_managed_instances_results] if args.key?(:list_managed_instances_results) @multi_mig = args[:multi_mig] if args.key?(:multi_mig) @name = args[:name] if args.key?(:name) @named_ports = args[:named_ports] if args.key?(:named_ports) @params = args[:params] if args.key?(:params) @region = args[:region] if args.key?(:region) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @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) @standby_policy = args[:standby_policy] if args.key?(:standby_policy) @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) @target_size_policy = args[:target_size_policy] if args.key?(:target_size_policy) @target_size_unit = args[:target_size_unit] if args.key?(:target_size_unit) @target_stopped_size = args[:target_stopped_size] if args.key?(:target_stopped_size) @target_suspended_size = args[:target_suspended_size] if args.key?(:target_suspended_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 |