17.3. 方法

17.3.1. 创建新模板

创建新模板需要 namevm 项。使用 id 属性或 name 项来指定 vm

例 17.2. 通过虚拟机创建一个模板

POST /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. 创建新的模板子版本

创建新的模板子版本需要新模板的 namevm 项,以及新模板版本的 base_templateversion_name 项。base_templateversion_name 项必须在 template 项中的 version 中指定。使用 id 属性或 name 项来指定 vm

例 17.3. 通过虚拟机创建一个模板子版本

POST /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. 更新模板

在模板被创建后,namedescriptiontypememorycpu topologyoshigh_availabilitydisplaystatelessusbtimezone 项可以被更新。

例 17.4. 更新一个带有 1 GB 内存的虚拟机模板

PUT /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. 更新模板子版本

当一个模板子版本被创建后,只有 version_name 项可以被更新。

例 17.5. 更新一个虚拟机模板子版本名

PUT /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. 删除模板

删除虚拟机模板需要一个 DELETE 请求。

例 17.6. 删除虚拟机模板

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

HTTP/1.1 204 No Content