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
-
#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] 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_flexibility_policy ⇒ Google::Apis::ComputeV1::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::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] 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>
[Output Only] Named ports configured on 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).
-
#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.
-
#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.
14928 14929 14930 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14928 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
14748 14749 14750 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14748 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
14754 14755 14756 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14754 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
14767 14768 14769 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14767 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
14773 14774 14775 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14773 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
14779 14780 14781 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14779 def current_actions @current_actions end |
#description ⇒ String
An optional description of this resource.
Corresponds to the JSON property description
14784 14785 14786 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14784 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
14790 14791 14792 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14790 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.
14800 14801 14802 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14800 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
14806 14807 14808 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14806 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
14813 14814 14815 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14813 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
14818 14819 14820 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14818 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
14823 14824 14825 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14823 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
14832 14833 14834 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14832 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
14838 14839 14840 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14838 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
14844 14845 14846 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14844 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
14850 14851 14852 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14850 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
14856 14857 14858 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14856 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
14862 14863 14864 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14862 def region @region end |
#satisfies_pzi ⇒ Boolean Also known as: satisfies_pzi?
[Output Only] Reserved for future use.
Corresponds to the JSON property satisfiesPzi
14867 14868 14869 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14867 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
14873 14874 14875 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14873 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
14880 14881 14882 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14880 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
14885 14886 14887 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14885 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
14890 14891 14892 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14890 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
14897 14898 14899 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14897 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
14904 14905 14906 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14904 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
14909 14910 14911 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14909 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
14920 14921 14922 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14920 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
14926 14927 14928 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14926 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
14933 14934 14935 14936 14937 14938 14939 14940 14941 14942 14943 14944 14945 14946 14947 14948 14949 14950 14951 14952 14953 14954 14955 14956 14957 14958 14959 14960 14961 14962 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14933 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) @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) @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 |