+(Optionally) The output size (in bytes). If not specified, then the
+template can choose a default size.
+
+=item C<$timezone>
+
+(Optionally) The timezone.
+
+=back
+
+=item cmdline
+
+The template MAY print a kernel command line. This is used to boot
+the guest, but only when C<needs-external-kernel> is set (see below).
+
+=item disk-bus
+
+The template MAY print the disk type supported by this guest. Possible
+values include C<ide>, C<virtio>, C<virtio-scsi>.
+
+=item guest-arch
+
+The template MAY print the guest architecture.
+
+If supplied, this acts as a hint when generating the XML in the C<mclu
+boot> subcommand. The default is to assume the guest architecture is
+the same as the cluster host on which the guest runs.
+
+=item minimum-memory
+
+The template MAY print the minimum memory (RAM) required by this
+guest. Abbreviations like C<1G> are supported.
+
+=item minimum-size
+
+The template MAY print the minimum disk space required by this guest.
+Abbreviations like C<10G> are supported.
+
+=item needs-external-kernel
+
+The template MAY print C<yes> or C<1>. If it does so then after the
+guest has been built, L<virt-get-kernel(1)> is run to extract the
+kernel and initrd from the guest, and these are used to boot the guest
+with an external kernel and initrd (ie. using the libvirt
+C<E<lt>kernelE<gt>> and C<E<lt>initrdE<gt>> directives).
+
+=item network-model
+
+The template MAY print the network type supported by this guest.
+Possible values include C<e1000>, C<virtio>.
+
+=item probe
+
+The template MUST print C<hello> followed by a newline, and then exit
+with code 0.
+
+=item recommended-memory
+
+The template MAY print the recommended amount of memory (RAM), used if
+the user does not select any other value. Abbreviations like C<2G>
+are supported.
+
+=item xml
+
+The template MAY specify custom libvirt XML. Usually you should
+I<not> specify this. It is only used when you need very odd guest
+configuration (especially when emulating other architectures).
+
+The following environment variables are passed to the template:
+
+=over 4
+
+=item C<$name>
+
+The guest name.
+
+=item C<$format>
+
+The disk format (eg. C<qcow2>).
+
+=item C<$output>
+
+The disk file name.
+
+=item C<$memory_kb>
+
+The size of the RAM in kilobytes.
+
+=item C<$vcpus>
+
+The number of virtual CPUs.
+
+=item C<$mac_addr>
+
+The MAC address.
+
+=back
+
+=back