Class: Google::Apis::HypercomputeclusterV1::SlurmNodeSet

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

Overview

Configuration for Slurm nodesets in the cluster. Nodesets are groups of compute nodes used by Slurm that are responsible for running workloads submitted to the cluster.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ SlurmNodeSet

Returns a new instance of SlurmNodeSet.



1824
1825
1826
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1824

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

Instance Attribute Details

#compute_idString

Required. ID of the compute resource on which this nodeset will run. Must match a key in the cluster's compute_resources. Corresponds to the JSON property computeId

Returns:

  • (String)


1788
1789
1790
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1788

def compute_id
  @compute_id
end

#compute_instanceGoogle::Apis::HypercomputeclusterV1::ComputeInstanceSlurmNodeSet

When set in a SlurmNodeSet, indicates that the nodeset should be backed by Compute Engine VM instances. Corresponds to the JSON property computeInstance



1794
1795
1796
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1794

def compute_instance
  @compute_instance
end

#idString

Required. Identifier for the nodeset, which allows it to be referenced by partitions. Must conform to RFC-1034 (lower-case, alphanumeric, and at most 63 characters). Corresponds to the JSON property id

Returns:

  • (String)


1801
1802
1803
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1801

def id
  @id
end

#max_dynamic_node_countFixnum

Optional. Controls how many additional nodes a cluster can bring online to handle workloads. Set this value to enable dynamic node creation and limit the number of additional nodes the cluster can bring online. Leave empty if you do not want the cluster to create nodes dynamically, and instead rely only on static nodes. Corresponds to the JSON property maxDynamicNodeCount

Returns:

  • (Fixnum)


1810
1811
1812
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1810

def max_dynamic_node_count
  @max_dynamic_node_count
end

#static_node_countFixnum

Optional. Number of nodes to be statically created for this nodeset. The cluster will attempt to ensure that at least this many nodes exist at all times. Corresponds to the JSON property staticNodeCount

Returns:

  • (Fixnum)


1817
1818
1819
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1817

def static_node_count
  @static_node_count
end

#storage_configsArray<Google::Apis::HypercomputeclusterV1::StorageConfig>

Optional. How storage resources should be mounted on each compute node. Corresponds to the JSON property storageConfigs



1822
1823
1824
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1822

def storage_configs
  @storage_configs
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1829
1830
1831
1832
1833
1834
1835
1836
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1829

def update!(**args)
  @compute_id = args[:compute_id] if args.key?(:compute_id)
  @compute_instance = args[:compute_instance] if args.key?(:compute_instance)
  @id = args[:id] if args.key?(:id)
  @max_dynamic_node_count = args[:max_dynamic_node_count] if args.key?(:max_dynamic_node_count)
  @static_node_count = args[:static_node_count] if args.key?(:static_node_count)
  @storage_configs = args[:storage_configs] if args.key?(:storage_configs)
end