1mod display;
2mod validate;
3
4use thiserror::Error;
5
6#[derive(Debug, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)]
12pub enum SbatchOption {
13 Account(String),
14 AcctgFreq(String),
15 Array(String),
16 Batch(String),
17 Bb(String),
18 Bbf(String),
19 Begin(String),
20 Chdir(String),
21 ClusterConstraint(String),
22 Clusters(String),
23 Comment(String),
24 Constraint(String),
25 Container(String),
26 ContainerID(String),
27 Contiguous,
28 CoreSpec(String),
29 CoresPerSocket(String),
30 CPUFreq(String),
31 CPUsPerGPU(String),
32 CPUsPerTask(String),
33 Deadline(String),
34 DelayBoot(String),
35 Dependency(String),
36 Distribution(String),
37 Error(String),
38 Exclude(String),
39 Exclusive(Option<String>),
40 Export(String),
41 ExportFile(String),
42 Extra(String),
43 ExtraNodeInfo(String),
44 GetUserEnv(Option<String>),
45 GID(String),
46 GPUBind(String),
47 GPUFreq(String),
48 GPUs(String),
49 GPUsPerNode(String),
50 GPUsPerSocket(String),
51 GPUsPerTask(String),
52 Gres(String),
53 GresFlags(String),
54 Help,
55 Hint(String),
56 Hold,
57 IgnorePbs,
58 Input(String),
59 JobName(String),
60 KillOnInvalidDep(String),
61 Licenses(String),
62 MailType(String),
63 MailUser(String),
64 McsLabel(String),
65 Mem(String),
66 MemBind(String),
67 MemPerCPU(String),
68 MemPerGPU(String),
69 MinCPUs(String),
70 Network(String),
71 Nice(Option<String>),
72 NoKill(Option<String>),
73 NoRequeue,
74 NodeFile(String),
75 NodeList(String),
76 Nodes(String),
77 NTasks(String),
78 NTasksPerCore(String),
79 NTasksPerGPU(String),
80 NTasksPerNode(String),
81 NTasksPerSocket(String),
82 OOMKillStep(Option<String>),
83 OpenMode(String),
84 Output(String),
85 Overcommit,
86 Oversubscribe,
87 Parsable,
88 Partition(String),
89 Prefer(String),
90 Priority(String),
91 Profile(String),
92 Propagate(Option<String>),
93 Qos(String),
94 Quiet,
95 Reboot,
96 Requeue,
97 Reservation(String),
98 ResvPorts(Option<String>),
99 Segment(String),
100 Signal(String),
101 SocketsPerNode(String),
102 SpreadJob,
103 Stepmgr,
104 Switches(String),
105 TestOnly,
106 ThreadSpec(String),
107 ThreadsPerCore(String),
108 Time(String),
109 TimeMin(String),
110 Tmp(String),
111 TresBind(String),
112 TresPerTask(String),
113 UID(String),
114 Usage,
115 UseMinNodes,
116 Verbose,
117 Version,
118 Wait,
119 WaitAllNodes(String),
120 WCKey(String),
121 Wrap(String),
122}
123
124#[derive(Debug, Error)]
125pub enum SbatchOptionError {
126 #[error("Empty string")]
127 EmptyString,
128 #[error("Leading or trailing spaces")]
129 LeadingOrTrailingSpaces,
130}