Class: Google::Apis::ComputeV1::InstanceGroupManager
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::InstanceGroupManager
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_v1/classes.rb,
lib/google/apis/compute_v1/representations.rb,
lib/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, 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::ComputeV1::InstanceGroupManagerAllInstancesConfig
Specifies configuration that overrides the instance template configuration for the group.
-
#auto_healing_policies ⇒ Array<Google::Apis::ComputeV1::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::ComputeV1::InstanceGroupManagerActionsSummary
Output only.
-
#description ⇒ String
An optional description of this resource.
-
#distribution_policy ⇒ Google::Apis::ComputeV1::DistributionPolicy
Policy specifying the intended distribution of managed instances across zones in a regional managed instance group.
-
#fingerprint ⇒ String
Fingerprint of this resource.
-
#id ⇒ Fixnum
Output only.
-
#instance_flexibility_policy ⇒ Google::Apis::ComputeV1::InstanceGroupManagerInstanceFlexibilityPolicy
Instance flexibility allowing MIG to create VMs from multiple types of machines.
-
#instance_group ⇒ String
Output only.
-
#instance_lifecycle_policy ⇒ Google::Apis::ComputeV1::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.
-
#name ⇒ String
The name of the managed instance group.
-
#named_ports ⇒ Array<Google::Apis::ComputeV1::NamedPort>
[Output Only] Named ports configured on the Instance Groups complementary to this Instance Group Manager.
-
#region ⇒ String
Output only.
-
#resource_policies ⇒ Google::Apis::ComputeV1::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.
-
#standby_policy ⇒ Google::Apis::ComputeV1::InstanceGroupManagerStandbyPolicy
Standby policy for stopped and suspended instances.
-
#stateful_policy ⇒ Google::Apis::ComputeV1::StatefulPolicy
Stateful configuration for this Instanced Group Manager Corresponds to the JSON property
statefulPolicy. -
#status ⇒ Google::Apis::ComputeV1::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::ComputeV1::InstanceGroupManagerTargetSizePolicy
The policy that specifies how the MIG creates its VMs to achieve 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::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.
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.
22776 22777 22778 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22776 def initialize(**args) update!(**args) end |
Instance Attribute Details
#all_instances_config ⇒ Google::Apis::ComputeV1::InstanceGroupManagerAllInstancesConfig
Specifies configuration that overrides the instance template configuration
for the group.
Corresponds to the JSON property allInstancesConfig
22547 22548 22549 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22547 def all_instances_config @all_instances_config end |
#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
22553 22554 22555 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22553 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
22568 22569 22570 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22568 def base_instance_name @base_instance_name end |
#creation_timestamp ⇒ String
Output only. The creation timestamp for this managed instance group inRFC3339
text format.
Corresponds to the JSON property creationTimestamp
22574 22575 22576 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22574 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
22581 22582 22583 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22581 def current_actions @current_actions end |
#description ⇒ String
An optional description of this resource.
Corresponds to the JSON property description
22586 22587 22588 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22586 def description @description end |
#distribution_policy ⇒ Google::Apis::ComputeV1::DistributionPolicy
Policy specifying the intended distribution of managed instances across
zones in a regional managed instance group.
Corresponds to the JSON property distributionPolicy
22592 22593 22594 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22592 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 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.
22603 22604 22605 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22603 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
22609 22610 22611 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22609 def id @id end |
#instance_flexibility_policy ⇒ Google::Apis::ComputeV1::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
22617 22618 22619 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22617 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
22622 22623 22624 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22622 def instance_group @instance_group end |
#instance_lifecycle_policy ⇒ Google::Apis::ComputeV1::InstanceGroupManagerInstanceLifecyclePolicy
The repair policy for this managed instance group.
Corresponds to the JSON property instanceLifecyclePolicy
22627 22628 22629 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22627 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
22636 22637 22638 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22636 def instance_template @instance_template end |
#kind ⇒ String
Output only. The resource type, which is alwayscompute#instanceGroupManager
for managed instance groups.
Corresponds to the JSON property kind
22642 22643 22644 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22642 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
22648 22649 22650 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22648 def list_managed_instances_results @list_managed_instances_results 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
22654 22655 22656 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22654 def name @name end |
#named_ports ⇒ Array<Google::Apis::ComputeV1::NamedPort>
[Output Only] Named ports configured on the Instance Groups complementary
to this Instance Group Manager.
Corresponds to the JSON property namedPorts
22660 22661 22662 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22660 def named_ports @named_ports 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
22666 22667 22668 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22666 def region @region end |
#resource_policies ⇒ Google::Apis::ComputeV1::InstanceGroupManagerResourcePolicies
Resource policies for this managed instance group.
Corresponds to the JSON property resourcePolicies
22671 22672 22673 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22671 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
22676 22677 22678 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22676 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
22682 22683 22684 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22682 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
22689 22690 22691 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22689 def self_link @self_link end |
#standby_policy ⇒ Google::Apis::ComputeV1::InstanceGroupManagerStandbyPolicy
Standby policy for stopped and suspended instances.
Corresponds to the JSON property standbyPolicy
22694 22695 22696 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22694 def standby_policy @standby_policy end |
#stateful_policy ⇒ Google::Apis::ComputeV1::StatefulPolicy
Stateful configuration for this Instanced Group Manager
Corresponds to the JSON property statefulPolicy
22699 22700 22701 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22699 def stateful_policy @stateful_policy end |
#status ⇒ Google::Apis::ComputeV1::InstanceGroupManagerStatus
Output only. The status of this managed instance group.
Corresponds to the JSON property status
22704 22705 22706 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22704 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
22711 22712 22713 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22711 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
22719 22720 22721 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22719 def target_size @target_size end |
#target_size_policy ⇒ Google::Apis::ComputeV1::InstanceGroupManagerTargetSizePolicy
The policy that specifies how the MIG creates its VMs to achieve the target
size.
Corresponds to the JSON property targetSizePolicy
22725 22726 22727 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22725 def target_size_policy @target_size_policy 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
22737 22738 22739 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22737 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
22749 22750 22751 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22749 def target_suspended_size @target_suspended_size end |
#update_policy ⇒ Google::Apis::ComputeV1::InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group.
Corresponds to the JSON property updatePolicy
22754 22755 22756 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22754 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 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
22768 22769 22770 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22768 def versions @versions end |
#zone ⇒ String
Output only. The URL of azone
where the managed instance group is located (for zonal resources).
Corresponds to the JSON property zone
22774 22775 22776 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22774 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
22781 22782 22783 22784 22785 22786 22787 22788 22789 22790 22791 22792 22793 22794 22795 22796 22797 22798 22799 22800 22801 22802 22803 22804 22805 22806 22807 22808 22809 22810 22811 22812 22813 22814 22815 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22781 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) @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) @name = args[:name] if args.key?(:name) @named_ports = args[:named_ports] if args.key?(:named_ports) @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) @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_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 |