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, 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
-
#auto_healing_policies ⇒ Array<Google::Apis::ComputeV1::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::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.
-
#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] A unique identifier for this resource type.
-
#instance_group ⇒ String
[Output Only] The URL of the Instance Group resource.
-
#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::ComputeV1::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.
-
#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] 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.
-
#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] 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.
13828 13829 13830 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13828 def initialize(**args) update!(**args) end |
Instance Attribute Details
#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
13683 13684 13685 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13683 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
13691 13692 13693 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13691 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
13697 13698 13699 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13697 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
13703 13704 13705 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13703 def current_actions @current_actions end |
#description ⇒ String
An optional description of this resource.
Corresponds to the JSON property description
13708 13709 13710 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13708 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
13714 13715 13716 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13714 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 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.
13724 13725 13726 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13724 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
13730 13731 13732 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13730 def id @id end |
#instance_group ⇒ String
[Output Only] The URL of the Instance Group resource.
Corresponds to the JSON property instanceGroup
13735 13736 13737 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13735 def instance_group @instance_group 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
13744 13745 13746 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13744 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
13750 13751 13752 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13750 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
13756 13757 13758 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13756 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
13762 13763 13764 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13762 def name @name end |
#named_ports ⇒ Array<Google::Apis::ComputeV1::NamedPort>
Named ports configured for the Instance Groups complementary to this Instance
Group Manager.
Corresponds to the JSON property namedPorts
13768 13769 13770 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13768 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
13774 13775 13776 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13774 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
13780 13781 13782 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13780 def self_link @self_link end |
#stateful_policy ⇒ Google::Apis::ComputeV1::StatefulPolicy
Stateful configuration for this Instanced Group Manager
Corresponds to the JSON property statefulPolicy
13785 13786 13787 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13785 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
13790 13791 13792 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13790 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
13797 13798 13799 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13797 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
13804 13805 13806 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13804 def target_size @target_size end |
#update_policy ⇒ Google::Apis::ComputeV1::InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group.
Corresponds to the JSON property updatePolicy
13809 13810 13811 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13809 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 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
13820 13821 13822 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13820 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
13826 13827 13828 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13826 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
13833 13834 13835 13836 13837 13838 13839 13840 13841 13842 13843 13844 13845 13846 13847 13848 13849 13850 13851 13852 13853 13854 13855 13856 13857 |
# File 'lib/google/apis/compute_v1/classes.rb', line 13833 def update!(**args) @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_group = args[:instance_group] if args.key?(:instance_group) @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) @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) @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 |