systemd-transient 0.1.3

Start transient systemd services using dbus, just like systemd-run.
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
// @generated by tools/gen.py from systemd v261. Do not edit.
use crate::props::*;

str_enum!(CgroupDevicePolicy { Auto => "auto", Closed => "closed", Strict => "strict" });
str_enum!(CgroupPressureWatch { No => "no", Yes => "yes", Auto => "auto", Skip => "skip" });
str_enum!(CollectMode { Inactive => "inactive", InactiveOrFailed => "inactive-or-failed" });
str_enum!(CpusetPartition { Member => "member", Root => "root", Isolated => "isolated" });
str_enum!(EmergencyAction { None => "none", Exit => "exit", ExitForce => "exit-force", Reboot => "reboot", RebootForce => "reboot-force", RebootImmediate => "reboot-immediate", Poweroff => "poweroff", PoweroffForce => "poweroff-force", PoweroffImmediate => "poweroff-immediate", SoftReboot => "soft-reboot", SoftRebootForce => "soft-reboot-force", Kexec => "kexec", KexecForce => "kexec-force", Halt => "halt", HaltForce => "halt-force", HaltImmediate => "halt-immediate" });
str_enum!(ExecCommandFlag { IgnoreFailure => "ignore-failure", Privileged => "privileged", NoSetuid => "no-setuid", NoEnvExpand => "no-env-expand", ViaShell => "via-shell" });
str_enum!(ExecKeyringMode { Inherit => "inherit", Private => "private", Shared => "shared" });
str_enum!(ExecMemoryThp { Inherit => "inherit", Disable => "disable", Madvise => "madvise", System => "system" });
str_enum!(ExecPreserveMode { No => "no", Yes => "yes", Restart => "restart", OnSuccess => "on-success" });
str_enum!(ExecUtmpMode { Init => "init", Login => "login", User => "user" });
str_enum!(JobMode { Fail => "fail", Lenient => "lenient", Replace => "replace", ReplaceIrreversibly => "replace-irreversibly", Isolate => "isolate", Flush => "flush", IgnoreDependencies => "ignore-dependencies", IgnoreRequirements => "ignore-requirements", Triggering => "triggering", RestartDependencies => "restart-dependencies" });
str_enum!(KillMode { ControlGroup => "control-group", Process => "process", Mixed => "mixed", None => "none" });
str_enum!(ManagedOomMode { Auto => "auto", Kill => "kill" });
str_enum!(ManagedOomPreference { None => "none", Avoid => "avoid", Omit => "omit" });
str_enum!(NotifyAccess { None => "none", Main => "main", Exec => "exec", All => "all" });
str_enum!(OomPolicy { Continue => "continue", Stop => "stop", Kill => "kill" });
str_enum!(PrivateBpf { No => "no", Yes => "yes" });
str_enum!(PrivatePids { No => "no", Yes => "yes" });
str_enum!(PrivateTmp { No => "no", Connected => "connected", Disconnected => "disconnected" });
str_enum!(PrivateUsers { No => "no", Self_ => "self", Identity => "identity", Full => "full", Managed => "managed" });
str_enum!(ProcSubset { All => "all", Pid => "pid" });
str_enum!(ProtectControlGroups { No => "no", Yes => "yes", Private => "private", Strict => "strict" });
str_enum!(ProtectHome { No => "no", Yes => "yes", ReadOnly => "read-only", Tmpfs => "tmpfs" });
str_enum!(ProtectHostname { No => "no", Yes => "yes", Private => "private" });
str_enum!(ProtectProc { Default => "default", Noaccess => "noaccess", Invisible => "invisible", Ptraceable => "ptraceable" });
str_enum!(ProtectSystem { No => "no", Yes => "yes", Full => "full", Strict => "strict" });
str_enum!(ServiceExitType { Main => "main", Cgroup => "cgroup" });
str_enum!(ServiceRestart { No => "no", OnSuccess => "on-success", OnFailure => "on-failure", OnAbnormal => "on-abnormal", OnWatchdog => "on-watchdog", OnAbort => "on-abort", Always => "always" });
str_enum!(ServiceRestartMode { Normal => "normal", Direct => "direct", Debug => "debug" });
str_enum!(ServiceTimeoutFailureMode { Terminate => "terminate", Abort => "abort", Kill => "kill" });
str_enum!(ServiceType { Simple => "simple", Forking => "forking", Oneshot => "oneshot", Dbus => "dbus", Notify => "notify", NotifyReload => "notify-reload", Idle => "idle", Exec => "exec" });

unit_properties! {
    AddRef: bool = "b",
    After: Vec<String> = "as",
    AllowIsolate: bool = "b",
    AllowedCPUs: Vec<u8> = "ay",
    AllowedMemoryNodes: Vec<u8> = "ay",
    AmbientCapabilities: u64 = "t",
    AppArmorProfile: SecurityLabel = "(bs)",
    Asserts: Vec<Condition> = "a(sbbs)",
    BPFDelegateAttachments: String = "s",
    BPFDelegateCommands: String = "s",
    BPFDelegateMaps: String = "s",
    BPFDelegatePrograms: String = "s",
    BPFProgram: Vec<BpfProgram> = "a(ss)",
    Before: Vec<String> = "as",
    BindLogSockets: bool = "b",
    BindNetworkInterface: String = "s",
    BindPaths: Vec<BindPath> = "a(ssbt)",
    BindReadOnlyPaths: Vec<BindPath> = "a(ssbt)",
    BindsTo: Vec<String> = "as",
    BusName: String = "s",
    CPUAffinity: Vec<u8> = "ay",
    CPUAffinityFromNUMA: bool = "b",
    CPUPressureThresholdUSec: Usec = "t",
    CPUPressureWatch: CgroupPressureWatch = "s",
    CPUQuotaPerSecUSec: Usec = "t",
    CPUQuotaPeriodUSec: Usec = "t",
    CPUSchedulingPolicy: i32 = "i",
    CPUSchedulingPriority: i32 = "i",
    CPUSchedulingResetOnFork: bool = "b",
    CPUSetPartition: CpusetPartition = "s",
    CPUWeight: u64 = "t",
    CacheDirectory: Vec<String> = "as",
    CacheDirectoryAccounting: bool = "b",
    CacheDirectoryMode: u32 = "u",
    CacheDirectoryQuota: DirectoryQuota = "(tus)",
    CacheDirectorySymlink: Vec<DirectorySymlink> = "a(sst)",
    CapabilityBoundingSet: u64 = "t",
    CollectMode: CollectMode = "s",
    Conditions: Vec<Condition> = "a(sbbs)",
    ConfigurationDirectory: Vec<String> = "as",
    ConfigurationDirectoryMode: u32 = "u",
    Conflicts: Vec<String> = "as",
    CoredumpFilter: u64 = "t",
    CoredumpReceive: bool = "b",
    DefaultDependencies: bool = "b",
    Delegate: bool = "b",
    DelegateControllers: Vec<String> = "as",
    DelegateNamespaces: u64 = "t",
    DelegateSubgroup: String = "s",
    Description: String = "s",
    DeviceAllow: Vec<DeviceAllow> = "a(ss)",
    DevicePolicy: CgroupDevicePolicy = "s",
    DisableControllers: Vec<String> = "as",
    Documentation: Vec<String> = "as",
    DynamicUser: bool = "b",
    Environment: Vec<String> = "as",
    EnvironmentFiles: Vec<EnvironmentFile> = "a(sb)",
    ExecCondition: Vec<ExecCommand> = "a(sasb)",
    ExecConditionEx: Vec<ExecCommandEx> = "a(sasas)",
    ExecPaths: Vec<String> = "as",
    ExecReload: Vec<ExecCommand> = "a(sasb)",
    ExecReloadEx: Vec<ExecCommandEx> = "a(sasas)",
    ExecReloadPost: Vec<ExecCommand> = "a(sasb)",
    ExecReloadPostEx: Vec<ExecCommandEx> = "a(sasas)",
    ExecSearchPath: Vec<String> = "as",
    ExecStart: Vec<ExecCommand> = "a(sasb)",
    ExecStartEx: Vec<ExecCommandEx> = "a(sasas)",
    ExecStartPost: Vec<ExecCommand> = "a(sasb)",
    ExecStartPostEx: Vec<ExecCommandEx> = "a(sasas)",
    ExecStartPre: Vec<ExecCommand> = "a(sasb)",
    ExecStartPreEx: Vec<ExecCommandEx> = "a(sasas)",
    ExecStop: Vec<ExecCommand> = "a(sasb)",
    ExecStopEx: Vec<ExecCommandEx> = "a(sasas)",
    ExecStopPost: Vec<ExecCommand> = "a(sasb)",
    ExecStopPostEx: Vec<ExecCommandEx> = "a(sasas)",
    ExitType: ServiceExitType = "s",
    ExtensionDirectories: Vec<String> = "as",
    ExtensionImagePolicy: String = "s",
    ExtensionImages: Vec<ExtensionImage> = "a(sba(ss))",
    FailureAction: EmergencyAction = "s",
    FailureActionExitStatus: i32 = "i",
    FileDescriptorStoreMax: u32 = "u",
    FileDescriptorStorePreserve: ExecPreserveMode = "s",
    FinalKillSignal: i32 = "i",
    Group: String = "s",
    GuessMainPID: bool = "b",
    IOAccounting: bool = "b",
    IODeviceLatencyTargetUSec: Vec<DeviceValue> = "a(st)",
    IODeviceWeight: Vec<DeviceValue> = "a(st)",
    IOPressureThresholdUSec: Usec = "t",
    IOPressureWatch: CgroupPressureWatch = "s",
    IOReadBandwidthMax: Vec<DeviceValue> = "a(st)",
    IOReadIOPSMax: Vec<DeviceValue> = "a(st)",
    IOSchedulingClass: i32 = "i",
    IOSchedulingPriority: i32 = "i",
    IOWeight: u64 = "t",
    IOWriteBandwidthMax: Vec<DeviceValue> = "a(st)",
    IOWriteIOPSMax: Vec<DeviceValue> = "a(st)",
    IPAccounting: bool = "b",
    IPAddressAllow: Vec<IpPrefix> = "a(iayu)",
    IPAddressDeny: Vec<IpPrefix> = "a(iayu)",
    IPCNamespacePath: String = "s",
    IPEgressFilterPath: Vec<String> = "as",
    IPIngressFilterPath: Vec<String> = "as",
    IgnoreOnIsolate: bool = "b",
    IgnoreSIGPIPE: bool = "b",
    ImportCredential: Vec<String> = "as",
    ImportCredentialEx: Vec<ImportCredential> = "a(ss)",
    InaccessibleDirectories: Vec<String> = "as",
    InaccessiblePaths: Vec<String> = "as",
    JobRunningTimeoutUSec: Usec = "t",
    JobTimeoutAction: EmergencyAction = "s",
    JobTimeoutRebootArgument: String = "s",
    JobTimeoutUSec: Usec = "t",
    JoinsNamespaceOf: Vec<String> = "as",
    KeyringMode: ExecKeyringMode = "s",
    KillMode: KillMode = "s",
    KillSignal: i32 = "i",
    LimitAS: u64 = "t",
    LimitASSoft: u64 = "t",
    LimitCORE: u64 = "t",
    LimitCORESoft: u64 = "t",
    LimitCPU: u64 = "t",
    LimitCPUSoft: u64 = "t",
    LimitDATA: u64 = "t",
    LimitDATASoft: u64 = "t",
    LimitFSIZE: u64 = "t",
    LimitFSIZESoft: u64 = "t",
    LimitLOCKS: u64 = "t",
    LimitLOCKSSoft: u64 = "t",
    LimitMEMLOCK: u64 = "t",
    LimitMEMLOCKSoft: u64 = "t",
    LimitMSGQUEUE: u64 = "t",
    LimitMSGQUEUESoft: u64 = "t",
    LimitNICE: u64 = "t",
    LimitNICESoft: u64 = "t",
    LimitNOFILE: u64 = "t",
    LimitNOFILESoft: u64 = "t",
    LimitNPROC: u64 = "t",
    LimitNPROCSoft: u64 = "t",
    LimitRSS: u64 = "t",
    LimitRSSSoft: u64 = "t",
    LimitRTPRIO: u64 = "t",
    LimitRTPRIOSoft: u64 = "t",
    LimitRTTIME: u64 = "t",
    LimitRTTIMESoft: u64 = "t",
    LimitSIGPENDING: u64 = "t",
    LimitSIGPENDINGSoft: u64 = "t",
    LimitSTACK: u64 = "t",
    LimitSTACKSoft: u64 = "t",
    LoadCredential: Vec<LoadCredential> = "a(ss)",
    LoadCredentialEncrypted: Vec<LoadCredential> = "a(ss)",
    LockPersonality: bool = "b",
    LogExtraFields: Vec<Vec<u8>> = "aay",
    LogFilterPatterns: Vec<LogFilterPattern> = "a(bs)",
    LogLevelMax: i32 = "i",
    LogNamespace: String = "s",
    LogRateLimitBurst: u32 = "u",
    LogRateLimitIntervalUSec: Usec = "t",
    LogsDirectory: Vec<String> = "as",
    LogsDirectoryAccounting: bool = "b",
    LogsDirectoryMode: u32 = "u",
    LogsDirectoryQuota: DirectoryQuota = "(tus)",
    LogsDirectorySymlink: Vec<DirectorySymlink> = "a(sst)",
    ManagedOOMMemoryPressure: ManagedOomMode = "s",
    ManagedOOMMemoryPressureDurationUSec: Usec = "t",
    ManagedOOMMemoryPressureLimit: u32 = "u",
    ManagedOOMPreference: ManagedOomPreference = "s",
    ManagedOOMSwap: ManagedOomMode = "s",
    Markers: Vec<String> = "as",
    MemoryAccounting: bool = "b",
    MemoryDenyWriteExecute: bool = "b",
    MemoryHigh: u64 = "t",
    MemoryHighScale: u32 = "u",
    MemoryKSM: bool = "b",
    MemoryLow: u64 = "t",
    MemoryLowScale: u32 = "u",
    MemoryMax: u64 = "t",
    MemoryMaxScale: u32 = "u",
    MemoryMin: u64 = "t",
    MemoryMinScale: u32 = "u",
    MemoryPressureThresholdUSec: Usec = "t",
    MemoryPressureWatch: CgroupPressureWatch = "s",
    MemorySwapMax: u64 = "t",
    MemorySwapMaxScale: u32 = "u",
    MemoryTHP: ExecMemoryThp = "s",
    MemoryZSwapMax: u64 = "t",
    MemoryZSwapMaxScale: u32 = "u",
    MemoryZSwapWriteback: bool = "b",
    MountAPIVFS: bool = "b",
    MountFlags: u64 = "t",
    MountImagePolicy: String = "s",
    MountImages: Vec<MountImage> = "a(ssba(ss))",
    NFTSet: Vec<NftSet> = "a(iiss)",
    NUMAMask: Vec<u8> = "ay",
    NUMAPolicy: i32 = "i",
    NetworkNamespacePath: String = "s",
    Nice: i32 = "i",
    NoExecPaths: Vec<String> = "as",
    NoNewPrivileges: bool = "b",
    NonBlocking: bool = "b",
    NotifyAccess: NotifyAccess = "s",
    OOMPolicy: OomPolicy = "s",
    OOMRules: Vec<String> = "as",
    OOMScoreAdjust: i32 = "i",
    OnFailure: Vec<String> = "as",
    OnFailureJobMode: JobMode = "s",
    OnSuccess: Vec<String> = "as",
    OnSuccessJobMode: JobMode = "s",
    OpenFile: Vec<OpenFile> = "a(sst)",
    PAMName: String = "s",
    PIDFile: String = "s",
    PartOf: Vec<String> = "as",
    PassEnvironment: Vec<String> = "as",
    PermissionsStartOnly: bool = "b",
    Personality: String = "s",
    PrivateBPF: PrivateBpf = "s",
    PrivateDevices: bool = "b",
    PrivateIPC: bool = "b",
    PrivateMounts: bool = "b",
    PrivateNetwork: bool = "b",
    PrivatePIDs: PrivatePids = "s",
    PrivateTmp: bool = "b",
    PrivateTmpEx: PrivateTmp = "s",
    PrivateUsers: bool = "b",
    PrivateUsersEx: PrivateUsers = "s",
    ProcSubset: ProcSubset = "s",
    PropagatesReloadTo: Vec<String> = "as",
    PropagatesStopTo: Vec<String> = "as",
    ProtectClock: bool = "b",
    ProtectControlGroups: bool = "b",
    ProtectControlGroupsEx: ProtectControlGroups = "s",
    ProtectHome: ProtectHome = "s",
    ProtectHostname: bool = "b",
    ProtectHostnameEx: ProtectHostnameEx = "(ss)",
    ProtectKernelLogs: bool = "b",
    ProtectKernelModules: bool = "b",
    ProtectKernelTunables: bool = "b",
    ProtectProc: ProtectProc = "s",
    ProtectSystem: ProtectSystem = "s",
    ReadOnlyDirectories: Vec<String> = "as",
    ReadOnlyPaths: Vec<String> = "as",
    ReadWriteDirectories: Vec<String> = "as",
    ReadWritePaths: Vec<String> = "as",
    RebootArgument: String = "s",
    RefreshOnReload: Vec<RefreshOnReload> = "a(bs)",
    RefuseManualStart: bool = "b",
    RefuseManualStop: bool = "b",
    ReloadPropagatedFrom: Vec<String> = "as",
    ReloadSignal: i32 = "i",
    RemainAfterExit: bool = "b",
    RemoveIPC: bool = "b",
    Requires: Vec<String> = "as",
    RequiresMountsFor: Vec<String> = "as",
    Requisite: Vec<String> = "as",
    RequisiteOverridable: Vec<String> = "as",
    Restart: ServiceRestart = "s",
    RestartForceExitStatus: ExitStatusSet = "(aiai)",
    RestartKillSignal: i32 = "i",
    RestartMaxDelayUSec: Usec = "t",
    RestartMode: ServiceRestartMode = "s",
    RestartPreventExitStatus: ExitStatusSet = "(aiai)",
    RestartSteps: u32 = "u",
    RestartUSec: Usec = "t",
    RestrictAddressFamilies: FilterList = "(bas)",
    RestrictFileSystems: FilterList = "(bas)",
    RestrictNamespaces: u64 = "t",
    RestrictNetworkInterfaces: FilterList = "(bas)",
    RestrictRealtime: bool = "b",
    RestrictSUIDSGID: bool = "b",
    RootDirectory: String = "s",
    RootDirectoryStartOnly: bool = "b",
    RootEphemeral: bool = "b",
    RootHash: Vec<u8> = "ay",
    RootHashPath: String = "s",
    RootHashSignature: Vec<u8> = "ay",
    RootHashSignaturePath: String = "s",
    RootImage: String = "s",
    RootImageOptions: Vec<MountOption> = "a(ss)",
    RootImagePolicy: String = "s",
    RootMStack: String = "s",
    RootVerity: String = "s",
    RuntimeDirectory: Vec<String> = "as",
    RuntimeDirectoryMode: u32 = "u",
    RuntimeDirectoryPreserve: ExecPreserveMode = "s",
    RuntimeDirectorySymlink: Vec<DirectorySymlink> = "a(sst)",
    RuntimeMaxUSec: Usec = "t",
    RuntimeRandomizedExtraUSec: Usec = "t",
    SELinuxContext: String = "s",
    SecureBits: i32 = "i",
    SendSIGHUP: bool = "b",
    SendSIGKILL: bool = "b",
    SetCredential: Vec<SetCredential> = "a(say)",
    SetCredentialEncrypted: Vec<SetCredential> = "a(say)",
    SetLoginEnvironment: bool = "b",
    Slice: String = "s",
    SmackProcessLabel: SecurityLabel = "(bs)",
    SocketBindAllow: Vec<SocketBind> = "a(iiqq)",
    SocketBindDeny: Vec<SocketBind> = "a(iiqq)",
    SourcePath: String = "s",
    StandardErrorFile: String = "s",
    StandardErrorFileDescriptorName: String = "s",
    StandardErrorFileToAppend: String = "s",
    StandardErrorFileToTruncate: String = "s",
    StandardInputData: Vec<u8> = "ay",
    StandardInputFile: String = "s",
    StandardInputFileDescriptorName: String = "s",
    StandardOutputFile: String = "s",
    StandardOutputFileDescriptorName: String = "s",
    StandardOutputFileToAppend: String = "s",
    StandardOutputFileToTruncate: String = "s",
    StartLimitAction: EmergencyAction = "s",
    StartLimitBurst: u32 = "u",
    StartLimitIntervalUSec: Usec = "t",
    StartupAllowedCPUs: Vec<u8> = "ay",
    StartupAllowedMemoryNodes: Vec<u8> = "ay",
    StartupCPUWeight: u64 = "t",
    StartupIOWeight: u64 = "t",
    StartupMemoryHigh: u64 = "t",
    StartupMemoryLow: u64 = "t",
    StartupMemoryMax: u64 = "t",
    StartupMemorySwapMax: u64 = "t",
    StartupMemoryZSwapMax: u64 = "t",
    StateDirectory: Vec<String> = "as",
    StateDirectoryAccounting: bool = "b",
    StateDirectoryMode: u32 = "u",
    StateDirectoryQuota: DirectoryQuota = "(tus)",
    StateDirectorySymlink: Vec<DirectorySymlink> = "a(sst)",
    StopPropagatedFrom: Vec<String> = "as",
    StopWhenUnneeded: bool = "b",
    SuccessAction: EmergencyAction = "s",
    SuccessActionExitStatus: i32 = "i",
    SuccessExitStatus: ExitStatusSet = "(aiai)",
    SupplementaryGroups: Vec<String> = "as",
    SurviveFinalKillSignal: bool = "b",
    SyslogFacility: i32 = "i",
    SyslogIdentifier: String = "s",
    SyslogLevel: i32 = "i",
    SyslogLevelPrefix: bool = "b",
    SystemCallArchitectures: Vec<String> = "as",
    SystemCallErrorNumber: i32 = "i",
    SystemCallFilter: FilterList = "(bas)",
    SystemCallLog: FilterList = "(bas)",
    TTYColumns: u32 = "u",
    TTYPath: String = "s",
    TTYReset: bool = "b",
    TTYRows: u32 = "u",
    TTYVHangup: bool = "b",
    TTYVTDisallocate: bool = "b",
    TasksAccounting: bool = "b",
    TasksMax: u64 = "t",
    TasksMaxScale: u32 = "u",
    TemporaryFileSystem: Vec<TmpFs> = "a(ss)",
    TimeoutAbortUSec: Usec = "t",
    TimeoutStartFailureMode: ServiceTimeoutFailureMode = "s",
    TimeoutStartUSec: Usec = "t",
    TimeoutStopFailureMode: ServiceTimeoutFailureMode = "s",
    TimeoutStopUSec: Usec = "t",
    TimerSlackNSec: u64 = "t",
    Type: ServiceType = "s",
    UMask: u32 = "u",
    USBFunctionDescriptors: String = "s",
    USBFunctionStrings: String = "s",
    UnsetEnvironment: Vec<String> = "as",
    Upholds: Vec<String> = "as",
    User: String = "s",
    UserNamespacePath: String = "s",
    UtmpIdentifier: String = "s",
    UtmpMode: ExecUtmpMode = "s",
    Wants: Vec<String> = "as",
    WantsMountsFor: Vec<String> = "as",
    WatchdogSignal: i32 = "i",
    WatchdogUSec: Usec = "t",
    WorkingDirectory: String = "s",
}