17.3. Methods

17.3.1. Creating a New Template

Creation of a new template requires the name and vm elements. Identify the vm with the id attribute or name element.

Example 17.2. Creating a template from a virtual machine

POST /ovirt-engine/api/templates HTTP/1.1
Accept: application/xml
Content-type: application/xml

<template>
    <name>template1</name>
    <vm id="00000000-0000-0000-0000-000000000000"/>
</template>

17.3.2. Creating a New Template Sub Version

Creation of a new template sub version requires the name and vm elements for the new template, and the base_template and version_name elements for the new template version. The base_template and version_name elements must be specified within a version section enclosed in the template section. Identify the vm with the id attribute or name element.

Example 17.3. Creating a template sub version from a virtual machine

POST /ovirt-engine/api/templates HTTP/1.1
Accept: application/xml
Content-type: application/xml

<template>
  <name>template1_001</name>
  <vm id="00000000-0000-0000-0000-000000000000"/>
  <version>
    <base_template id="00000000-0000-0000-0000-000000000000"/>
    <version_name>"template1_001"</version_name>
  </version>
</template>

17.3.3. Updating a Template

The name, description, type, memory, cpu topology, os, high_availability, display, stateless, usb and timezone elements can be updated after a template has been created.

Example 17.4. Updating a virtual machine template to contain 1 GB of memory

PUT /ovirt-engine/api/templates/00000000-0000-0000-0000-000000000000 HTTP/1.1
Accept: application/xml
Content-type: application/xml

<template>
    <memory>1073741824</memory>
</template>

17.3.4. Updating a Template Sub Version

Only the version_name element can be updated after a template sub version has been created.

Example 17.5. Updating a virtual machine template sub version name

PUT /ovirt-engine/api/templates/00000000-0000-0000-0000-000000000000 HTTP/1.1
Accept: application/xml
Content-type: application/xml

<template>
  <version>
    <version_name>template1_002</version_name>
  </version>
</template>

17.3.5. Removing a Template

Removal of a virtual machine template requires a DELETE request.

Example 17.6. Removing a virtual machine template

DELETE /ovirt-engine/api/templates/00000000-0000-0000-0000-000000000000 HTTP/1.1

HTTP/1.1 204 No Content