systemctl 0.5.0

Small crate to interact with systemd units
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
use strum_macros::{EnumString, IntoStaticStr};

#[derive(Copy, Clone, PartialEq, Eq, EnumString, IntoStaticStr, Debug)]
pub enum ServiceProperty {
    #[strum(serialize = "Type")]
    Type,
    #[strum(serialize = "ExitType")]
    ExitType,
    #[strum(serialize = "Restart")]
    Restart,
    #[strum(serialize = "RestartMode")]
    RestartMode,
    #[strum(serialize = "NotifyAccess")]
    NotifyAccess,
    #[strum(serialize = "RestartUSec")]
    RestartUSec,
    #[strum(serialize = "RestartSteps")]
    RestartSteps,
    #[strum(serialize = "RestartMaxDelayUSec")]
    RestartMaxDelayUSec,
    #[strum(serialize = "RestartUSecNext")]
    RestartUSecNext,
    #[strum(serialize = "TimeoutStartUSec")]
    TimeoutStartUSec,
    #[strum(serialize = "TimeoutStopUSec")]
    TimeoutStopUSec,
    #[strum(serialize = "TimeoutAbortUSec")]
    TimeoutAbortUSec,
    #[strum(serialize = "TimeoutStartFailureMode")]
    TimeoutStartFailureMode,
    #[strum(serialize = "TimeoutStopFailureMode")]
    TimeoutStopFailureMode,
    #[strum(serialize = "RuntimeMaxUSec")]
    RuntimeMaxUSec,
    #[strum(serialize = "RuntimeRandomizedExtraUSec")]
    RuntimeRandomizedExtraUSec,
    #[strum(serialize = "WatchdogUSec")]
    WatchdogUSec,
    #[strum(serialize = "WatchdogTimestampMonotonic")]
    WatchdogTimestampMonotonic,
    #[strum(serialize = "RootDirectoryStartOnly")]
    RootDirectoryStartOnly,
    #[strum(serialize = "RemainAfterExit")]
    RemainAfterExit,
    #[strum(serialize = "GuessMainPID")]
    GuessMainPID,
    #[strum(serialize = "MainPID")]
    MainPID,
    #[strum(serialize = "ControlPID")]
    ControlPID,
    #[strum(serialize = "BusName")]
    BusName,
    #[strum(serialize = "FileDescriptorStoreMax")]
    FileDescriptorStoreMax,
    #[strum(serialize = "NFileDescriptorStore")]
    NFileDescriptorStore,
    #[strum(serialize = "FileDescriptorStorePreserve")]
    FileDescriptorStorePreserve,
    #[strum(serialize = "StatusErrno")]
    StatusErrno,
    #[strum(serialize = "Result")]
    Result,
    #[strum(serialize = "ReloadResult")]
    ReloadResult,
    #[strum(serialize = "CleanResult")]
    CleanResult,
    #[strum(serialize = "UID")]
    UID,
    #[strum(serialize = "GID")]
    GID,
    #[strum(serialize = "NRestarts")]
    NRestarts,
    #[strum(serialize = "OOMPolicy")]
    OOMPolicy,
    #[strum(serialize = "ReloadSignal")]
    ReloadSignal,
    #[strum(serialize = "ExecMainStartTimestamp")]
    ExecMainStartTimestamp,
    #[strum(serialize = "ExecMainStartTimestampMonotonic")]
    ExecMainStartTimestampMonotonic,
    #[strum(serialize = "ExecMainExitTimestampMonotonic")]
    ExecMainExitTimestampMonotonic,
    #[strum(serialize = "ExecMainHandoffTimestamp")]
    ExecMainHandoffTimestamp,
    #[strum(serialize = "ExecMainHandoffTimestampMonotonic")]
    ExecMainHandoffTimestampMonotonic,
    #[strum(serialize = "ExecMainPID")]
    ExecMainPID,
    #[strum(serialize = "ExecMainCode")]
    ExecMainCode,
    #[strum(serialize = "ExecMainStatus")]
    ExecMainStatus,
    #[strum(serialize = "ExecStart")]
    ExecStart,
    #[strum(serialize = "ExecStartEx")]
    ExecStartEx,
    #[strum(serialize = "ExecReload")]
    ExecReload,
    #[strum(serialize = "ExecReloadEx")]
    ExecReloadEx,
    #[strum(serialize = "Slice")]
    Slice,
    #[strum(serialize = "ControlGroup")]
    ControlGroup,
    #[strum(serialize = "ControlGroupId")]
    ControlGroupId,
    #[strum(serialize = "MemoryCurrent")]
    MemoryCurrent,
    #[strum(serialize = "MemoryPeak")]
    MemoryPeak,
    #[strum(serialize = "MemorySwapCurrent")]
    MemorySwapCurrent,
    #[strum(serialize = "MemorySwapPeak")]
    MemorySwapPeak,
    #[strum(serialize = "MemoryZSwapCurrent")]
    MemoryZSwapCurrent,
    #[strum(serialize = "MemoryAvailable")]
    MemoryAvailable,
    #[strum(serialize = "EffectiveMemoryMax")]
    EffectiveMemoryMax,
    #[strum(serialize = "EffectiveMemoryHigh")]
    EffectiveMemoryHigh,
    #[strum(serialize = "CPUUsageNSec")]
    CPUUsageNSec,
    #[strum(serialize = "TasksCurrent")]
    TasksCurrent,
    #[strum(serialize = "EffectiveTasksMax")]
    EffectiveTasksMax,
    #[strum(serialize = "IPIngressBytes")]
    IPIngressBytes,
    #[strum(serialize = "IPIngressPackets")]
    IPIngressPackets,
    #[strum(serialize = "IPEgressBytes")]
    IPEgressBytes,
    #[strum(serialize = "IPEgressPackets")]
    IPEgressPackets,
    #[strum(serialize = "IOReadBytes")]
    IOReadBytes,
    #[strum(serialize = "IOReadOperations")]
    IOReadOperations,
    #[strum(serialize = "IOWriteBytes")]
    IOWriteBytes,
    #[strum(serialize = "IOWriteOperations")]
    IOWriteOperations,
    #[strum(serialize = "Delegate")]
    Delegate,
    #[strum(serialize = "CPUAccounting")]
    CPUAccounting,
    #[strum(serialize = "CPUWeight")]
    CPUWeight,
    #[strum(serialize = "StartupCPUWeight")]
    StartupCPUWeight,
    #[strum(serialize = "CPUShares")]
    CPUShares,
    #[strum(serialize = "StartupCPUShares")]
    StartupCPUShares,
    #[strum(serialize = "CPUQuotaPerSecUSec")]
    CPUQuotaPerSecUSec,
    #[strum(serialize = "CPUQuotaPeriodUSec")]
    CPUQuotaPeriodUSec,
    #[strum(serialize = "IOAccounting")]
    IOAccounting,
    #[strum(serialize = "IOWeight")]
    IOWeight,
    #[strum(serialize = "StartupIOWeight")]
    StartupIOWeight,
    #[strum(serialize = "BlockIOAccounting")]
    BlockIOAccounting,
    #[strum(serialize = "BlockIOWeight")]
    BlockIOWeight,
    #[strum(serialize = "StartupBlockIOWeight")]
    StartupBlockIOWeight,
    #[strum(serialize = "MemoryAccounting")]
    MemoryAccounting,
    #[strum(serialize = "DefaultMemoryLow")]
    DefaultMemoryLow,
    #[strum(serialize = "DefaultStartupMemoryLow")]
    DefaultStartupMemoryLow,
    #[strum(serialize = "DefaultMemoryMin")]
    DefaultMemoryMin,
    #[strum(serialize = "MemoryMin")]
    MemoryMin,
    #[strum(serialize = "MemoryLow")]
    MemoryLow,
    #[strum(serialize = "StartupMemoryLow")]
    StartupMemoryLow,
    #[strum(serialize = "MemoryHigh")]
    MemoryHigh,
    #[strum(serialize = "StartupMemoryHigh")]
    StartupMemoryHigh,
    #[strum(serialize = "MemoryMax")]
    MemoryMax,
    #[strum(serialize = "StartupMemoryMax")]
    StartupMemoryMax,
    #[strum(serialize = "MemorySwapMax")]
    MemorySwapMax,
    #[strum(serialize = "StartupMemorySwapMax")]
    StartupMemorySwapMax,
    #[strum(serialize = "MemoryZSwapMax")]
    MemoryZSwapMax,
    #[strum(serialize = "StartupMemoryZSwapMax")]
    StartupMemoryZSwapMax,
    #[strum(serialize = "MemoryZSwapWriteback")]
    MemoryZSwapWriteback,
    #[strum(serialize = "MemoryLimit")]
    MemoryLimit,
    #[strum(serialize = "DevicePolicy")]
    DevicePolicy,
    #[strum(serialize = "TasksAccounting")]
    TasksAccounting,
    #[strum(serialize = "TasksMax")]
    TasksMax,
    #[strum(serialize = "IPAccounting")]
    IPAccounting,
    #[strum(serialize = "ManagedOOMSwap")]
    ManagedOOMSwap,
    #[strum(serialize = "ManagedOOMMemoryPressure")]
    ManagedOOMMemoryPressure,
    #[strum(serialize = "ManagedOOMMemoryPressureLimit")]
    ManagedOOMMemoryPressureLimit,
    #[strum(serialize = "ManagedOOMPreference")]
    ManagedOOMPreference,
    #[strum(serialize = "MemoryPressureWatch")]
    MemoryPressureWatch,
    #[strum(serialize = "MemoryPressureThresholdUSec")]
    MemoryPressureThresholdUSec,
    #[strum(serialize = "CoredumpReceive")]
    CoredumpReceive,
    #[strum(serialize = "UMask")]
    UMask,
    #[strum(serialize = "LimitCPU")]
    LimitCPU,
    #[strum(serialize = "LimitCPUSoft")]
    LimitCPUSoft,
    #[strum(serialize = "LimitFSIZE")]
    LimitFSIZE,
    #[strum(serialize = "LimitFSIZESoft")]
    LimitFSIZESoft,
    #[strum(serialize = "LimitDATA")]
    LimitDATA,
    #[strum(serialize = "LimitDATASoft")]
    LimitDATASoft,
    #[strum(serialize = "LimitSTACK")]
    LimitSTACK,
    #[strum(serialize = "LimitSTACKSoft")]
    LimitSTACKSoft,
    #[strum(serialize = "LimitCORE")]
    LimitCORE,
    #[strum(serialize = "LimitCORESoft")]
    LimitCORESoft,
    #[strum(serialize = "LimitRSS")]
    LimitRSS,
    #[strum(serialize = "LimitRSSSoft")]
    LimitRSSSoft,
    #[strum(serialize = "LimitNOFILE")]
    LimitNOFILE,
    #[strum(serialize = "LimitNOFILESoft")]
    LimitNOFILESoft,
    #[strum(serialize = "LimitAS")]
    LimitAS,
    #[strum(serialize = "LimitASSoft")]
    LimitASSoft,
    #[strum(serialize = "LimitNPROC")]
    LimitNPROC,
    #[strum(serialize = "LimitNPROCSoft")]
    LimitNPROCSoft,
    #[strum(serialize = "LimitMEMLOCK")]
    LimitMEMLOCK,
    #[strum(serialize = "LimitMEMLOCKSoft")]
    LimitMEMLOCKSoft,
    #[strum(serialize = "LimitLOCKS")]
    LimitLOCKS,
    #[strum(serialize = "LimitLOCKSSoft")]
    LimitLOCKSSoft,
    #[strum(serialize = "LimitSIGPENDING")]
    LimitSIGPENDING,
    #[strum(serialize = "LimitSIGPENDINGSoft")]
    LimitSIGPENDINGSoft,
    #[strum(serialize = "LimitMSGQUEUE")]
    LimitMSGQUEUE,
    #[strum(serialize = "LimitMSGQUEUESoft")]
    LimitMSGQUEUESoft,
    #[strum(serialize = "LimitNICE")]
    LimitNICE,
    #[strum(serialize = "LimitNICESoft")]
    LimitNICESoft,
    #[strum(serialize = "LimitRTPRIO")]
    LimitRTPRIO,
    #[strum(serialize = "LimitRTPRIOSoft")]
    LimitRTPRIOSoft,
    #[strum(serialize = "LimitRTTIME")]
    LimitRTTIME,
    #[strum(serialize = "LimitRTTIMESoft")]
    LimitRTTIMESoft,
    #[strum(serialize = "RootEphemeral")]
    RootEphemeral,
    #[strum(serialize = "OOMScoreAdjust")]
    OOMScoreAdjust,
    #[strum(serialize = "CoredumpFilter")]
    CoredumpFilter,
    #[strum(serialize = "Nice")]
    Nice,
    #[strum(serialize = "IOSchedulingClass")]
    IOSchedulingClass,
    #[strum(serialize = "IOSchedulingPriority")]
    IOSchedulingPriority,
    #[strum(serialize = "CPUSchedulingPolicy")]
    CPUSchedulingPolicy,
    #[strum(serialize = "CPUSchedulingPriority")]
    CPUSchedulingPriority,
    #[strum(serialize = "CPUAffinityFromNUMA")]
    CPUAffinityFromNUMA,
    #[strum(serialize = "NUMAPolicy")]
    NUMAPolicy,
    #[strum(serialize = "TimerSlackNSec")]
    TimerSlackNSec,
    #[strum(serialize = "CPUSchedulingResetOnFork")]
    CPUSchedulingResetOnFork,
    #[strum(serialize = "NonBlocking")]
    NonBlocking,
    #[strum(serialize = "StandardInput")]
    StandardInput,
    #[strum(serialize = "StandardOutput")]
    StandardOutput,
    #[strum(serialize = "StandardError")]
    StandardError,
    #[strum(serialize = "TTYReset")]
    TTYReset,
    #[strum(serialize = "TTYVHangup")]
    TTYVHangup,
    #[strum(serialize = "TTYVTDisallocate")]
    TTYVTDisallocate,
    #[strum(serialize = "SyslogPriority")]
    SyslogPriority,
    #[strum(serialize = "SyslogLevelPrefix")]
    SyslogLevelPrefix,
    #[strum(serialize = "SyslogLevel")]
    SyslogLevel,
    #[strum(serialize = "SyslogFacility")]
    SyslogFacility,
    #[strum(serialize = "LogLevelMax")]
    LogLevelMax,
    #[strum(serialize = "LogRateLimitIntervalUSec")]
    LogRateLimitIntervalUSec,
    #[strum(serialize = "LogRateLimitBurst")]
    LogRateLimitBurst,
    #[strum(serialize = "SecureBits")]
    SecureBits,
    #[strum(serialize = "CapabilityBoundingSet")]
    CapabilityBoundingSet,
    #[strum(serialize = "DynamicUser")]
    DynamicUser,
    #[strum(serialize = "SetLoginEnvironment")]
    SetLoginEnvironment,
    #[strum(serialize = "RemoveIPC")]
    RemoveIPC,
    #[strum(serialize = "PrivateTmp")]
    PrivateTmp,
    #[strum(serialize = "PrivateDevices")]
    PrivateDevices,
    #[strum(serialize = "ProtectClock")]
    ProtectClock,
    #[strum(serialize = "ProtectKernelTunables")]
    ProtectKernelTunables,
    #[strum(serialize = "ProtectKernelModules")]
    ProtectKernelModules,
    #[strum(serialize = "ProtectKernelLogs")]
    ProtectKernelLogs,
    #[strum(serialize = "ProtectControlGroups")]
    ProtectControlGroups,
    #[strum(serialize = "PrivateNetwork")]
    PrivateNetwork,
    #[strum(serialize = "PrivateUsers")]
    PrivateUsers,
    #[strum(serialize = "PrivateMounts")]
    PrivateMounts,
    #[strum(serialize = "PrivateIPC")]
    PrivateIPC,
    #[strum(serialize = "ProtectHome")]
    ProtectHome,
    #[strum(serialize = "ProtectSystem")]
    ProtectSystem,
    #[strum(serialize = "SameProcessGroup")]
    SameProcessGroup,
    #[strum(serialize = "UtmpMode")]
    UtmpMode,
    #[strum(serialize = "IgnoreSIGPIPE")]
    IgnoreSIGPIPE,
    #[strum(serialize = "NoNewPrivileges")]
    NoNewPrivileges,
    #[strum(serialize = "SystemCallErrorNumber")]
    SystemCallErrorNumber,
    #[strum(serialize = "LockPersonality")]
    LockPersonality,
    #[strum(serialize = "RuntimeDirectoryPreserve")]
    RuntimeDirectoryPreserve,
    #[strum(serialize = "RuntimeDirectoryMode")]
    RuntimeDirectoryMode,
    #[strum(serialize = "StateDirectoryMode")]
    StateDirectoryMode,
    #[strum(serialize = "CacheDirectoryMode")]
    CacheDirectoryMode,
    #[strum(serialize = "LogsDirectoryMode")]
    LogsDirectoryMode,
    #[strum(serialize = "ConfigurationDirectoryMode")]
    ConfigurationDirectoryMode,
    #[strum(serialize = "TimeoutCleanUSec")]
    TimeoutCleanUSec,
    #[strum(serialize = "MemoryDenyWriteExecute")]
    MemoryDenyWriteExecute,
    #[strum(serialize = "RestrictRealtime")]
    RestrictRealtime,
    #[strum(serialize = "RestrictSUIDSGID")]
    RestrictSUIDSGID,
    #[strum(serialize = "RestrictNamespaces")]
    RestrictNamespaces,
    #[strum(serialize = "MountAPIVFS")]
    MountAPIVFS,
    #[strum(serialize = "KeyringMode")]
    KeyringMode,
    #[strum(serialize = "ProtectProc")]
    ProtectProc,
    #[strum(serialize = "ProcSubset")]
    ProcSubset,
    #[strum(serialize = "ProtectHostname")]
    ProtectHostname,
    #[strum(serialize = "MemoryKSM")]
    MemoryKSM,
    #[strum(serialize = "RootImagePolicy")]
    RootImagePolicy,
    #[strum(serialize = "MountImagePolicy")]
    MountImagePolicy,
    #[strum(serialize = "ExtensionImagePolicy")]
    ExtensionImagePolicy,
    #[strum(serialize = "KillMode")]
    KillMode,
    #[strum(serialize = "KillSignal")]
    KillSignal,
    #[strum(serialize = "RestartKillSignal")]
    RestartKillSignal,
    #[strum(serialize = "FinalKillSignal")]
    FinalKillSignal,
    #[strum(serialize = "SendSIGKILL")]
    SendSIGKILL,
    #[strum(serialize = "SendSIGHUP")]
    SendSIGHUP,
    #[strum(serialize = "WatchdogSignal")]
    WatchdogSignal,
    #[strum(serialize = "Id")]
    Id,
    #[strum(serialize = "Names")]
    Names,
    #[strum(serialize = "Requires")]
    Requires,
    #[strum(serialize = "Wants")]
    Wants,
    #[strum(serialize = "BindsTo")]
    BindsTo,
    #[strum(serialize = "RequiredBy")]
    RequiredBy,
    #[strum(serialize = "WantedBy")]
    WantedBy,
    #[strum(serialize = "Conflicts")]
    Conflicts,
    #[strum(serialize = "Before")]
    Before,
    #[strum(serialize = "After")]
    After,
    #[strum(serialize = "Documentation")]
    Documentation,
    #[strum(serialize = "Description")]
    Description,
    #[strum(serialize = "LoadState")]
    LoadState,
    #[strum(serialize = "ActiveState")]
    ActiveState,
    #[strum(serialize = "FreezerState")]
    FreezerState,
    #[strum(serialize = "SubState")]
    SubState,
    #[strum(serialize = "FragmentPath")]
    FragmentPath,
    #[strum(serialize = "UnitFileState")]
    UnitFileState,
    #[strum(serialize = "UnitFilePreset")]
    UnitFilePreset,
    #[strum(serialize = "StateChangeTimestamp")]
    StateChangeTimestamp,
    #[strum(serialize = "StateChangeTimestampMonotonic")]
    StateChangeTimestampMonotonic,
    #[strum(serialize = "InactiveExitTimestamp")]
    InactiveExitTimestamp,
    #[strum(serialize = "InactiveExitTimestampMonotonic")]
    InactiveExitTimestampMonotonic,
    #[strum(serialize = "ActiveEnterTimestamp")]
    ActiveEnterTimestamp,
    #[strum(serialize = "ActiveEnterTimestampMonotonic")]
    ActiveEnterTimestampMonotonic,
    #[strum(serialize = "ActiveExitTimestamp")]
    ActiveExitTimestamp,
    #[strum(serialize = "ActiveExitTimestampMonotonic")]
    ActiveExitTimestampMonotonic,
    #[strum(serialize = "InactiveEnterTimestamp")]
    InactiveEnterTimestamp,
    #[strum(serialize = "InactiveEnterTimestampMonotonic")]
    InactiveEnterTimestampMonotonic,
    #[strum(serialize = "CanStart")]
    CanStart,
    #[strum(serialize = "CanStop")]
    CanStop,
    #[strum(serialize = "CanReload")]
    CanReload,
    #[strum(serialize = "CanIsolate")]
    CanIsolate,
    #[strum(serialize = "CanFreeze")]
    CanFreeze,
    #[strum(serialize = "StopWhenUnneeded")]
    StopWhenUnneeded,
    #[strum(serialize = "RefuseManualStart")]
    RefuseManualStart,
    #[strum(serialize = "RefuseManualStop")]
    RefuseManualStop,
    #[strum(serialize = "AllowIsolate")]
    AllowIsolate,
    #[strum(serialize = "DefaultDependencies")]
    DefaultDependencies,
    #[strum(serialize = "SurviveFinalKillSignal")]
    SurviveFinalKillSignal,
    #[strum(serialize = "OnSuccessJobMode")]
    OnSuccessJobMode,
    #[strum(serialize = "OnFailureJobMode")]
    OnFailureJobMode,
    #[strum(serialize = "IgnoreOnIsolate")]
    IgnoreOnIsolate,
    #[strum(serialize = "NeedDaemonReload")]
    NeedDaemonReload,
    #[strum(serialize = "JobTimeoutUSec")]
    JobTimeoutUSec,
    #[strum(serialize = "JobRunningTimeoutUSec")]
    JobRunningTimeoutUSec,
    #[strum(serialize = "JobTimeoutAction")]
    JobTimeoutAction,
    #[strum(serialize = "ConditionResult")]
    ConditionResult,
    #[strum(serialize = "AssertResult")]
    AssertResult,
    #[strum(serialize = "ConditionTimestamp")]
    ConditionTimestamp,
    #[strum(serialize = "ConditionTimestampMonotonic")]
    ConditionTimestampMonotonic,
    #[strum(serialize = "AssertTimestamp")]
    AssertTimestamp,
    #[strum(serialize = "AssertTimestampMonotonic")]
    AssertTimestampMonotonic,
    #[strum(serialize = "Transient")]
    Transient,
    #[strum(serialize = "Perpetual")]
    Perpetual,
    #[strum(serialize = "StartLimitIntervalUSec")]
    StartLimitIntervalUSec,
    #[strum(serialize = "StartLimitBurst")]
    StartLimitBurst,
    #[strum(serialize = "StartLimitAction")]
    StartLimitAction,
    #[strum(serialize = "FailureAction")]
    FailureAction,
    #[strum(serialize = "SuccessAction")]
    SuccessAction,
    #[strum(serialize = "InvocationID")]
    InvocationID,
    #[strum(serialize = "CollectMode")]
    CollectMode,
}