Class: Google::Apis::HypercomputeclusterV1::SlurmOrchestrator
- Inherits:
-
Object
- Object
- Google::Apis::HypercomputeclusterV1::SlurmOrchestrator
- 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
When set in Orchestrator, indicates that the cluster should use Slurm as the orchestrator.
Instance Attribute Summary collapse
-
#default_partition ⇒ String
Optional.
-
#epilog_bash_scripts ⇒ Array<String>
Optional.
-
#login_nodes ⇒ Google::Apis::HypercomputeclusterV1::SlurmLoginNodes
Configuration for Slurm login nodes in the cluster.
-
#node_sets ⇒ Array<Google::Apis::HypercomputeclusterV1::SlurmNodeSet>
Optional.
-
#partitions ⇒ Array<Google::Apis::HypercomputeclusterV1::SlurmPartition>
Optional.
-
#prolog_bash_scripts ⇒ Array<String>
Optional.
Instance Method Summary collapse
-
#initialize(**args) ⇒ SlurmOrchestrator
constructor
A new instance of SlurmOrchestrator.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ SlurmOrchestrator
Returns a new instance of SlurmOrchestrator.
1895 1896 1897 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1895 def initialize(**args) update!(**args) end |
Instance Attribute Details
#default_partition ⇒ String
Optional. Default partition to use for submitted jobs that do not explicitly
specify a partition. Required if and only if there is more than one partition,
in which case it must match the id of one of the partitions.
Corresponds to the JSON property defaultPartition
1858 1859 1860 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1858 def default_partition @default_partition end |
#epilog_bash_scripts ⇒ Array<String>
Optional. Slurm epilog scripts,
which will be executed by compute nodes whenever a node finishes running a
job. Values must not be empty.
Corresponds to the JSON property epilogBashScripts
1865 1866 1867 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1865 def epilog_bash_scripts @epilog_bash_scripts end |
#login_nodes ⇒ Google::Apis::HypercomputeclusterV1::SlurmLoginNodes
Configuration for Slurm login nodes in the cluster. Login nodes are Compute Engine VM
instances that allow users to access the cluster over SSH.
Corresponds to the JSON property loginNodes
1872 1873 1874 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1872 def login_nodes @login_nodes end |
#node_sets ⇒ Array<Google::Apis::HypercomputeclusterV1::SlurmNodeSet>
Optional. Compute resource configuration for the Slurm nodesets in your
cluster. If not specified, the cluster won't create any nodes.
Corresponds to the JSON property nodeSets
1878 1879 1880 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1878 def node_sets @node_sets end |
#partitions ⇒ Array<Google::Apis::HypercomputeclusterV1::SlurmPartition>
Optional. Configuration for the Slurm partitions in your cluster. Each
partition can contain one or more nodesets, and you can submit separate jobs
on each partition. If you don't specify at least one partition in your cluster,
you can't submit jobs to the cluster.
Corresponds to the JSON property partitions
1886 1887 1888 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1886 def partitions @partitions end |
#prolog_bash_scripts ⇒ Array<String>
Optional. Slurm prolog scripts,
which will be executed by compute nodes before a node begins running a new
job. Values must not be empty.
Corresponds to the JSON property prologBashScripts
1893 1894 1895 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1893 def prolog_bash_scripts @prolog_bash_scripts end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1900 1901 1902 1903 1904 1905 1906 1907 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1900 def update!(**args) @default_partition = args[:default_partition] if args.key?(:default_partition) @epilog_bash_scripts = args[:epilog_bash_scripts] if args.key?(:epilog_bash_scripts) @login_nodes = args[:login_nodes] if args.key?(:login_nodes) @node_sets = args[:node_sets] if args.key?(:node_sets) @partitions = args[:partitions] if args.key?(:partitions) @prolog_bash_scripts = args[:prolog_bash_scripts] if args.key?(:prolog_bash_scripts) end |