<domain type='{{ engine }}'>
  <name>{{ name }}</name>
  <memory unit='KiB'>{{ memory }}</memory>
  <vcpu>{{ cpus }}</vcpu>
  <os>
    <type arch='{{ arch }}' machine='pc-1.0'>hvm</type>
    <boot dev='{{ bootdev }}'/>
    {% if uefi_loader %}
        <loader readonly='yes' type='pflash'>{{ uefi_loader }}</loader>
        {% if uefi_nvram %}
            <nvram>{{ uefi_nvram }}</nvram>
        {% endif %}
    {% endif %}
    <bootmenu enable='no'/>
    <bios useserial='yes'/>
  </os>
  {% if engine == 'kvm' %}
    <cpu mode='host-passthrough'/>
  {% endif %}
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>{{ emulator }}</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='{{ disk_format }}' cache='writeback'/>
      <source file='{{ imagefile }}'/>
      <!-- NOTE(lucasagomes): The virtio disk controller apparently does
           not work with UEFI, so let's use IDE. -->
      {% if uefi_loader %}
          <target dev='vda' bus='ide'/>
          <address type='drive' controller='0' bus='0' target='0' unit='0'/>
      {% else %}
          <target dev='vda' bus='virtio'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
      {% endif %}
    </disk>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    {% for n in range(1, interface_count+1) %}
    <interface type='direct'>
      <source dev='{{ "tap-" + name + "i" + n|string }}'/>
      <model type='{{ nicdriver }}'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='{{ "0x0" + n|string }}' function='0x0'/>
    </interface>
    {% endfor %}
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    {{ console }}
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </memballoon>
  </devices>
</domain>
