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 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::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.
-
#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::ComputeBeta::NamedPort>
[Output Only] Named ports configured on the Instance Groups complementary to this Instance Group Manager.
-
#params ⇒ Google::Apis::ComputeBeta::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::ComputeBeta::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.
-
#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.
16700 16701 16702 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16700 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
16470 16471 16472 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16470 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
16476 16477 16478 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16476 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
16489 16490 16491 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16489 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
16495 16496 16497 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16495 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
16501 16502 16503 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16501 def current_actions @current_actions end |
#description ⇒ String
An optional description of this resource.
Corresponds to the JSON property description
16506 16507 16508 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16506 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
16512 16513 16514 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16512 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
16518 16519 16520 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16518 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.
16528 16529 16530 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16528 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
16534 16535 16536 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16534 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
16541 16542 16543 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16541 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
16546 16547 16548 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16546 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
16551 16552 16553 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16551 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
16560 16561 16562 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16560 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
16566 16567 16568 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16566 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
16572 16573 16574 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16572 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
16577 16578 16579 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16577 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
16583 16584 16585 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16583 def name @name end |
#named_ports ⇒ Array<Google::Apis::ComputeBeta::NamedPort>
[Output Only] Named ports configured on the Instance Groups complementary to
this Instance Group Manager.
Corresponds to the JSON property namedPorts
16589 16590 16591 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16589 def named_ports @named_ports end |
#params ⇒ Google::Apis::ComputeBeta::InstanceGroupManagerParams
Input only additional params for instance group manager creation.
Corresponds to the JSON property params
16594 16595 16596 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16594 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
16600 16601 16602 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16600 def region @region end |
#resource_policies ⇒ Google::Apis::ComputeBeta::InstanceGroupManagerResourcePolicies
Resource policies for this managed instance group.
Corresponds to the JSON property resourcePolicies
16605 16606 16607 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16605 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
16610 16611 16612 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16610 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
16616 16617 16618 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16616 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
16623 16624 16625 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16623 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
16631 16632 16633 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16631 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
16636 16637 16638 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16636 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
16641 16642 16643 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16641 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
16646 16647 16648 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16646 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
16653 16654 16655 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16653 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
16660 16661 16662 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16660 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
16668 16669 16670 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16668 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
16676 16677 16678 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16676 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
16681 16682 16683 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16681 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
16692 16693 16694 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16692 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
16698 16699 16700 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16698 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
16705 16706 16707 16708 16709 16710 16711 16712 16713 16714 16715 16716 16717 16718 16719 16720 16721 16722 16723 16724 16725 16726 16727 16728 16729 16730 16731 16732 16733 16734 16735 16736 16737 16738 16739 16740 16741 16742 |
# File 'lib/google/apis/compute_beta/classes.rb', line 16705 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) @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 |