SbatchOption

Enum SbatchOption 

Source
pub enum SbatchOption {
Show 109 variants Account(String), AcctgFreq(String), Array(String), Batch(String), Bb(String), Bbf(String), Begin(String), Chdir(String), ClusterConstraint(String), Clusters(String), Comment(String), Constraint(String), Container(String), ContainerID(String), Contiguous, CoreSpec(String), CoresPerSocket(String), CPUFreq(String), CPUsPerGPU(String), CPUsPerTask(String), Deadline(String), DelayBoot(String), Dependency(String), Distribution(String), Error(String), Exclude(String), Exclusive(Option<String>), Export(String), ExportFile(String), Extra(String), ExtraNodeInfo(String), GetUserEnv(Option<String>), GID(String), GPUBind(String), GPUFreq(String), GPUs(String), GPUsPerNode(String), GPUsPerSocket(String), GPUsPerTask(String), Gres(String), GresFlags(String), Help, Hint(String), Hold, IgnorePbs, Input(String), JobName(String), KillOnInvalidDep(String), Licenses(String), MailType(String), MailUser(String), McsLabel(String), Mem(String), MemBind(String), MemPerCPU(String), MemPerGPU(String), MinCPUs(String), Network(String), Nice(Option<String>), NoKill(Option<String>), NoRequeue, NodeFile(String), NodeList(String), Nodes(String), NTasks(String), NTasksPerCore(String), NTasksPerGPU(String), NTasksPerNode(String), NTasksPerSocket(String), OOMKillStep(Option<String>), OpenMode(String), Output(String), Overcommit, Oversubscribe, Parsable, Partition(String), Prefer(String), Priority(String), Profile(String), Propagate(Option<String>), Qos(String), Quiet, Reboot, Requeue, Reservation(String), ResvPorts(Option<String>), Segment(String), Signal(String), SocketsPerNode(String), SpreadJob, Stepmgr, Switches(String), TestOnly, ThreadSpec(String), ThreadsPerCore(String), Time(String), TimeMin(String), Tmp(String), TresBind(String), TresPerTask(String), UID(String), Usage, UseMinNodes, Verbose, Version, Wait, WaitAllNodes(String), WCKey(String), Wrap(String),
}
Expand description

Represents an sbatch option

For a full description of the sbatch options, see the slurm documentation: https://slurm.schedmd.com/sbatch.html The SbatchOption enum variants store Nothing, String, or Option<String> where appropriate. For more complex options, such as --dependency, the helper Dependency struct can be used to format the string.

Variants§

§

Account(String)

§

AcctgFreq(String)

§

Array(String)

§

Batch(String)

§

Bb(String)

§

Bbf(String)

§

Begin(String)

§

Chdir(String)

§

ClusterConstraint(String)

§

Clusters(String)

§

Comment(String)

§

Constraint(String)

§

Container(String)

§

ContainerID(String)

§

Contiguous

§

CoreSpec(String)

§

CoresPerSocket(String)

§

CPUFreq(String)

§

CPUsPerGPU(String)

§

CPUsPerTask(String)

§

Deadline(String)

§

DelayBoot(String)

§

Dependency(String)

§

Distribution(String)

§

Error(String)

§

Exclude(String)

§

Exclusive(Option<String>)

§

Export(String)

§

ExportFile(String)

§

Extra(String)

§

ExtraNodeInfo(String)

§

GetUserEnv(Option<String>)

§

GID(String)

§

GPUBind(String)

§

GPUFreq(String)

§

GPUs(String)

§

GPUsPerNode(String)

§

GPUsPerSocket(String)

§

GPUsPerTask(String)

§

Gres(String)

§

GresFlags(String)

§

Help

§

Hint(String)

§

Hold

§

IgnorePbs

§

Input(String)

§

JobName(String)

§

KillOnInvalidDep(String)

§

Licenses(String)

§

MailType(String)

§

MailUser(String)

§

McsLabel(String)

§

Mem(String)

§

MemBind(String)

§

MemPerCPU(String)

§

MemPerGPU(String)

§

MinCPUs(String)

§

Network(String)

§

Nice(Option<String>)

§

NoKill(Option<String>)

§

NoRequeue

§

NodeFile(String)

§

NodeList(String)

§

Nodes(String)

§

NTasks(String)

§

NTasksPerCore(String)

§

NTasksPerGPU(String)

§

NTasksPerNode(String)

§

NTasksPerSocket(String)

§

OOMKillStep(Option<String>)

§

OpenMode(String)

§

Output(String)

§

Overcommit

§

Oversubscribe

§

Parsable

§

Partition(String)

§

Prefer(String)

§

Priority(String)

§

Profile(String)

§

Propagate(Option<String>)

§

Qos(String)

§

Quiet

§

Reboot

§

Requeue

§

Reservation(String)

§

ResvPorts(Option<String>)

§

Segment(String)

§

Signal(String)

§

SocketsPerNode(String)

§

SpreadJob

§

Stepmgr

§

Switches(String)

§

TestOnly

§

ThreadSpec(String)

§

ThreadsPerCore(String)

§

Time(String)

§

TimeMin(String)

§

Tmp(String)

§

TresBind(String)

§

TresPerTask(String)

§

UID(String)

§

Usage

§

UseMinNodes

§

Verbose

§

Version

§

Wait

§

WaitAllNodes(String)

§

WCKey(String)

§

Wrap(String)

Implementations§

Source§

impl SbatchOption

Source

pub fn validate(&self) -> Result<(), SbatchOptionError>

Validates the sbatch option.

§Returns

This function returns Ok(()) if the sbatch option is valid, otherwise it returns a SbatchOptionError.

§Errors

This function returns a SbatchOptionError if the sbatch option is invalid. The following are considered invalid:

  • An empty string
  • A string that contains leading or trailing spaces
§Examples
use sbatch_rs::SbatchOption;

// Valid: mapped to `--account=account`
let sbatch_option = SbatchOption::Account("account".to_string());
assert!(sbatch_option.validate().is_ok());

// Invalid: empty string
let sbatch_option = SbatchOption::Account("".to_string());
assert!(sbatch_option.validate().is_err());

// Invalid: leading or trailing spaces
let sbatch_option = SbatchOption::Account(" account ".to_string());
assert!(sbatch_option.validate().is_err());

Trait Implementations§

Source§

impl Clone for SbatchOption

Source§

fn clone(&self) -> SbatchOption

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SbatchOption

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for SbatchOption

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

The Display trait is implemented for SbatchOption to allow the SbatchOption to be converted into a string for display purposes.

§Example
use sbatch_rs::SbatchOption;

let option = SbatchOption::JobName("test".to_string());
assert_eq!(option.to_string(), "--job-name=test");
Source§

impl Hash for SbatchOption

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for SbatchOption

Source§

fn cmp(&self, other: &SbatchOption) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for SbatchOption

Source§

fn eq(&self, other: &SbatchOption) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for SbatchOption

Source§

fn partial_cmp(&self, other: &SbatchOption) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Eq for SbatchOption

Source§

impl StructuralPartialEq for SbatchOption

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.