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.



1833
1834
1835
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1833

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)


1797
1798
1799
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1797

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



1803
1804
1805
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1803

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)


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

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)


1819
1820
1821
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1819

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)


1826
1827
1828
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1826

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



1831
1832
1833
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1831

def storage_configs
  @storage_configs
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1838
1839
1840
1841
1842
1843
1844
1845
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1838

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