Class: Google::Apis::ReplicapoolV1beta2::InstanceGroupManager

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/replicapool_v1beta2/classes.rb,
generated/google/apis/replicapool_v1beta2/representations.rb,
generated/google/apis/replicapool_v1beta2/representations.rb

Overview

An Instance Group Manager resource.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ InstanceGroupManager

Returns a new instance of InstanceGroupManager.


116
117
118
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 116

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#auto_healing_policiesArray<Google::Apis::ReplicapoolV1beta2::ReplicaPoolAutoHealingPolicy>

The autohealing policy for this managed instance group. You can specify only one value. Corresponds to the JSON property autoHealingPolicies


33
34
35
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 33

def auto_healing_policies
  @auto_healing_policies
end

#base_instance_nameString

The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four- character string to the base instance name. Corresponds to the JSON property baseInstanceName

Returns:

  • (String)

41
42
43
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 41

def base_instance_name
  @base_instance_name
end

#creation_timestampString

[Output only] The time the instance group manager was created, in RFC3339 text format. Corresponds to the JSON property creationTimestamp

Returns:

  • (String)

47
48
49
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 47

def creation_timestamp
  @creation_timestamp
end

#current_sizeFixnum

[Output only] The number of instances that currently exist and are a part of this group. This includes instances that are starting but are not yet RUNNING, and instances that are in the process of being deleted or abandoned. Corresponds to the JSON property currentSize

Returns:

  • (Fixnum)

54
55
56
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 54

def current_size
  @current_size
end

#descriptionString

An optional textual description of the instance group manager. Corresponds to the JSON property description

Returns:

  • (String)

59
60
61
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 59

def description
  @description
end

#fingerprintString

[Output only] Fingerprint of the instance group manager. This field is used for optimistic locking. An up-to-date fingerprint must be provided in order to modify the Instance Group Manager resource. Corresponds to the JSON property fingerprint

Returns:

  • (String)

66
67
68
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 66

def fingerprint
  @fingerprint
end

#groupString

[Output only] The full URL of the instance group created by the manager. This group contains all of the instances being managed, and cannot contain non- managed instances. Corresponds to the JSON property group

Returns:

  • (String)

73
74
75
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 73

def group
  @group
end

#idString

[Output only] A server-assigned unique identifier for the resource. Corresponds to the JSON property id

Returns:

  • (String)

78
79
80
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 78

def id
  @id
end

#instance_templateString

The full URL to an instance template from which all new instances will be created. Corresponds to the JSON property instanceTemplate

Returns:

  • (String)

84
85
86
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 84

def instance_template
  @instance_template
end

#kindString

[Output only] The resource type. Always replicapool#instanceGroupManager. Corresponds to the JSON property kind

Returns:

  • (String)

89
90
91
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 89

def kind
  @kind
end

#nameString

The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens. Corresponds to the JSON property name

Returns:

  • (String)

96
97
98
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 96

def name
  @name
end

[Output only] The fully qualified URL for this resource. Corresponds to the JSON property selfLink

Returns:

  • (String)

101
102
103
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 101

def self_link
  @self_link
end

#target_poolsArray<String>

The full URL of all target pools to which new instances in the group are added. Updating the target pool values does not affect existing instances. Corresponds to the JSON property targetPools

Returns:

  • (Array<String>)

107
108
109
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 107

def target_pools
  @target_pools
end

#target_sizeFixnum

[Output only] The number of instances that the manager is attempting to maintain. Deleting or abandoning instances affects this number, as does resizing the group. Corresponds to the JSON property targetSize

Returns:

  • (Fixnum)

114
115
116
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 114

def target_size
  @target_size
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object


121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# File 'generated/google/apis/replicapool_v1beta2/classes.rb', line 121

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_size = args[:current_size] if args.key?(:current_size)
  @description = args[:description] if args.key?(:description)
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
  @group = args[:group] if args.key?(:group)
  @id = args[:id] if args.key?(:id)
  @instance_template = args[:instance_template] if args.key?(:instance_template)
  @kind = args[:kind] if args.key?(:kind)
  @name = args[:name] if args.key?(:name)
  @self_link = args[:self_link] if args.key?(:self_link)
  @target_pools = args[:target_pools] if args.key?(:target_pools)
  @target_size = args[:target_size] if args.key?(:target_size)
end