Name
netplan-generate - generate backend configuration from netplan YAML files
Synopsis
\f[B]netplan\f[R] [--debug] \f[B]generate\f[R] -h | --help
\f[B]netplan\f[R] [--debug] \f[B]generate\f[R] [--root-dir \f[I]ROOT_DIR\f[R]] [--mapping \f[I]MAPPING\f[R]]
Description
netplan generate converts netplan YAML into configuration files understood by the backends (\f[B]systemd-networkd\f[R](8) or \f[B]NetworkManager\f[R](8)). It \f[I]does not\f[R] apply the generated configuration.
You will not normally need to run this directly as it is run by \f[B]netplan apply\f[R], \f[B]netplan try\f[R], or at boot.
Only if executed during the systemd \f[V]initializing\f[R] phase (i.e. "Early bootup, before \f[V]basic.target\f[R] is reached"), will it attempt to start/apply the newly created service units. \f[B]Requires feature: generate-just-in-time\f[R]
For details of the configuration file format, see \f[B]netplan\f[R](5).
Options
-h, --help Print basic help.
--debug Print debugging output during the process.
--root-dir \f[I]ROOT_DIR\f[R] Instead of looking in /{lib,etc,run}/netplan, look in /\f[I]ROOT_DIR\f[R]/{lib,etc,run}/netplan
--mapping \f[I]MAPPING\f[R] Instead of generating output files, parse the configuration files and print some internal information about the device specified in \f[I]MAPPING\f[R].
Handling Multiple Files
There are 3 locations that netplan generate considers:
/lib/netplan/*.yaml
/etc/netplan/*.yaml
/run/netplan/*.yaml
If there are multiple files with exactly the same name, then only one will be read. A file in /run/netplan will shadow - completely replace - a file with the same name in /etc/netplan. A file in /etc/netplan will itself shadow a file in /lib/netplan.
Or in other words, /run/netplan is top priority, then /etc/netplan, with /lib/netplan having the lowest priority.
If there are files with different names, then they are considered in lexicographical order - regardless of the directory they are in. Later files add to or override earlier files. For example, /run/netplan/10-foo.yaml would be updated by /lib/netplan/20-abc.yaml.
If you have two files with the same key/setting, the following rules apply:
If the values are YAML boolean or scalar values (numbers and strings) the old value is overwritten by the new value.
If the values are sequences, the sequences are concatenated - the new values are appended to the old list.
If the values are mappings, netplan will examine the elements of the mappings in turn using these rules.
See Also
\f[B]netplan\f[R](5), \f[B]netplan-apply\f[R](8), \f[B]netplan-try\f[R](8), \f[B]systemd-networkd\f[R](8), \f[B]NetworkManager\f[R](8)