A.4. Examples
A.4.1. GET Request with cURL
Example A.1. GET
request
The following
GET
request lists the virtual machines in the vms
collection. Note that a GET
request does not contain a body.
GET /api/vms HTTP/1.1 Accept: application/xml
Adapt the method (
GET
), header (Accept: application/xml
) and URI (https://[RHEVM-Host]:443/api/vms
) into the following cURL command:
$ curl -X GET -H "Accept: application/xml" -u [USER:PASS] --cacert [CERT] https://[RHEVM-Host]:443/api/vms
An XML representation of the
vms
collection displays.
A.4.2. POST Request with cURL
Example A.2. POST
request
The following
POST
request creates a virtual machine in the vms
collection. Note that a POST
request requires a 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>
Adapt the method (
POST
), headers (Accept: application/xml
and Content-type: application/xml
), URI (https://[RHEVM-Host]:443/api/vms
) and request body into the following cURL command:
$ 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
The REST API creates a new virtual machine and displays an XML representation of the resource.
A.4.3. PUT Request with cURL
Example A.3. PUT
request
The following
PUT
request updates the memory of a virtual machine resource. Note that a PUT
request requires a body.
PUT /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1 Accept: application/xml Content-type: application/xml <vm> <memory>1073741824</memory> </vm>
Adapt the method (
PUT
), headers (Accept: application/xml
and Content-type: application/xml
), URI (https://[RHEVM-Host]:443/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399
) and request body into the following cURL command:
$ 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
The REST API updates the virtual machine with a new memory configuration.
A.4.4. DELETE Request with cURL
Example A.4. DELETE
request
The following
DELETE
request removes a virtual machine resource.
DELETE /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1
Adapt the method (
DELETE
) and URI (https://[RHEVM-Host]:443/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399
) into the following cURL command:
$ curl -X DELETE -u [USER:PASS] --cacert [CERT] https://[RHEVM-Host]:443//api/vms/082c794b-771f-452f-83c9-b2b5a19c039
The REST API removes the virtual machine. Note the
Accept: application/xml
request header is optional due to the empty result of DELETE
requests.
A.4.5. DELETE Request Including Body with cURL
Example A.5. DELETE
request with body
The following
DELETE
request force removes a virtual machine resource as indicated with the optional body.
DELETE /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1 Accept: application/xml Content-type: application/xml <action> <force>true</force> </action>
Adapt the method (
DELETE
), headers (Accept: application/xml
and Content-type: application/xml
), URI (https://[RHEVM-Host]:443/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399
) and request body into the following cURL command:
$ 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
The REST API force removes the virtual machine.