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.
1886 1887 1888 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1886 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
1849 1850 1851 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1849 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
1856 1857 1858 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1856 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
1863 1864 1865 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1863 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
1869 1870 1871 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1869 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
1877 1878 1879 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1877 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
1884 1885 1886 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1884 def prolog_bash_scripts @prolog_bash_scripts end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1891 1892 1893 1894 1895 1896 1897 1898 |
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1891 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 |