Multipass can be configured with a number of settings. These settings are read and written by the
set CLI commands, respectively. In some cases, they are also available in the GUI. Settings are organized in a tree structure where each individual setting is identified by a unique key and takes on a single value at any given time.
A setting key is a string in the form of a dot-separated path through the settings tree (e.g.
client.gui.autostart). A key specifies one path along the settings tree, from the root to a leaf. Thus, individual settings correspond to the leaves of this tree. Conceptually, branches of the tree can be singled out with wildcards, to refer to multiple settings at once. For instance,
client.gui.* designates the settings that affect the Multipass GUI. Wildcards can also be used to select separate branches. For example
local.*.cpus refers to the number of CPUs of Multipass instances.
A setting value is a string whose syntax (allowed values/representations) and semantics (their interpretation) is determined by the setting in question. Values often express common concepts (e.g.
42) and are internally interpreted with the corresponding programming types (e.g. boolean, integer), but they can also be more complex (e.g. a keyboard combination). In any case, they are always specified and displayed through a string representation (e.g. "Ctrl+Alt+U).
At any given time, available settings (e.g. with
multipass set) depend on the state of the system. Some settings are only available on some platforms, while daemon settings can only be accessed when the Multipass daemon itself can be reached. Additionally, some instance properties are also exposed as settings.
multipass get --keys shows what settings are available at any given time [since version 1.10].