Class: Google::Apis::ComputeBeta::InstanceGroupManager
- Inherits:
-
Object
- Object
- Google::Apis::ComputeBeta::InstanceGroupManager
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_beta/classes.rb,
lib/google/apis/compute_beta/representations.rb,
lib/google/apis/compute_beta/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::ComputeBeta::InstanceGroupManagerAllInstancesConfig
Specifies configuration that overrides the instance template configuration for the group.
-
#auto_healing_policies ⇒ Array<Google::Apis::ComputeBeta::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::ComputeBeta::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::ComputeBeta::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::ComputeBeta::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::ComputeBeta::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.
-
#name ⇒ String
The name of the managed instance group.
-
#named_ports ⇒ Array<Google::Apis::ComputeBeta::NamedPort>
Named ports configured for the Instance Groups complementary to this Instance Group Manager.
-
#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.
-
#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::ComputeBeta::InstanceGroupManagerStandbyPolicy
Standby policy for stopped and suspended instances.
-
#stateful_policy ⇒ Google::Apis::ComputeBeta::StatefulPolicy
Stateful configuration for this Instanced Group Manager Corresponds to the JSON property
statefulPolicy. -
#status ⇒ Google::Apis::ComputeBeta::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_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::ComputeBeta::InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group.
-
#versions ⇒ Array<Google::Apis::ComputeBeta::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.
15809 15810 15811 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15809 def initialize(**args) update!(**args) end |
Instance Attribute Details
#all_instances_config ⇒ Google::Apis::ComputeBeta::InstanceGroupManagerAllInstancesConfig
Specifies configuration that overrides the instance template configuration for
the group.
Corresponds to the JSON property allInstancesConfig
15611 15612 15613 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15611 def all_instances_config @all_instances_config end |
#auto_healing_policies ⇒ Array<Google::Apis::ComputeBeta::InstanceGroupManagerAutoHealingPolicy>
The autohealing policy for this managed instance group. You can specify only
one value.
Corresponds to the JSON property autoHealingPolicies
15617 15618 15619 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15617 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
15625 15626 15627 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15625 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
15631 15632 15633 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15631 def @creation_timestamp end |
#current_actions ⇒ Google::Apis::ComputeBeta::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
15637 15638 15639 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15637 def current_actions @current_actions end |
#description ⇒ String
An optional description of this resource.
Corresponds to the JSON property description
15642 15643 15644 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15642 def description @description end |
#distribution_policy ⇒ Google::Apis::ComputeBeta::DistributionPolicy
Policy specifying the intended distribution of managed instances across zones
in a regional managed instance group.
Corresponds to the JSON property distributionPolicy
15648 15649 15650 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15648 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
15654 15655 15656 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15654 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.
15664 15665 15666 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15664 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
15670 15671 15672 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15670 def id @id end |
#instance_flexibility_policy ⇒ Google::Apis::ComputeBeta::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
15677 15678 15679 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15677 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
15682 15683 15684 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15682 def instance_group @instance_group end |
#instance_lifecycle_policy ⇒ Google::Apis::ComputeBeta::InstanceGroupManagerInstanceLifecyclePolicy
The repair policy for this managed instance group.
Corresponds to the JSON property instanceLifecyclePolicy
15687 15688 15689 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15687 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
15696 15697 15698 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15696 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
15702 15703 15704 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15702 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
15708 15709 15710 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15708 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 with RFC1035.
Corresponds to the JSON property name
15714 15715 15716 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15714 def name @name end |
#named_ports ⇒ Array<Google::Apis::ComputeBeta::NamedPort>
Named ports configured for the Instance Groups complementary to this Instance
Group Manager.
Corresponds to the JSON property namedPorts
15720 15721 15722 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15720 def named_ports @named_ports 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
15726 15727 15728 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15726 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
15732 15733 15734 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15732 def self_link @self_link 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
15740 15741 15742 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15740 def service_account @service_account end |
#standby_policy ⇒ Google::Apis::ComputeBeta::InstanceGroupManagerStandbyPolicy
Standby policy for stopped and suspended instances.
Corresponds to the JSON property standbyPolicy
15745 15746 15747 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15745 def standby_policy @standby_policy end |
#stateful_policy ⇒ Google::Apis::ComputeBeta::StatefulPolicy
Stateful configuration for this Instanced Group Manager
Corresponds to the JSON property statefulPolicy
15750 15751 15752 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15750 def stateful_policy @stateful_policy end |
#status ⇒ Google::Apis::ComputeBeta::InstanceGroupManagerStatus
[Output Only] The status of this managed instance group.
Corresponds to the JSON property status
15755 15756 15757 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15755 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
15762 15763 15764 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15762 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
15769 15770 15771 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15769 def target_size @target_size 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
15777 15778 15779 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15777 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
15785 15786 15787 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15785 def target_suspended_size @target_suspended_size end |
#update_policy ⇒ Google::Apis::ComputeBeta::InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group.
Corresponds to the JSON property updatePolicy
15790 15791 15792 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15790 def update_policy @update_policy end |
#versions ⇒ Array<Google::Apis::ComputeBeta::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
15801 15802 15803 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15801 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
15807 15808 15809 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15807 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
15814 15815 15816 15817 15818 15819 15820 15821 15822 15823 15824 15825 15826 15827 15828 15829 15830 15831 15832 15833 15834 15835 15836 15837 15838 15839 15840 15841 15842 15843 15844 15845 15846 |
# File 'lib/google/apis/compute_beta/classes.rb', line 15814 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) @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) @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_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 |