145
• vm
Note that not every value of <class> has the full set of <class>-param- commands; some have just a subset.
Parameter types
The objects that are addressed with the xe commands have sets of parameters that identify them and define
their states.
Most parameters take a single value. For example, the name-label parameter of a VM contains a single
string value. In the output from parameter list commands such as xe vm-param-list, such parameters have
an indication in parentheses that defines whether they can be read and written to, or are read-only. For
example, the output of xe vm-param-list on a specified VM might have the lines
user-version ( RW): 1
is-control-domain ( RO): false
The first parameter, user-version, is writable and has the value 1. The second, is-control-domain,
is read-only and has a value of false.
The two other types of parameters are multi-valued. A set parameter contains a list of values. A map
parameter is a set of key/value pairs. As an example, look at the following excerpt of some sample output
of the xe vm-param-list on a specified VM:
platform (MRW): acpi: true; apic: true; pae: true; nx: false
allowed-operations (SRO): pause; clean_shutdown; clean_reboot; \
hard_shutdown; hard_reboot; suspend
The platform parameter has a list of items that represent key/value pairs. The key names are followed
by a colon character (:). Each key/value pair is separated from the next by a semicolon character (;). The
M preceding the RW indicates that this is a map parameter and is readable and writable. The allowed-
operations parameter has a list that makes up a set of items. The S preceding the RO indicates that this
is a set parameter and is readable but not writable.
In xe commands where you want to filter on a map parameter, or set a map parameter, use the separator :
(colon) between the map parameter name and the key/value pair. For example, to set the value of the foo
key of the other-config parameter of a VM to baa, the command would be
xe vm-param-set uuid=<VM uuid> other-config:foo=baa
Note:
In previous releases the separator - (dash) was used in specifying map parameters. This syntax still works
but is deprecated.
Low-level param commands
There are several commands for operating on parameters of objects: <class>-param-get, <class>-param-
set, <class>-param-add, <class>-param-remove, <class>-param-clear, and <class>-param-list. Each of
these takes a uuid parameter to specify the particular object. Since these are considered low-level
commands, they must be addressed by UUID and not by the VM name label.
<class>-param-list uuid=<uuid>
Lists all of the parameters and their associated values. Unlike the class-list command, this will list the
values of "expensive" fields.