Class: Google::Apis::ComputeBeta::InstanceGroupManager
- Inherits:
- 
      Object
      
        - Object
- Google::Apis::ComputeBeta::InstanceGroupManager
 
- Defined in:
- generated/google/apis/compute_beta/classes.rb,
 generated/google/apis/compute_beta/representations.rb,
 generated/google/apis/compute_beta/representations.rb
Overview
An Instance Group Manager resource. (== resource_for beta. instanceGroupManagers ==) (== resource_for v1.instanceGroupManagers ==) (== resource_for beta.regionInstanceGroupManagers ==) (== resource_for v1. regionInstanceGroupManagers ==)
Instance Attribute Summary collapse
- 
  
    
      #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 valid only for regional managed instance groups. 
- 
  
    
      #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_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. 
- 
  
    
      #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. 
- 
  
    
      #pending_actions  ⇒ Google::Apis::ComputeBeta::InstanceGroupManagerPendingActionsSummary 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    [Output Only] The list of instance actions and the number of instances in this managed instance group that are pending for each of those actions. 
- 
  
    
      #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. 
- 
  
    
      #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::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 the 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. 
Methods included from Google::Apis::Core::JsonObjectSupport
Methods included from Google::Apis::Core::Hashable
Constructor Details
#initialize(**args) ⇒ InstanceGroupManager
Returns a new instance of InstanceGroupManager
| 8037 8038 8039 | # File 'generated/google/apis/compute_beta/classes.rb', line 8037 def initialize(**args) update!(**args) end | 
Instance Attribute Details
#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
| 7890 7891 7892 | # File 'generated/google/apis/compute_beta/classes.rb', line 7890 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
| 7898 7899 7900 | # File 'generated/google/apis/compute_beta/classes.rb', line 7898 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
| 7904 7905 7906 | # File 'generated/google/apis/compute_beta/classes.rb', line 7904 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
| 7910 7911 7912 | # File 'generated/google/apis/compute_beta/classes.rb', line 7910 def current_actions @current_actions end | 
#description ⇒ String
An optional description of this resource. Provide this property when you
create the resource.
Corresponds to the JSON property description
| 7916 7917 7918 | # File 'generated/google/apis/compute_beta/classes.rb', line 7916 def description @description end | 
#distribution_policy ⇒ Google::Apis::ComputeBeta::DistributionPolicy
Policy valid only for regional managed instance groups.
Corresponds to the JSON property distributionPolicy
| 7921 7922 7923 | # File 'generated/google/apis/compute_beta/classes.rb', line 7921 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
| 7927 7928 7929 | # File 'generated/google/apis/compute_beta/classes.rb', line 7927 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 or
the field need to be unset.
Corresponds to the JSON property fingerprint
NOTE: Values are automatically base64 encoded/decoded in the client library.
| 7936 7937 7938 | # File 'generated/google/apis/compute_beta/classes.rb', line 7936 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
| 7942 7943 7944 | # File 'generated/google/apis/compute_beta/classes.rb', line 7942 def id @id end | 
#instance_group ⇒ String
[Output Only] The URL of the Instance Group resource.
Corresponds to the JSON property instanceGroup
| 7947 7948 7949 | # File 'generated/google/apis/compute_beta/classes.rb', line 7947 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.
Corresponds to the JSON property instanceTemplate
| 7954 7955 7956 | # File 'generated/google/apis/compute_beta/classes.rb', line 7954 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
| 7960 7961 7962 | # File 'generated/google/apis/compute_beta/classes.rb', line 7960 def kind @kind 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
| 7966 7967 7968 | # File 'generated/google/apis/compute_beta/classes.rb', line 7966 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
| 7972 7973 7974 | # File 'generated/google/apis/compute_beta/classes.rb', line 7972 def named_ports @named_ports end | 
#pending_actions ⇒ Google::Apis::ComputeBeta::InstanceGroupManagerPendingActionsSummary
[Output Only] The list of instance actions and the number of instances in this
managed instance group that are pending for each of those actions.
Corresponds to the JSON property pendingActions
| 7978 7979 7980 | # File 'generated/google/apis/compute_beta/classes.rb', line 7978 def pending_actions @pending_actions 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
| 7984 7985 7986 | # File 'generated/google/apis/compute_beta/classes.rb', line 7984 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
| 7990 7991 7992 | # File 'generated/google/apis/compute_beta/classes.rb', line 7990 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
| 7998 7999 8000 | # File 'generated/google/apis/compute_beta/classes.rb', line 7998 def service_account @service_account 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
| 8005 8006 8007 | # File 'generated/google/apis/compute_beta/classes.rb', line 8005 def target_pools @target_pools end | 
#target_size ⇒ Fixnum
The target number of running instances for this managed instance group.
Deleting or abandoning instances reduces this number. Resizing the group
changes this number.
Corresponds to the JSON property targetSize
| 8012 8013 8014 | # File 'generated/google/apis/compute_beta/classes.rb', line 8012 def target_size @target_size end | 
#update_policy ⇒ Google::Apis::ComputeBeta::InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group.
Corresponds to the JSON property updatePolicy
| 8017 8018 8019 | # File 'generated/google/apis/compute_beta/classes.rb', line 8017 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. Every template 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
| 8029 8030 8031 | # File 'generated/google/apis/compute_beta/classes.rb', line 8029 def versions @versions end | 
#zone ⇒ String
[Output Only] The URL of the zone where the managed instance group is located (
for zonal resources).
Corresponds to the JSON property zone
| 8035 8036 8037 | # File 'generated/google/apis/compute_beta/classes.rb', line 8035 def zone @zone end | 
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
| 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 | # File 'generated/google/apis/compute_beta/classes.rb', line 8042 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) @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_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) @name = args[:name] if args.key?(:name) @named_ports = args[:named_ports] if args.key?(:named_ports) @pending_actions = args[:pending_actions] if args.key?(:pending_actions) @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) @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 |