A.4. 实例
A.4.1. 在 cURL 中使用 GET 请求 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
例 A.1. GET 请求
以下
GET 请求列出了 vms 集合中的虚拟机。请注意,GET 请求不包括正文(body)项。
GET /api/vms HTTP/1.1 Accept: application/xml
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
$ 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)。
在 cURL 命令中使用方法(
POST),头(Accept: application/xml 和 Content-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
$ 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 请求需要一个正文。
在 cURL 命令中使用方法(
PUT),标头(Accept: application/xml 和 Content-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
$ 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
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
$ 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 请求包括了一个正文来强制删除一个虚拟机。
在 cURL 命令中使用方法(
DELETE),标头(Accept: application/xml 和 Content-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
$ 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 强制删除虚拟机。