Class: Google::Apis::ComputeBeta::NodeGroup

Inherits:
Object
  • Object
show all
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

Represent a sole-tenant Node Group resource. A sole-tenant node is a physical server that is dedicated to hosting VM instances only for your specific project. Use sole-tenant nodes to keep your instances physically separated from instances in other projects, or to group your instances together on the same host hardware. For more information, read Sole-tenant nodes. (== resource_for $api_version.nodeGroups ==)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ NodeGroup

Returns a new instance of NodeGroup.



20776
20777
20778
# File 'lib/google/apis/compute_beta/classes.rb', line 20776

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

Instance Attribute Details

#autoscaling_policyGoogle::Apis::ComputeBeta::NodeGroupAutoscalingPolicy

Specifies how autoscaling should behave. Corresponds to the JSON property autoscalingPolicy



20694
20695
20696
# File 'lib/google/apis/compute_beta/classes.rb', line 20694

def autoscaling_policy
  @autoscaling_policy
end

#creation_timestampString

[Output Only] Creation timestamp in RFC3339 text format. Corresponds to the JSON property creationTimestamp

Returns:

  • (String)


20699
20700
20701
# File 'lib/google/apis/compute_beta/classes.rb', line 20699

def creation_timestamp
  @creation_timestamp
end

#descriptionString

An optional description of this resource. Provide this property when you create the resource. Corresponds to the JSON property description

Returns:

  • (String)


20705
20706
20707
# File 'lib/google/apis/compute_beta/classes.rb', line 20705

def description
  @description
end

#fingerprintString

Corresponds to the JSON property fingerprint NOTE: Values are automatically base64 encoded/decoded in the client library.

Returns:

  • (String)


20711
20712
20713
# File 'lib/google/apis/compute_beta/classes.rb', line 20711

def fingerprint
  @fingerprint
end

#idFixnum

[Output Only] The unique identifier for the resource. This identifier is defined by the server. Corresponds to the JSON property id

Returns:

  • (Fixnum)


20717
20718
20719
# File 'lib/google/apis/compute_beta/classes.rb', line 20717

def id
  @id
end

#kindString

[Output Only] The type of the resource. Always compute#nodeGroup for node group. Corresponds to the JSON property kind

Returns:

  • (String)


20723
20724
20725
# File 'lib/google/apis/compute_beta/classes.rb', line 20723

def kind
  @kind
end

#maintenance_policyString

Specifies how to handle instances when a node in the group undergoes maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT. For more information, see Maintenance policies. Corresponds to the JSON property maintenancePolicy

Returns:

  • (String)


20731
20732
20733
# File 'lib/google/apis/compute_beta/classes.rb', line 20731

def maintenance_policy
  @maintenance_policy
end

#maintenance_windowGoogle::Apis::ComputeBeta::NodeGroupMaintenanceWindow

Time window specified for daily maintenance operations. GCE's internal maintenance will be performed within this window. Corresponds to the JSON property maintenanceWindow



20737
20738
20739
# File 'lib/google/apis/compute_beta/classes.rb', line 20737

def maintenance_window
  @maintenance_window
end

#nameString

The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. Corresponds to the JSON property name

Returns:

  • (String)


20748
20749
20750
# File 'lib/google/apis/compute_beta/classes.rb', line 20748

def name
  @name
end

#node_templateString

URL of the node template to create the node group from. Corresponds to the JSON property nodeTemplate

Returns:

  • (String)


20753
20754
20755
# File 'lib/google/apis/compute_beta/classes.rb', line 20753

def node_template
  @node_template
end

[Output Only] Server-defined URL for the resource. Corresponds to the JSON property selfLink

Returns:

  • (String)


20758
20759
20760
# File 'lib/google/apis/compute_beta/classes.rb', line 20758

def self_link
  @self_link
end

#sizeFixnum

[Output Only] The total number of nodes in the node group. Corresponds to the JSON property size

Returns:

  • (Fixnum)


20763
20764
20765
# File 'lib/google/apis/compute_beta/classes.rb', line 20763

def size
  @size
end

#statusString

Corresponds to the JSON property status

Returns:

  • (String)


20768
20769
20770
# File 'lib/google/apis/compute_beta/classes.rb', line 20768

def status
  @status
end

#zoneString

[Output Only] The name of the zone where the node group resides, such as us- central1-a. Corresponds to the JSON property zone

Returns:

  • (String)


20774
20775
20776
# File 'lib/google/apis/compute_beta/classes.rb', line 20774

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



20781
20782
20783
20784
20785
20786
20787
20788
20789
20790
20791
20792
20793
20794
20795
20796
# File 'lib/google/apis/compute_beta/classes.rb', line 20781

def update!(**args)
  @autoscaling_policy = args[:autoscaling_policy] if args.key?(:autoscaling_policy)
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
  @description = args[:description] if args.key?(:description)
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
  @id = args[:id] if args.key?(:id)
  @kind = args[:kind] if args.key?(:kind)
  @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
  @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
  @name = args[:name] if args.key?(:name)
  @node_template = args[:node_template] if args.key?(:node_template)
  @self_link = args[:self_link] if args.key?(:self_link)
  @size = args[:size] if args.key?(:size)
  @status = args[:status] if args.key?(:status)
  @zone = args[:zone] if args.key?(:zone)
end