Class: Google::Apis::ComputeV1::NodeGroup

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
generated/google/apis/compute_v1/classes.rb,
generated/google/apis/compute_v1/representations.rb,
generated/google/apis/compute_v1/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.



18599
18600
18601
# File 'generated/google/apis/compute_v1/classes.rb', line 18599

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

Instance Attribute Details

#autoscaling_policyGoogle::Apis::ComputeV1::NodeGroupAutoscalingPolicy

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



18517
18518
18519
# File 'generated/google/apis/compute_v1/classes.rb', line 18517

def autoscaling_policy
  @autoscaling_policy
end

#creation_timestampString

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

Returns:

  • (String)


18522
18523
18524
# File 'generated/google/apis/compute_v1/classes.rb', line 18522

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)


18528
18529
18530
# File 'generated/google/apis/compute_v1/classes.rb', line 18528

def description
  @description
end

#fingerprintString

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

Returns:

  • (String)


18534
18535
18536
# File 'generated/google/apis/compute_v1/classes.rb', line 18534

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)


18540
18541
18542
# File 'generated/google/apis/compute_v1/classes.rb', line 18540

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)


18546
18547
18548
# File 'generated/google/apis/compute_v1/classes.rb', line 18546

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)


18554
18555
18556
# File 'generated/google/apis/compute_v1/classes.rb', line 18554

def maintenance_policy
  @maintenance_policy
end

#maintenance_windowGoogle::Apis::ComputeV1::NodeGroupMaintenanceWindow

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



18560
18561
18562
# File 'generated/google/apis/compute_v1/classes.rb', line 18560

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)


18571
18572
18573
# File 'generated/google/apis/compute_v1/classes.rb', line 18571

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)


18576
18577
18578
# File 'generated/google/apis/compute_v1/classes.rb', line 18576

def node_template
  @node_template
end

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

Returns:

  • (String)


18581
18582
18583
# File 'generated/google/apis/compute_v1/classes.rb', line 18581

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)


18586
18587
18588
# File 'generated/google/apis/compute_v1/classes.rb', line 18586

def size
  @size
end

#statusString

Corresponds to the JSON property status

Returns:

  • (String)


18591
18592
18593
# File 'generated/google/apis/compute_v1/classes.rb', line 18591

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)


18597
18598
18599
# File 'generated/google/apis/compute_v1/classes.rb', line 18597

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



18604
18605
18606
18607
18608
18609
18610
18611
18612
18613
18614
18615
18616
18617
18618
18619
# File 'generated/google/apis/compute_v1/classes.rb', line 18604

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