Skip to content

io.systemd.Unit

Property Value
Go package github.com/rossedman/sdvarlink/systemd/latest/unit
Socket /run/systemd/io.systemd.Manager
Available since systemd v258
Methods · types · errors 2 · 43 · 6

Methods

List

streaming optional

List units

func (c *Client) List(ctx context.Context, in ListIn) (*ListOut, error)
func (c *Client) ListMore(ctx context.Context, in ListIn) iter.Seq2[*ListOut, error]

Parameters

Field Type Description
name ?string If non-null the name of a unit.
pid ?ProcessId If non-null the PID of a unit. Special value 0 means to take pid of the caller.
cgroup ?string If non-null the cgroup of a unit
invocationID ?string If non-null the invocation ID of a unit

Reply

Field Type Description
context UnitContext Configuration of the unit
runtime UnitRuntime Runtime information of the unit

SetProperties

since v260

Set unit properties

func (c *Client) SetProperties(ctx context.Context, in SetPropertiesIn) error

Parameters

Field Type Description
name string The name of the unit to operate on.
runtime bool Whether to apply the change ephemerally or persistently.
properties UnitRuntime The runtime properties to set.

Types

RateLimit

Field Type Description
intervalUSec ?int The ratelimit interval
burst ?int The ratelimit burst

Condition

An object to represent a unit's conditions

Field Type Description
type string The condition type
trigger bool Whether the condition is a triggering condition
negate bool Whether the result of the condition is negated
parameter ?string The parameter passed to the condition

UnitContext

An object to represent a unit's context

Field Type Description
Type string The unit type
ID string The unit ID
Names ?[]string The aliases of this unit
Description ?string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#Description=
Documentation ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#Documentation=
Wants ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#Wants=
WantedBy ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#WantedBy=
Requires ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#Requires=
RequiredBy ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#WantedBy=
Requisite ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#Requisite=
RequisiteOf ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#Requisite=
BindsTo ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#BindsTo=
BoundBy ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#BindsTo=
PartOf ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#PartOf=
ConsistsOf ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#PartOf=
Upholds ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#Upholds=
UpheldBy ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#WantedBy=
Conflicts ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#Conflicts=
ConflictedBy ?[]string The ConflictedBy= dependencies of this unit
Before ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#Before=
After ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#Before=
OnFailure ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#OnFailure=
OnFailureOf ?[]string The OnFailureOf= dependencies of this unit
OnSuccess ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#OnSuccess=
OnSuccessOf ?[]string The OnSuccessOf= dependencies of this unit
PropagatesReloadTo ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#PropagatesReloadTo=
ReloadPropagatedFrom ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#PropagatesReloadTo=
PropagatesStopTo ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#PropagatesStopTo=
StopPropagatedFrom ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#PropagatesStopTo=
JoinsNamespaceOf ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#JoinsNamespaceOf=
RequiresMountsFor ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#RequiresMountsFor=
WantsMountsFor ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#WantsMountsFor=
OnSuccessJobMode string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#OnSuccessJobMode=
OnFailureJobMode string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#OnSuccessJobMode=
IgnoreOnIsolate bool https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#IgnoreOnIsolate=
StopWhenUnneeded bool https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#StopWhenUnneeded=
RefuseManualStart bool https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#RefuseManualStart=
RefuseManualStop bool https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#RefuseManualStart=
AllowIsolate bool https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#AllowIsolate=
DefaultDependencies bool https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#DefaultDependencies=
SurviveFinalKillSignal bool https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#SurviveFinalKillSignal=
CollectMode string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#CollectMode=
FailureAction ?string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#FailureAction=
SuccessAction ?string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#FailureAction=
FailureActionExitStatus ?int https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#FailureActionExitStatus=
SuccessActionExitStatus ?int https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#FailureActionExitStatus=
JobTimeoutUSec ?int https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#JobTimeoutSec=
JobRunningTimeoutUSec ?int https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#JobTimeoutSec=
JobTimeoutAction ?string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#JobTimeoutAction=
JobTimeoutRebootArgument ?string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#JobTimeoutAction=
StartLimit ?RateLimit https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#StartLimitIntervalSec=interval
StartLimitAction ?string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#StartLimitIntervalSec=interval
RebootArgument ?string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#RebootArgument=
SourcePath ?string https://www.freedesktop.org/software/systemd/man/260/systemd.unit.html#SourcePath=
Conditions ?[]Condition The conditions of this unit
Asserts ?[]Condition The asserts of this unit
Triggers ?[]string The Triggers= dependencies of this unit
TriggeredBy ?[]string The TriggeredBy= dependencies of this unit
AccessSELinuxContext ?string The SELinux context that is used to control access to the unit
FragmentPath ?string The unit file path this unit was read from
DropInPaths ?[]string The paths from which drop-in files were read for this unit
UnitFilePreset ?string The unit file preset for this unit
Transient bool Whether this unit is transient
Perpetual bool Whether this unit is perpetual
DebugInvocation bool When true, logs about this unit will be at debug level regardless of other log level settings
CGroup ?CGroupContext The cgroup context of the unit
Exec ?ExecContext The exec context of the unit

UnitRuntime

An object to represent a unit's runtime information

Field Type Description
Following ?string If not empty, the field contains the name of another unit that this unit follows in state
LoadState ?string Reflects whether the configuration file of this unit has been loaded
ActiveState ?string Reflects whether the unit is currently active or not
FreezerState ?string Reflects whether the unit is currently frozen or not
SubState ?string Reflect more fine-grained state that is unit-type-specific
UnitFileState ?string Reflects the install state of the unit file
StateChangeTimestamp ?Timestamp Timestamp when the firmware first began execution
ActiveEnterTimestamp ?Timestamp Timestamp when the unit entered active state
ActiveExitTimestamp ?Timestamp Timestamp when the unit exited active state
InactiveEnterTimestamp ?Timestamp Timestamp when the unit entered inactive state
InactiveExitTimestamp ?Timestamp Timestamp when the unit exited inactive state
CanStart ?bool Reflects whether the unit can be started or not
CanStop ?bool Reflects whether the unit can be stopped or not
CanReload ?bool Reflects whether the unit can be reloaded or not
CanIsolate ?bool Reflects whether the unit may be started in isolation mode
CanClean ?[]string Returns which unit resources can be cleaned up
CanFreeze ?bool Whether the unit supports the freeze operation
CanLiveMount ?bool Whether the unit supports live mounting
JobId ?int The job ID of the job currently scheduled or being executed for this unit, if there is any.
NeedDaemonReload ?bool Whether the configuration file this unit is loaded from (i.e. FragmentPath or SourcePath) has changed since the configuration was read and hence whether a configuration reload is recommended
ConditionResult ?bool Condition result of the last time the configured conditions of this unit were checked
AssertResult ?bool Assert result of the last time the configured asserts of this unit were checked
ConditionTimestamp ?Timestamp The last time the configured conditions of the unit have been checked
AssertTimestamp ?Timestamp The last time the configured asserts of the unit have been checked
InvocationID ?string Current invocation ID
Markers ?[]string Reflects whether the unit has been marked for reload, restart, etc.
ActivationDetails ?[]ActivationDetails Provides details about why a unit was activated
CGroup ?CGroupRuntime The cgroup runtime of the unit

Timestamp

A timestamp object consisting of both CLOCK_REALTIME and CLOCK_MONOTONIC timestamps

Field Type Description
realtime ?int Timestamp in µs in the CLOCK_REALTIME clock (wallclock)
monotonic ?int Timestamp in µs in the CLOCK_MONOTONIC clock

ActivationDetails

An object to represent a unit's activation details

Field Type Description
type string Trigger unit type
name string Trigger unit name

ProcessId

An object for referencing UNIX processes

Field Type Description
pid int Numeric UNIX PID value
pidfdId ?int 64bit inode number of pidfd if known
bootId ?string Boot ID of the system the inode number belongs to

CGroupTasksMax

Field Type Description
value int The maximum amount of tasks
scale int The scaling factor

CGroupIODeviceWeight

Field Type Description
path string The device path
weight int The device IO weight

CGroupIODeviceLimit

Field Type Description
path string The device path
limit int The device IO limit

CGroupIODeviceLatency

Field Type Description
path string The device path
targetUSec ?int The device target latency

CGroupAddressPrefix

Field Type Description
family int The address family
address []int The address
prefixLength int The address prefix length

CGroupSocketBind

Field Type Description
family int The address family
protocol string The address protocol
numberOfPorts int The number of ports
minimumPort int The minimum port

CGroupRestrictNetworkInterfaces

Field Type Description
isAllowList bool Whether this is an allow list
interfaces []string The list of interfaces

CGroupNFTSet

Field Type Description
source string The source of this NFT set
protocol string The NFT protocol for this NFT set
table string The NFT table associated with this NFT set
set string The name of the NFT set

CGroupBPFProgram

Field Type Description
attachType string The BPF program attach type
path string The path to the BPF program

CGroupDeviceAllow

Field Type Description
path string The device path
permissions string The device permissions

CGroupContext

CGroup context of a unit

Field Type Description
Slice ?string Slice of the CGroup
CPUWeight ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#CPUWeight=weight
StartupCPUWeight ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#CPUWeight=weight
CPUQuotaPerSecUSec ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#CPUQuota=
CPUQuotaPeriodUSec ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#CPUQuotaPeriodSec=
AllowedCPUs ?[]int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#AllowedCPUs=
StartupAllowedCPUs ?[]int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#AllowedCPUs=
MemoryAccounting bool https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#MemoryAccounting=
MemoryMin ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#MemoryMin=bytes,%20MemoryLow=bytes
MemoryLow ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#MemoryMin=bytes,%20MemoryLow=bytes
StartupMemoryLow ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#MemoryMin=bytes,%20MemoryLow=bytes
MemoryHigh ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#MemoryHigh=bytes
StartupMemoryHigh ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#MemoryHigh=bytes
MemoryMax ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#MemoryMax=bytes
StartupMemoryMax ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#MemoryMax=bytes
MemorySwapMax ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#MemorySwapMax=bytes
StartupMemorySwapMax ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#MemorySwapMax=bytes
MemoryZSwapMax ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#MemoryZSwapMax=bytes
StartupMemoryZSwapMax ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#MemoryZSwapMax=bytes
MemoryZSwapWriteback bool https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#MemoryZSwapWriteback=
AllowedMemoryNodes ?[]int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#AllowedMemoryNodes=
StartupAllowedMemoryNodes ?[]int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#AllowedMemoryNodes=
TasksAccounting bool https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#TasksAccounting=
TasksMax ?CGroupTasksMax https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#TasksMax=N
IOAccounting bool https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#IOAccounting=
IOWeight ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#IOWeight=weight
StartupIOWeight ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#IOWeight=weight
IODeviceWeight ?[]CGroupIODeviceWeight https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#IODeviceWeight=device%20weight
IOReadBandwidthMax ?[]CGroupIODeviceLimit https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#IOReadBandwidthMax=device%20bytes
IOWriteBandwidthMax ?[]CGroupIODeviceLimit https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#IOReadBandwidthMax=device%20bytes
IOReadIOPSMax ?[]CGroupIODeviceLimit https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#IOReadIOPSMax=device%20IOPS
IOWriteIOPSMax ?[]CGroupIODeviceLimit https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#IOReadIOPSMax=device%20IOPS
IODeviceLatencyTargetUSec ?[]CGroupIODeviceLatency https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#IODeviceLatencyTargetSec=device%20target
IPAccounting bool https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#IPAccounting=
IPAddressAllow ?[]CGroupAddressPrefix https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#IPAddressAllow=ADDRESS%5B/PREFIXLENGTH%5D%E2%80%A6
IPAddressDeny ?[]CGroupAddressPrefix https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#IPAddressAllow=ADDRESS%5B/PREFIXLENGTH%5D%E2%80%A6
SocketBindAllow ?[]CGroupSocketBind https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#SocketBindAllow=bind-rule
SocketBindDeny ?[]CGroupSocketBind https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#SocketBindAllow=bind-rule
RestrictNetworkInterfaces ?CGroupRestrictNetworkInterfaces https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#RestrictNetworkInterfaces=
BindNetworkInterface ?string https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#BindNetworkInterface=
NFTSet ?[]CGroupNFTSet https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#NFTSet=family:table:set
IPIngressFilterPath ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#IPIngressFilterPath=BPF_FS_PROGRAM_PATH
IPEgressFilterPath ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#IPIngressFilterPath=BPF_FS_PROGRAM_PATH
BPFProgram ?[]CGroupBPFProgram https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#BPFProgram=type:program-path
DeviceAllow ?[]CGroupDeviceAllow https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#DeviceAllow=
DevicePolicy string https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#DevicePolicy=auto%7Cclosed%7Cstrict
Delegate bool https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#Delegate=
DelegateSubgroup ?string https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#DelegateSubgroup=
DelegateControllers ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#DisableControllers=
DisableControllers ?[]string https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#DisableControllers=
ManagedOOMSwap string https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#ManagedOOMSwap=auto%7Ckill
ManagedOOMMemoryPressure string https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#ManagedOOMSwap=auto%7Ckill
ManagedOOMMemoryPressureLimit ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#ManagedOOMMemoryPressureLimit=
ManagedOOMMemoryPressureDurationUSec ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#ManagedOOMMemoryPressureDurationSec=
ManagedOOMPreference string https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#ManagedOOMPreference=none%7Cavoid%7Comit
MemoryPressureWatch string https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#MemoryPressureWatch=
MemoryPressureThresholdUSec ?int https://www.freedesktop.org/software/systemd/man/260/systemd.resource-control.html#MemoryPressureThresholdSec=
CoredumpReceive bool Reflects whether to forward coredumps for processes that crash within this cgroup

CGroupRuntime

CGroup runtime of a unit

Field Type Description
ID ?int ID of the CGroup
Path ?string Path of the CGroup
MemoryCurrent ?int The current amount of memory used by the cgroup, in bytes
MemoryPeak ?int The peak amount of memory used by the cgroup since its creation, in bytes
MemorySwapCurrent ?int The current amount of swap space used by the cgroup, in bytes
MemorySwapPeak ?int The peak amount of swap space used by the cgroup since its creation, in bytes
MemoryZSwapCurrent ?int The current amount of zswap space used by the cgroup, in bytes
MemoryAvailable ?int The available memory for the cgroup, in bytes.
EffectiveMemoryMax ?int The effective maximum amount of memory allowed for the cgroup, in bytes
EffectiveMemoryHigh ?int The effective high watermark for memory usage by the cgroup, in bytes
EffectiveMemoryNodes ?[]int Memory NUMA nodes that the cgroup is allowed to use
CPUUsageNSec ?int The total CPU usage time in nanoseconds (ns) for the cgroup
EffectiveCPUs ?[]int NUMA nodes that the cgroup is allowed to use
TasksCurrent ?int The current number of tasks (i.e., processes or threads) running within the cgroup
EffectiveTasksMax ?int The maximum number of tasks that the cgroup is allowed to run concurrently
IPIngressBytes ?int The total number of bytes received by the cgroup's IP stack
IPIngressPackets ?int The total number of incoming packets received by the cgroup's IP stack
IPEgressBytes ?int iThe total number of bytes sent by the cgroup's IP stack
IPEgressPackets ?int The total number of outgoing packets sent by the cgroup's IP stack
IOReadBytes ?int The total number of bytes read from block devices by the cgroup
IOReadOperations ?int The total number of read operations performed on block devices by the cgroup
IOWriteBytes ?int The total number of bytes written to block devices by the cgroup
IOWriteOperations ?int The total number of write operations performed on block devices by the cgroup
OOMKills ?int The number of processes of this unit killed by the kernel OOM killer
ManagedOOMKills ?int The number of processes of this unit killed by systemd-oomd

WorkingDirectory

Field Type Description
path string The path to the working directory
missingOK bool Whether the path to the working directory is allowed to not exist

PartitionMountOptions

Field Type Description
partitionDesignator string The partition designator to which the options apply
options string The mount options for this partition

BindPath

Field Type Description
source string The mount source path
destination string The mount destination path
ignoreEnoent bool Whether a missing source path should be ignored
options []string Mount options

MountImage

Field Type Description
source string The path to the image to mount
destination string The destination path where to mount the image
ignoreEnoent bool Whether failure to find the image is considered fatal
mountOptions ?[]PartitionMountOptions The mount options to use for the partitions of the image

ExtensionImage

Field Type Description
source string The path to the extension image
ignoreEnoent bool Whether failure to find the extension image is considered fatal
mountOptions ?[]PartitionMountOptions The mount options to use for the partitions of the extension image

SELinuxContext

Field Type Description
ignore bool Whether failure to set the SELinux context is ignored
context string The SELinux context

AppArmorProfile

Field Type Description
ignore bool Whether failure to configure the apparmor profile will be ignored
profile string The AppArmor profile

SmackProcessLabel

Field Type Description
ignore bool Whether failure to configure the smack process label will be ignored
label string The smack process label

ResourceLimit

Field Type Description
soft ?int The soft resource limit. RLIM_INFINITY is mapped to unset value
hard ?int The hard resource limit. RLIM_INFINITY is mapped to unset value

ResourceLimitTable

Field Type Description
CPU ?ResourceLimit See setrlimit(2) for details
FSIZE ?ResourceLimit
DATA ?ResourceLimit
STACK ?ResourceLimit
CORE ?ResourceLimit
RSS ?ResourceLimit
NOFILE ?ResourceLimit
AS ?ResourceLimit
NPROC ?ResourceLimit
MEMLOCK ?ResourceLimit
LOCKS ?ResourceLimit
SIGPENDING ?ResourceLimit
MSGQUEUE ?ResourceLimit
NICE ?ResourceLimit
RTPRIO ?ResourceLimit
RTTIME ?ResourceLimit

CPUAffinity

Field Type Description
affinity []int CPU affinity of the executed processes
fromNUMA bool CPU affinity from NUMA

ExecDirectoryQuota

Field Type Description
accounting bool Whether the quota is accounted
enforce bool Whether the quota is enforced
quotaAbsolute int The absolute quota in bytes
quotaScale int The scaling factor for the quota

ExecDirectoryPath

Field Type Description
path string The path to the directory
symlinks ?[]string A list of symlinks pointing to the directory

ExecDirectory

Field Type Description
paths []ExecDirectoryPath Exec directory paths
mode int The access mode of the directory
quota ExecDirectoryQuota The quota for the directory

TemporaryFilesystem

Field Type Description
path string The destination path where the temporary filesystem should be mounted
options ?string The mount options for the temporary filesystem

AddressFamilyList

Field Type Description
isAllowList bool Whether the list of address families is an allow list
addressFamilies []string The list of address families

FilesystemList

Field Type Description
isAllowList bool Whether the list of filesystems is an allow list
filesystems []string The list of filesystems

SystemCallList

Field Type Description
isAllowList bool Whether the list of system calls is an allow list
systemCalls []string The list of system calls

EnvironmentFile

Field Type Description
path string The path to the environment file
graceful bool Whether failure to read the environment file is fatal or not

LogFilterPattern

Field Type Description
isAllowList bool Whether this pattern is an allow pattern
pattern string The filtering pattern

LoadCredential

Field Type Description
id string The credential ID
path string The credential path

ImportCredential

Field Type Description
glob string The glob pattern to find credentials
rename ?string The rename pattern to which matching credentials should be renamed

SetCredential

Field Type Description
id string The credential ID
value string The credential value encoded in base64

ExecContext

Exec context of a unit

Field Type Description
ExecSearchPath ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ExecSearchPath=
WorkingDirectory ?WorkingDirectory https://www.freedesktop.org/software/systemd/man260systemd.exec.html#WorkingDirectory=
RootDirectory ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RootDirectory=
RootImage ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RootImage=
RootMStack ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RootMStack=
RootImageOptions ?[]PartitionMountOptions https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RootImageOptions=
RootEphemeral bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RootEphemeral=
RootHash ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RootHash=
RootHashPath ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RootHash=
RootHashSignature ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RootHashSignature=
RootHashSignaturePath ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RootHashSignature=
RootVerity ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RootVerity=
RootImagePolicy string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RootImagePolicy=
MountImagePolicy string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RootImagePolicy=
ExtensionImagePolicy string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RootImagePolicy=
MountAPIVFS string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#MountAPIVFS=
BindLogSockets bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#BindLogSockets=
ProtectProc string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ProtectProc=
ProcSubset string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ProcSubset=
BindPaths ?[]BindPath https://www.freedesktop.org/software/systemd/man260systemd.exec.html#BindPaths=
BindReadOnlyPaths ?[]BindPath https://www.freedesktop.org/software/systemd/man260systemd.exec.html#BindPaths=
MountImages ?[]MountImage https://www.freedesktop.org/software/systemd/man260systemd.exec.html#MountImages=
ExtensionImages ?[]ExtensionImage https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ExtensionImages=
ExtensionDirectories ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ExtensionDirectories=
User ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#User=
Group ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#User=
DynamicUser bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#DynamicUser=
SupplementaryGroups ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#SupplementaryGroups=
SetLoginEnvironment ?bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#SetLoginEnvironment=
PAMName ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#PAMName=
CapabilityBoundingSet ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#CapabilityBoundingSet=
AmbientCapabilities ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#AmbientCapabilities=
NoNewPrivileges bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#NoNewPrivileges=
SecureBits ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#SecureBits=
SELinuxContext ?SELinuxContext https://www.freedesktop.org/software/systemd/man260systemd.exec.html#SELinuxContext=
AppArmorProfile ?AppArmorProfile https://www.freedesktop.org/software/systemd/man260systemd.exec.html#AppArmorProfile=
SmackProcessLabel ?SmackProcessLabel https://www.freedesktop.org/software/systemd/man260systemd.exec.html#SmackProcessLabel=
Limits ResourceLimitTable https://www.freedesktop.org/software/systemd/man260systemd.exec.html#LimitCPU=
UMask ?int https://www.freedesktop.org/software/systemd/man260systemd.exec.html#UMask=
CoredumpFilter ?int https://www.freedesktop.org/software/systemd/man260systemd.exec.html#CoredumpFilter=
KeyringMode string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#KeyringMode=
OOMScoreAdjust ?int https://www.freedesktop.org/software/systemd/man260systemd.exec.html#OOMScoreAdjust=
TimerSlackNSec ?int https://www.freedesktop.org/software/systemd/man260systemd.exec.html#TimerSlackNSec=
Personality ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#Personality=
IgnoreSIGPIPE bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#IgnoreSIGPIPE=
Nice int https://www.freedesktop.org/software/systemd/man260systemd.exec.html#Nice=
CPUSchedulingPolicy string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#CPUSchedulingPolicy=
CPUSchedulingPriority int https://www.freedesktop.org/software/systemd/man260systemd.exec.html#CPUSchedulingPriority=
CPUSchedulingResetOnFork bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#CPUSchedulingResetOnFork=
CPUAffinity ?CPUAffinity https://www.freedesktop.org/software/systemd/man260systemd.exec.html#CPUAffinity=
NUMAPolicy ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#NUMAPolicy=
NUMAMask ?[]int https://www.freedesktop.org/software/systemd/man260systemd.exec.html#NUMAMask=
IOSchedulingClass string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#IOSchedulingClass=
IOSchedulingPriority int https://www.freedesktop.org/software/systemd/man260systemd.exec.html#IOSchedulingPriority=
MemoryKSM ?bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#MemoryKSM=
MemoryTHP string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#MemoryTHP=
ProtectSystem string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ProtectSystem=
ProtectHome string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ProtectHome=
RuntimeDirectory ?ExecDirectory https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RuntimeDirectory=
StateDirectory ?ExecDirectory https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RuntimeDirectory=
CacheDirectory ?ExecDirectory https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RuntimeDirectory=
LogsDirectory ?ExecDirectory https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RuntimeDirectory=
ConfigurationDirectory ?ExecDirectory https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RuntimeDirectory=
RuntimeDirectoryPreserve string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RuntimeDirectoryPreserve=
TimeoutCleanUSec ?int https://www.freedesktop.org/software/systemd/man260systemd.exec.html#TimeoutCleanSec=
ReadWritePaths ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ReadWritePaths=
ReadOnlyPaths ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ReadWritePaths=
InaccessiblePaths ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ReadWritePaths=
ExecPaths ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ReadWritePaths=
NoExecPaths ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ReadWritePaths=
TemporaryFileSystem ?[]TemporaryFilesystem https://www.freedesktop.org/software/systemd/man260systemd.exec.html#TemporaryFileSystem=
PrivateTmp string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#PrivateTmp=
PrivateDevices string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#PrivateDevices=
PrivateNetwork string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#PrivateNetwork=
NetworkNamespacePath ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#NetworkNamespacePath=
PrivateIPC string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#PrivateIPC=
IPCNamespacePath ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#IPCNamespacePath=
PrivatePIDs string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#PrivatePIDs=
PrivateUsers string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#PrivateUsers=
UserNamespacePath ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#UserNamespacePath=
ProtectHostname string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ProtectHostname=
ProtectClock string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ProtectClock=
ProtectKernelTunables string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ProtectKernelTunables=
ProtectKernelModules string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ProtectKernelModules=
ProtectKernelLogs string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ProtectKernelLogs=
ProtectControlGroups string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ProtectControlGroups=
RestrictAddressFamilies ?AddressFamilyList https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RestrictAddressFamilies=
RestrictFilesystems ?FilesystemList https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RestrictFileSystems=
RestrictNamespaces ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RestrictNamespaces=
DelegateNamespaces ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#DelegateNamespaces=
PrivatePBF string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#PrivatePBF=
BPFDelegateCommands ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#BPFDelegateCommands=
BPFDelegateMaps ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#BPFDelegateMaps=
BPFDelegatePrograms ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#BPFDelegatePrograms=
BPFDelegateAttachments ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#BPFDelegateAttachments=
LockPersonality bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#LockPersonality=
MemoryDenyWriteExecute bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#MemoryDenyWriteExecute=
RestrictRealtime bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RestrictRealtime=
RestrictSUIDSGID bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#RestrictSUIDSGID=
RemoveIPC bool Whether to remove all System V and POSIX IPC objects owned by the user and group this unit runs under
PrivateMounts ?bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#PrivateMounts=
MountFlags ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#MountFlags=
SystemCallFilter ?SystemCallList https://www.freedesktop.org/software/systemd/man260systemd.exec.html#SystemCallFilter=
SystemCallErrorNumber ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#SystemCallErrorNumber=
SystemCallArchitectures ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#SystemCallArchitectures=
SystemCallLog ?SystemCallList https://www.freedesktop.org/software/systemd/man260systemd.exec.html#SystemCallLog=
Environment ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#Environment=
EnvironmentFiles ?[]EnvironmentFile https://www.freedesktop.org/software/systemd/man260systemd.exec.html#EnvironmentFile=
PassEnvironment ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#PassEnvironment=
UnsetEnvironment ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#UnsetEnvironment=
StandardInput string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#StandardInput=
StandardOutput string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#StandardOutput=
StandardError string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#StandardError=
StandardInputFileDescriptorName ?string The file descriptor name to connect standard input to
StandardOutputFileDescriptorName ?string The file descriptor name to connect standard output to
StandardErrorFileDescriptorName ?string The file descriptor name to connect standard error to
StandardInputData ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#StandardInputText=
LogLevelMax ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#LogLevelMax=
LogExtraFields ?[]string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#LogExtraFields=
LogRateLimit ?RateLimit https://www.freedesktop.org/software/systemd/man260systemd.exec.html#LogRateLimitIntervalSec=
LogFilterPatterns ?[]LogFilterPattern https://www.freedesktop.org/software/systemd/man260systemd.exec.html#LogFilterPatterns=
LogNamespace ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#LogNamespace=
SyslogIdentifier ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#SyslogIdentifier=
SyslogFacility ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#SyslogFacility=
SyslogLevel ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#SyslogLevel=
SyslogLevelPrefix bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#SyslogLevelPrefix=
TTYPath ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#TTYPath=
TTYReset ?bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#TTYReset=
TTYVHangup ?bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#TTYVHangup=
TTYRows ?int https://www.freedesktop.org/software/systemd/man260systemd.exec.html#TTYRows=
TTYColumns ?int https://www.freedesktop.org/software/systemd/man260systemd.exec.html#TTYRows=
TTYVTDisallocate ?bool https://www.freedesktop.org/software/systemd/man260systemd.exec.html#TTYVTDisallocate=
LoadCredential ?[]LoadCredential https://www.freedesktop.org/software/systemd/man260systemd.exec.html#LoadCredential=ID:PATH
LoadCredentialEncrypted ?[]LoadCredential https://www.freedesktop.org/software/systemd/man260systemd.exec.html#LoadCredential=ID:PATH
ImportCredential ?[]ImportCredential https://www.freedesktop.org/software/systemd/man260systemd.exec.html#ImportCredential=GLOB
SetCredential ?[]SetCredential https://www.freedesktop.org/software/systemd/man260systemd.exec.html#SetCredential=ID:VALUE
SetCredentialEncrypted ?[]SetCredential https://www.freedesktop.org/software/systemd/man260systemd.exec.html#SetCredential=ID:VALUE
UtmpIdentifier ?string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#UtmpIdentifier=
UtmpMode string https://www.freedesktop.org/software/systemd/man260systemd.exec.html#UtmpMode=

Errors

Error Go type Description
NoSuchUnit NoSuchUnitError No matching unit found
UnitMasked UnitMaskedError The unit is masked
UnitError UnitError Unit is in a fatal error state
PropertyNotSupported PropertyNotSupportedError Changing this property via SetProperties() is not supported
OnlyByDependency OnlyByDependencyError Job for the unit may only be enqueued by dependencies
DBusShuttingDown DBusShuttingDownError A unit that requires D-Bus cannot be started as D-Bus is shutting down