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, readInstance groups. For zonal Managed Instance Group, use the instanceGroupManagers resource. For regional Managed Instance Group, use theregionInstanceGroupManagers 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.
-
#current_actions ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerActionsSummary
Output only.
-
#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.
-
#instance_flexibility_policy ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerInstanceFlexibilityPolicy
Instance flexibility allowing MIG to create VMs from multiple types of machines.
-
#instance_group ⇒ String
Output only.
-
#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.
-
#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.
-
#resource_policies ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerResourcePolicies
Resource policies for this managed instance group.
-
#satisfies_pzi ⇒ Boolean
(also: #satisfies_pzi?)
Output only.
-
#satisfies_pzs ⇒ Boolean
(also: #satisfies_pzs?)
Output only.
-
#self_link ⇒ String
Output only.
-
#self_link_with_id ⇒ String
Output only.
-
#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.
-
#target_pools ⇒ Array<String>
The URLs for all TargetPool resources to which instances in theinstanceGroup field are added.
-
#target_size ⇒ Fixnum
The target number of running instances for this managed instance group.
-
#target_size_policy ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerTargetSizePolicy
The policy that specifies how the MIG creates its VMs to achieve the target size.
-
#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.
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.
26081 26082 26083 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 26081 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
25812 25813 25814 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25812 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
25818 25819 25820 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25818 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.
a-z
Corresponds to the JSON property baseInstanceName
25833 25834 25835 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25833 def base_instance_name @base_instance_name end |
#creation_timestamp ⇒ String
Output only. [Output Only] The creation timestamp for this managed instance
group inRFC3339
text format.
Corresponds to the JSON property creationTimestamp
25840 25841 25842 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25840 def @creation_timestamp end |
#current_actions ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerActionsSummary
Output only. [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
25848 25849 25850 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25848 def current_actions @current_actions end |
#description ⇒ String
An optional description of this resource.
Corresponds to the JSON property description
25853 25854 25855 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25853 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
25859 25860 25861 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25859 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
25865 25866 25867 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25865 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 error412 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.
25876 25877 25878 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25876 def fingerprint @fingerprint end |
#id ⇒ Fixnum
Output only. [Output Only] A unique identifier for this resource type. The
server
generates this identifier.
Corresponds to the JSON property id
25883 25884 25885 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25883 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
25891 25892 25893 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25891 def instance_flexibility_policy @instance_flexibility_policy end |
#instance_group ⇒ String
Output only. [Output Only] The URL of the Instance Group resource.
Corresponds to the JSON property instanceGroup
25896 25897 25898 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25896 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
25901 25902 25903 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25901 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,
runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE.
Corresponds to the JSON property instanceTemplate
25910 25911 25912 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25910 def instance_template @instance_template end |
#kind ⇒ String
Output only. [Output Only] The resource type, which is alwayscompute#
instanceGroupManager for managed instance groups.
Corresponds to the JSON property kind
25916 25917 25918 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25916 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
25922 25923 25924 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25922 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
25927 25928 25929 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25927 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 withRFC1035.
Corresponds to the JSON property name
25933 25934 25935 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25933 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
25939 25940 25941 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25939 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
25944 25945 25946 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25944 def params @params end |
#region ⇒ String
Output only. [Output Only] The URL of theregion
where the managed instance group resides (for regional resources).
Corresponds to the JSON property region
25950 25951 25952 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25950 def region @region end |
#resource_policies ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerResourcePolicies
Resource policies for this managed instance group.
Corresponds to the JSON property resourcePolicies
25955 25956 25957 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25955 def resource_policies @resource_policies end |
#satisfies_pzi ⇒ Boolean Also known as: satisfies_pzi?
Output only. [Output Only] Reserved for future use.
Corresponds to the JSON property satisfiesPzi
25960 25961 25962 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25960 def satisfies_pzi @satisfies_pzi end |
#satisfies_pzs ⇒ Boolean Also known as: satisfies_pzs?
Output only. [Output Only] Reserved for future use.
Corresponds to the JSON property satisfiesPzs
25966 25967 25968 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25966 def satisfies_pzs @satisfies_pzs end |
#self_link ⇒ String
Output only. [Output Only] The URL for this managed instance group. The server
defines
this URL.
Corresponds to the JSON property selfLink
25974 25975 25976 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25974 def self_link @self_link end |
#self_link_with_id ⇒ String
Output only. [Output Only] Server-defined URL for this resource with the
resource id.
Corresponds to the JSON property selfLinkWithId
25980 25981 25982 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25980 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
25989 25990 25991 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25989 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
25994 25995 25996 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25994 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
25999 26000 26001 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 25999 def stateful_policy @stateful_policy end |
#status ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerStatus
Output only. [Output Only] The status of this managed instance group.
Corresponds to the JSON property status
26004 26005 26006 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 26004 def status @status end |
#target_pools ⇒ Array<String>
The URLs for all TargetPool resources to which instances in theinstanceGroup
field are added. The target pools automatically
apply to all of the instances in the managed instance group.
Corresponds to the JSON property targetPools
26011 26012 26013 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 26011 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
26019 26020 26021 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 26019 def target_size @target_size end |
#target_size_policy ⇒ Google::Apis::ComputeAlpha::InstanceGroupManagerTargetSizePolicy
The policy that specifies how the MIG creates its VMs to achieve the target
size.
Corresponds to the JSON property targetSizePolicy
26025 26026 26027 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 26025 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
26030 26031 26032 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 26030 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
26042 26043 26044 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 26042 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
26054 26055 26056 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 26054 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
26059 26060 26061 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 26059 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 aname. Every version can
appear at most once per instance
group. This field overrides the top-level instanceTemplate
field. Read more about therelationships
between these fields. Exactly one version must leave thetargetSize field unset.
That version will be applied to all
remaining instances. For more information, read aboutcanary
updates.
Corresponds to the JSON property versions
26073 26074 26075 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 26073 def versions @versions end |
#zone ⇒ String
Output only. [Output Only] The URL of azone
where the managed instance group is located (for zonal resources).
Corresponds to the JSON property zone
26079 26080 26081 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 26079 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
26086 26087 26088 26089 26090 26091 26092 26093 26094 26095 26096 26097 26098 26099 26100 26101 26102 26103 26104 26105 26106 26107 26108 26109 26110 26111 26112 26113 26114 26115 26116 26117 26118 26119 26120 26121 26122 26123 26124 26125 26126 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 26086 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 |