A.4. 实例

A.4.1. 在 cURL 中使用 GET 请求

例 A.1. GET 请求

以下 GET 请求列出了 vms 集合中的虚拟机。请注意,GET 请求不包括正文(body)项。
GET /api/vms HTTP/1.1
Accept: application/xml
cURL 命令中使用方法(GET)、头数据(Accept: application/xml)和 URI(https://[RHEVM-Host]:443/api/vms):
$ curl -X GET -H "Accept: application/xml" -u [USER:PASS] --cacert [CERT] https://[RHEVM-Host]:443/api/vms
一个 vms 集合的表述会被显示。

A.4.2. 在 cURL 中使用 POST 请求

例 A.2. POST 请求

以下 POST 请求会在 vms 集合中创建一个虚拟机。请注意,POST 请求需要一个正文(body)。
POST /api/vms HTTP/1.1
Accept: application/xml
Content-type: application/xml

<vm>
  <name>vm1</name>
  <cluster>
    <name>default</name>
  </cluster>
  <template>
    <name>Blank</name>
  </template>
  <memory>536870912</memory> 
  <os>
    <boot dev="hd"/>
  </os>
</vm>
cURL 命令中使用方法(POST),头(Accept: application/xmlContent-type: application/xml)、URI(https://[RHEVM-Host]:443/api/vms)以及一个请求正文:
$ curl -X POST -H "Accept: application/xml" -H "Content-type: application/xml" -u [USER:PASS] --cacert [CERT] -d "<vm><name>vm1</name><cluster><name>default</name></cluster><template><name>Blank</name></template><memory>536870912</memory><os><boot dev='hd'/></os></vm>" https://[RHEVM-Host]:443/api/vms
REST API 创建一个新虚拟机,并显示资源的表述。

A.4.3. 在 cURL 中使用 PUT 请求

例 A.3. PUT 请求

以下 PUT 请求会更新一个虚拟机的内存。请注意,PUT 请求需要一个正文。
PUT /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1
Accept: application/xml
Content-type: application/xml

<vm>
    <memory>1073741824</memory>
</vm>
cURL 命令中使用方法(PUT),标头(Accept: application/xmlContent-type: application/xml)、URI(https://[RHEVM-Host]:443/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399)以及一个请求正文:
$ curl -X PUT -H "Accept: application/xml" -H "Content-type: application/xml" -u [USER:PASS] --cacert [CERT] -d "<vm><memory>1073741824</memory></vm>" https://[RHEVM-Host]:443//api/vms/082c794b-771f-452f-83c9-b2b5a19c039
REST API 更新了虚拟机的内存配置。

A.4.4. 在 cURL 中使用 DELETE 请求

例 A.4. DELETE 请求

以下 DELETE 请求会删除一个虚拟机资源。
DELETE /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1
cURL 命令中使用方法(DELETE)和 URI(https://[RHEVM-Host]:443/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399):
$ curl -X DELETE -u [USER:PASS] --cacert [CERT] https://[RHEVM-Host]:443//api/vms/082c794b-771f-452f-83c9-b2b5a19c039
REST API 删除了虚拟机。请注意,因为 DELETE 请求的结果是空,Accept: application/xml 对标头的需求是可选的。

A.4.5. 在 cURL 中使用带有正文的 DELETE 请求

例 A.5. 带有正文的 DELETE 请求

以下 DELETE 请求包括了一个正文来强制删除一个虚拟机。
DELETE /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1
Accept: application/xml
Content-type: application/xml

<action>
  <force>true</force>
</action>
cURL 命令中使用方法(DELETE),标头(Accept: application/xmlContent-type: application/xml)、URI(https://[RHEVM-Host]:443/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399)以及一个请求正文:
$ curl -X DELETE -H "Accept: application/xml" -H "Content-type: application/xml" -u [USER:PASS] --cacert [CERT] -d "<action><force>true</force></action>" https://[RHEVM-Host]:443//api/vms/082c794b-771f-452f-83c9-b2b5a19c039
REST API 强制删除虚拟机。