Chapter 6. Services
This section enumerates all the services that are available in the API.
6.1. AffinityGroup
This service manages a single affinity group.
Table 6.1. Methods summary
| Name | Summary |
|---|---|
|
| Retrieve the affinity group details. |
|
| Remove the affinity group. |
|
| Update the affinity group. |
6.1.1. get GET
Retrieve the affinity group details.
<affinity_group id="00000000-0000-0000-0000-000000000000"> <name>AF_GROUP_001</name> <cluster id="00000000-0000-0000-0000-000000000000"/> <positive>true</positive> <enforcing>true</enforcing> </affinity_group>
Table 6.2. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The affinity group. |
6.1.2. remove DELETE
Remove the affinity group.
DELETE /ovirt-engine/api/clusters/000-000/affinitygroups/123-456
Table 6.3. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the removal should be performed asynchronously. |
6.1.3. update PUT
Update the affinity group.
Table 6.4. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out | The affinity group. |
6.2. AffinityGroupVm
This service manages a single virtual machine to affinity group assignment.
Table 6.5. Methods summary
| Name | Summary |
|---|---|
|
| Remove this virtual machine from the affinity group. |
6.2.1. remove DELETE
Remove this virtual machine from the affinity group.
Table 6.6. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the removal should be performed asynchronously. |
6.3. AffinityGroupVms
This service manages a collection of all the virtual machines assigned to an affinity group.
Table 6.7. Methods summary
| Name | Summary |
|---|---|
|
| Add a virtual machine to the affinity group. |
|
| List all virtual machines assigned to this affinity group. |
6.3.1. add POST
Add a virtual machine to the affinity group.
For example, to add the virtual machine 000-000 to affinity group 123-456 send a request to:
POST /ovirt-engine/api/clusters/000-000/affinitygroups/123-456/vms
With the following body:
<vm id="000-000"/>
Table 6.8. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.3.2. list GET
List all virtual machines assigned to this affinity group.
Table 6.9. Parameters summary
6.3.2.1. max
Sets the maximum number of virtual machines to return. If not specified, all the virtual machines are returned.
6.4. AffinityGroups
The affinity groups service manages virtual machine relationships and dependencies.
Table 6.10. Methods summary
| Name | Summary |
|---|---|
|
| Create a new affinity group. |
|
| List existing affinity groups. |
6.4.1. add POST
Create a new affinity group.
Post a request like in the example below to create a new affinity group:
POST /ovirt-engine/api/clusters/000-000/affinitygroups
And use the following example in its body:
<affinity_group> <name>AF_GROUP_001</name> <positive>true</positive> <enforcing>true</enforcing> </affinity_group>
Table 6.11. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The affinity group object to create. |
6.4.2. list GET
List existing affinity groups.
Table 6.12. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The list of existing affinity groups. | |
|
| In | Sets the maximum number of affinity groups to return. |
6.4.2.1. max
Sets the maximum number of affinity groups to return. If not specified all the affinity groups are returned.
6.5. AffinityLabel
The details of a single affinity label.
Table 6.13. Methods summary
| Name | Summary |
|---|---|
|
| Retrieves the details of a label. |
|
| Removes a label from the system and clears all assignments of the removed label. |
|
| Updates a label. |
6.5.1. get GET
Retrieves the details of a label.
Table 6.14. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.5.2. remove DELETE
Removes a label from the system and clears all assignments of the removed label.
6.5.3. update PUT
Updates a label. This call will update all metadata, such as the name or description.
Table 6.15. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.6. AffinityLabelHost
This service represents a host that has a specific label when accessed through the affinitylabels/hosts subcollection.
Table 6.16. Methods summary
| Name | Summary |
|---|---|
|
| Retrieves details about a host that has this label assigned. |
|
| Remove a label from a host. |
6.6.1. get GET
Retrieves details about a host that has this label assigned.
Table 6.17. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.6.2. remove DELETE
Remove a label from a host.
6.7. AffinityLabelHosts
This service represents list of hosts that have a specific label when accessed through the affinitylabels/hosts subcollection.
Table 6.18. Methods summary
| Name | Summary |
|---|---|
|
| Add a label to a host. |
|
| List all hosts with the label. |
6.7.1. add POST
Add a label to a host.
Table 6.19. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.7.2. list GET
List all hosts with the label.
Table 6.20. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.8. AffinityLabelVm
This service represents a vm that has a specific label when accessed through the affinitylabels/vms subcollection.
Table 6.21. Methods summary
| Name | Summary |
|---|---|
|
| Retrieves details about a vm that has this label assigned. |
|
| Remove a label from a vm. |
6.8.1. get GET
Retrieves details about a vm that has this label assigned.
Table 6.22. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.8.2. remove DELETE
Remove a label from a vm.
6.9. AffinityLabelVms
This service represents list of vms that have a specific label when accessed through the affinitylabels/vms subcollection.
Table 6.23. Methods summary
| Name | Summary |
|---|---|
|
| Add a label to a vm. |
|
| List all vms with the label. |
6.9.1. add POST
Add a label to a vm.
Table 6.24. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.9.2. list GET
List all vms with the label.
Table 6.25. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.10. AffinityLabels
Manages the affinity labels available in the system.
Table 6.26. Methods summary
| Name | Summary |
|---|---|
|
| Creates a new label. |
|
| Lists all labels present in the system. |
6.10.1. add POST
Creates a new label. The label is automatically attached to all entities mentioned in the vms or hosts lists.
Table 6.27. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.10.2. list GET
Lists all labels present in the system.
Table 6.28. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of labels to return. |
6.10.2.1. max
Sets the maximum number of labels to return. If not specified all the labels are returned.
6.11. AssignedAffinityLabel
This service represents one label to entity assignment when accessed using the entities/affinitylabels subcollection.
Table 6.29. Methods summary
| Name | Summary |
|---|---|
|
| Retrieves details about the attached label. |
|
| Removes the label from an entity. |
6.11.1. get GET
Retrieves details about the attached label.
Table 6.30. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.11.2. remove DELETE
Removes the label from an entity. Does not touch the label itself.
6.12. AssignedAffinityLabels
This service is used to list and manipulate affinity labels that are assigned to supported entities when accessed using entities/affinitylabels.
Table 6.31. Methods summary
| Name | Summary |
|---|---|
|
| Attaches a label to an entity. |
|
| Lists all labels that are attached to an entity. |
6.12.1. add POST
Attaches a label to an entity.
Table 6.32. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.12.2. list GET
Lists all labels that are attached to an entity.
Table 6.33. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.13. AssignedCpuProfile
Table 6.34. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.13.1. get GET
Table 6.35. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.13.2. remove DELETE
Table 6.36. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.14. AssignedCpuProfiles
Table 6.37. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.14.1. add POST
Table 6.38. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.14.2. list GET
Table 6.39. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of profiles to return. | |
|
| Out |
6.14.2.1. max
Sets the maximum number of profiles to return. If not specified all the profiles are returned.
6.15. AssignedDiskProfile
Table 6.40. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.15.1. get GET
Table 6.41. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.15.2. remove DELETE
Table 6.42. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.16. AssignedDiskProfiles
Table 6.43. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.16.1. add POST
Table 6.44. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.16.2. list GET
Table 6.45. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of profiles to return. | |
|
| Out |
6.16.2.1. max
Sets the maximum number of profiles to return. If not specified all the profiles are returned.
6.17. AssignedPermissions
Represents a permission sub-collection, scoped by user, group or some entity type.
Table 6.46. Methods summary
| Name | Summary |
|---|---|
|
| Assign a new permission to a user or group for specific entity. |
|
| List all the permissions of the specific entity. |
6.17.1. add POST
Assign a new permission to a user or group for specific entity.
For example, to assign the UserVmManager role to the virtual machine with id 123 to the user with id 456 send a request like this:
POST /ovirt-engine/api/vms/123/permissions
With a request body like this:
<permission>
<role>
<name>UserVmManager</name>
</role>
<user id="456"/>
</permission>
To assign the SuperUser role to the system to the user with id 456 send a request like this:
POST /ovirt-engine/api/permissions
With a request body like this:
<permission>
<role>
<name>SuperUser</name>
</role>
<user id="456"/>
</permission>
If you want to assign permission to the group instead of the user please replace the user element with the group element with proper id of the group. For example to assign the UserRole role to the cluster with id 123 to the group with id 789 send a request like this:
POST /ovirt-engine/api/clusters/123/permissions
With a request body like this:
<permission>
<role>
<name>UserRole</name>
</role>
<group id="789"/>
</permission>Table 6.47. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The permission. |
6.17.2. list GET
List all the permissions of the specific entity.
For example to list all the permissions of the cluster with id 123 send a request like this:
GET /ovirt-engine/api/clusters/123/permissions
<permissions>
<permission id="456">
<cluster id="123"/>
<role id="789"/>
<user id="451"/>
</permission>
<permission id="654">
<cluster id="123"/>
<role id="789"/>
<group id="127"/>
</permission>
</permissions>Table 6.48. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The list of permissions. |
6.18. AssignedRoles
Represents a roles sub-collection, for example scoped by user.
Table 6.49. Methods summary
| Name | Summary |
|---|---|
|
|
6.18.1. list GET
Table 6.50. Parameters summary
6.18.1.1. max
Sets the maximum number of roles to return. If not specified all the roles are returned.
6.19. AssignedTag
A service to manage assignment of specific tag to specific entities in system.
Table 6.51. Methods summary
| Name | Summary |
|---|---|
|
| Gets the information about the assigned tag. |
|
| Unassign tag from specific entity in the system. |
6.19.1. get GET
Gets the information about the assigned tag.
For example to retrieve the information about the tag with the id 456 which is assigned to virtual machine with id 123 send a request like this:
GET /ovirt-engine/api/vms/123/tags/456
<tag href="/ovirt-engine/api/tags/456" id="456"> <name>root</name> <description>root</description> <vm href="/ovirt-engine/api/vms/123" id="123"/> </tag>
Table 6.52. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The assigned tag. |
6.19.2. remove DELETE
Unassign tag from specific entity in the system.
For example to unassign the tag with id 456 from virtual machine with id 123 send a request like this:
DELETE /ovirt-engine/api/vms/123/tags/456
Table 6.53. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.20. AssignedTags
A service to manage collection of assignment of tags to specific entities in system.
Table 6.54. Methods summary
| Name | Summary |
|---|---|
|
| Assign tag to specific entity in the system. |
|
| List all tags assigned to the specific entity. |
6.20.1. add POST
Assign tag to specific entity in the system.
For example to assign tag mytag to virtual machine with the id 123 send a request like this:
POST /ovirt-engine/api/vms/123/tags
With a request body like this:
<tag> <name>mytag</name> </tag>
Table 6.55. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The assigned tag. |
6.20.2. list GET
List all tags assigned to the specific entity.
For example to list all the tags of the virtual machine with id 123 send a request like this:
GET /ovirt-engine/api/vms/123/tags
<tags>
<tag href="/ovirt-engine/api/tags/222" id="222">
<name>mytag</name>
<description>mytag</description>
<vm href="/ovirt-engine/api/vms/123" id="123"/>
</tag>
</tags>Table 6.56. Parameters summary
6.20.2.1. max
Sets the maximum number of tags to return. If not specified all the tags are returned.
6.21. AssignedVnicProfile
Table 6.57. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.21.1. get GET
Table 6.58. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.21.2. remove DELETE
Table 6.59. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.22. AssignedVnicProfiles
Table 6.60. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.22.1. add POST
Table 6.61. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.22.2. list GET
Table 6.62. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of profiles to return. | |
|
| Out |
6.22.2.1. max
Sets the maximum number of profiles to return. If not specified all the profiles are returned.
6.23. AttachedStorageDomain
Table 6.63. Methods summary
| Name | Summary |
|---|---|
|
| This operation activates an attached storage domain. |
|
| This operation deactivates an attached storage domain. |
|
| |
|
|
6.23.1. activate POST
This operation activates an attached storage domain. Once the storage domain is activated it is ready for use with the data center.
POST /ovirt-engine/api/datacenters/123/storagedomains/456/activate
The activate action does not take any action specific parameters, so the request body should contain an empty action:
<action/>
Table 6.64. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the activation should be performed asynchronously. |
6.23.2. deactivate POST
This operation deactivates an attached storage domain. Once the storage domain is deactivated it will not be used with the data center.
POST /ovirt-engine/api/datacenters/123/storagedomains/456/deactivate
The deactivate action does not take any action specific parameters, so the request body should contain an empty action:
<action/>
Table 6.65. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the deactivation should be performed asynchronously. |
6.23.3. get GET
Table 6.66. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.23.4. remove DELETE
Table 6.67. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.24. AttachedStorageDomains
Table 6.68. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.24.1. add POST
Table 6.69. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.24.2. list GET
Table 6.70. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of storage domains to return. | |
|
| Out |
6.24.2.1. max
Sets the maximum number of storage domains to return. If not specified all the storage domains are returned.
6.25. Balance
Table 6.71. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.25.1. get GET
6.25.2. remove DELETE
Table 6.73. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.26. Balances
Table 6.74. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.26.1. add POST
Table 6.75. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.26.2. list GET
Table 6.76. Parameters summary
6.26.2.1. max
Sets the maximum number of balances to return. If not specified all the balances are returned.
6.27. Bookmark
A service to manage a bookmark.
Table 6.77. Methods summary
| Name | Summary |
|---|---|
|
| Get a bookmark. |
|
| Remove a bookmark. |
|
| Update a bookmark. |
6.27.1. get GET
Get a bookmark.
An example for getting a bookmark:
GET /ovirt-engine/api/bookmarks/123
<bookmark href="/ovirt-engine/api/bookmarks/123" id="123"> <name>example_vm</name> <value>vm: name=example*</value> </bookmark>
Table 6.78. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The requested bookmark. |
6.27.2. remove DELETE
Remove a bookmark.
An example for removing a bookmark:
DELETE /ovirt-engine/api/bookmarks/123
Table 6.79. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.27.3. update PUT
Update a bookmark.
An example for updating a bookmark:
PUT /ovirt-engine/api/bookmarks/123
With the request body:
<bookmark> <name>new_example_vm</name> <value>vm: name=new_example*</value> </bookmark>
6.28. Bookmarks
A service to manage bookmarks.
Table 6.81. Methods summary
| Name | Summary |
|---|---|
|
| Adding a new bookmark. |
|
| Listing all the available bookmarks. |
6.28.1. add POST
Adding a new bookmark.
Example of adding a bookmark:
POST /ovirt-engine/api/bookmarks
<bookmark> <name>new_example_vm</name> <value>vm: name=new_example*</value> </bookmark>
Table 6.82. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The added bookmark. |
6.28.2. list GET
Listing all the available bookmarks.
Example of listing bookmarks:
GET /ovirt-engine/api/bookmarks
<bookmarks>
<bookmark href="/ovirt-engine/api/bookmarks/123" id="123">
<name>database</name>
<value>vm: name=database*</value>
</bookmark>
<bookmark href="/ovirt-engine/api/bookmarks/456" id="456">
<name>example</name>
<value>vm: name=example*</value>
</bookmark>
</bookmarks>Table 6.83. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The list of available bookmarks. | |
|
| In | Sets the maximum number of bookmarks to return. |
6.28.2.1. max
Sets the maximum number of bookmarks to return. If not specified all the bookmarks are returned.
6.29. Cluster
A service to manage specific cluster.
Table 6.84. Methods summary
| Name | Summary |
|---|---|
|
| Get information about the cluster. |
|
| Removes cluster from the system. |
|
| |
|
| Updates information about the cluster. |
6.29.1. get GET
Get information about the cluster.
An example of getting a cluster:
GET /ovirt-engine/api/clusters/123
<cluster href="/ovirt-engine/api/clusters/123" id="123">
<actions>
<link href="/ovirt-engine/api/clusters/123/resetemulatedmachine" rel="resetemulatedmachine"/>
</actions>
<name>Default</name>
<description>The default server cluster</description>
<link href="/ovirt-engine/api/clusters/123/networks" rel="networks"/>
<link href="/ovirt-engine/api/clusters/123/permissions" rel="permissions"/>
<link href="/ovirt-engine/api/clusters/123/glustervolumes" rel="glustervolumes"/>
<link href="/ovirt-engine/api/clusters/123/glusterhooks" rel="glusterhooks"/>
<link href="/ovirt-engine/api/clusters/123/affinitygroups" rel="affinitygroups"/>
<link href="/ovirt-engine/api/clusters/123/cpuprofiles" rel="cpuprofiles"/>
<ballooning_enabled>false</ballooning_enabled>
<cpu>
<architecture>x86_64</architecture>
<type>Intel Penryn Family</type>
</cpu>
<error_handling>
<on_error>migrate</on_error>
</error_handling>
<fencing_policy>
<enabled>true</enabled>
<skip_if_connectivity_broken>
<enabled>false</enabled>
<threshold>50</threshold>
</skip_if_connectivity_broken>
<skip_if_sd_active>
<enabled>false</enabled>
</skip_if_sd_active>
</fencing_policy>
<gluster_service>false</gluster_service>
<ha_reservation>false</ha_reservation>
<ksm>
<enabled>true</enabled>
<merge_across_nodes>true</merge_across_nodes>
</ksm>
<maintenance_reason_required>false</maintenance_reason_required>
<memory_policy>
<over_commit>
<percent>100</percent>
</over_commit>
<transparent_hugepages>
<enabled>true</enabled>
</transparent_hugepages>
</memory_policy>
<migration>
<auto_converge>inherit</auto_converge>
<bandwidth>
<assignment_method>auto</assignment_method>
</bandwidth>
<compressed>inherit</compressed>
</migration>
<optional_reason>false</optional_reason>
<required_rng_sources>
<required_rng_source>random</required_rng_source>
</required_rng_sources>
<scheduling_policy href="/ovirt-engine/api/schedulingpolicies/456" id="456"/>
<threads_as_cores>false</threads_as_cores>
<trusted_service>false</trusted_service>
<tunnel_migration>false</tunnel_migration>
<version>
<major>4</major>
<minor>0</minor>
</version>
<virt_service>true</virt_service>
<data_center href="/ovirt-engine/api/datacenters/111" id="111"/>
</cluster>6.29.2. remove DELETE
Removes cluster from the system.
DELETE /ovirt-engine/api/clusters/00000000-0000-0000-0000-000000000000
Table 6.86. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.29.3. resetemulatedmachine POST
Table 6.87. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the reset should be performed asynchronously. |
6.29.4. update PUT
Updates information about the cluster.
Only specified fields are updated, others remain unchanged.
E.g. update cluster’s CPU:
PUT /ovirt-engine/api/clusters/123
With request body like:
<cluster>
<cpu>
<type>Intel Haswell-noTSX Family</type>
</cpu>
</cluster>6.30. ClusterLevel
Provides information about a specific cluster level. See the ClusterLevels service for more information.
Table 6.89. Methods summary
| Name | Summary |
|---|---|
|
| Provides the information about the capabilities of the specific cluster level managed by this service. |
6.30.1. get GET
Provides the information about the capabilities of the specific cluster level managed by this service.
For example, to find what CPU types are supported by level 3.6 you can send a request like this:
GET /ovirt-engine/api/clusterlevels/3.6
That will return a ClusterLevel object containing the supported CPU types, and other information which describes the cluster level:
<cluster_level id="3.6">
<cpu_types>
<cpu_type>
<name>Intel Conroe Family</name>
<level>3</level>
<architecture>x86_64</architecture>
</cpu_type>
...
</cpu_types>
<permits>
<permit id="1">
<name>create_vm</name>
<administrative>false</administrative>
</permit>
...
</permits>
</cluster_level>Table 6.90. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | Retreived cluster level. |
6.31. ClusterLevels
Provides information about the capabilities of different cluster levels supported by the engine. Version 4.0 of the engine supports levels 4.0 and 3.6. Each of these levels support different sets of CPU types, for example. This service provides that information.
Table 6.91. Methods summary
| Name | Summary |
|---|---|
|
| Lists the cluster levels supported by the system. |
6.31.1. list GET
Lists the cluster levels supported by the system.
GET /ovirt-engine/api/clusterlevels
This will return a list of available cluster levels.
<cluster_levels>
<cluster_level id="4.0">
...
</cluster_level>
...
</cluster_levels>Table 6.92. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | Retrieved cluster levels. |
6.32. ClusterNetwork
A service to manage a specific cluster network.
Table 6.93. Methods summary
| Name | Summary |
|---|---|
|
| Retrieves the cluster network details. |
|
| Unassigns the network from a cluster. |
|
| Updates the network in the cluster. |
6.32.1. get GET
Retrieves the cluster network details.
Table 6.94. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The cluster network. |
6.32.2. remove DELETE
Unassigns the network from a cluster.
6.32.3. update PUT
Updates the network in the cluster.
Table 6.95. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The cluster network. |
6.33. ClusterNetworks
A service to manage cluster networks.
Table 6.96. Methods summary
| Name | Summary |
|---|---|
|
| Assigns the network to a cluster. |
|
| Lists the networks that are assigned to the cluster. |
6.33.1. add POST
Assigns the network to a cluster.
Post a request like in the example below to assign the network to a cluster:
POST /ovirt-engine/api/clusters/123/networks
Use the following example in its body:
<network id="123" />
Table 6.97. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The network object to be assigned to the cluster. |
6.33.2. list GET
Lists the networks that are assigned to the cluster.
Table 6.98. Parameters summary
6.33.2.1. max
Sets the maximum number of networks to return. If not specified, all the networks are returned.
6.34. Clusters
A service to manage clusters.
Table 6.99. Methods summary
| Name | Summary |
|---|---|
|
| Creates a new cluster. |
|
|
6.34.1. add POST
Creates a new cluster.
This requires the name, cpu.type and data_center attributes. Identify the data center with either the id or name attributes.
POST /ovirt-engine/api/clusters
With a request body like this:
<cluster>
<name>mycluster</name>
<cpu>
<type>Intel Penryn Family</type>
</cpu>
<data_center id="123"/>
</cluster>Table 6.100. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.34.2. list GET
Table 6.101. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| Out | ||
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| In | Sets the maximum number of clusters to return. | |
|
| In | A query string used to restrict the returned clusters. |
6.34.2.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.34.2.2. max
Sets the maximum number of clusters to return. If not specified all the clusters are returned.
6.35. Copyable
Table 6.102. Methods summary
| Name | Summary |
|---|---|
|
|
6.35.1. copy POST
Table 6.103. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the copy should be performed asynchronously. |
6.36. CpuProfile
Table 6.104. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
|
6.36.1. get GET
Table 6.105. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.36.2. remove DELETE
Table 6.106. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.36.3. update PUT
Table 6.107. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out |
6.37. CpuProfiles
Table 6.108. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.37.1. add POST
Table 6.109. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.37.2. list GET
Table 6.110. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of profiles to return. | |
|
| Out |
6.37.2.1. max
Sets the maximum number of profiles to return. If not specified all the profiles are returned.
6.38. DataCenter
A service to manage a data center.
Table 6.111. Methods summary
| Name | Summary |
|---|---|
|
| Get a data center. |
|
| Removes the data center. |
|
| Updates the data center. |
6.38.1. get GET
Get a data center.
An example of getting a data center:
GET /ovirt-engine/api/datacenters/123
<data_center href="/ovirt-engine/api/datacenters/123" id="123">
<name>Default</name>
<description>The default Data Center</description>
<link href="/ovirt-engine/api/datacenters/123/clusters" rel="clusters"/>
<link href="/ovirt-engine/api/datacenters/123/storagedomains" rel="storagedomains"/>
<link href="/ovirt-engine/api/datacenters/123/permissions" rel="permissions"/>
<link href="/ovirt-engine/api/datacenters/123/networks" rel="networks"/>
<link href="/ovirt-engine/api/datacenters/123/quotas" rel="quotas"/>
<link href="/ovirt-engine/api/datacenters/123/qoss" rel="qoss"/>
<link href="/ovirt-engine/api/datacenters/123/iscsibonds" rel="iscsibonds"/>
<local>false</local>
<quota_mode>disabled</quota_mode>
<status>up</status>
<storage_format>v3</storage_format>
<supported_versions>
<version>
<major>4</major>
<minor>0</minor>
</version>
</supported_versions>
<version>
<major>4</major>
<minor>0</minor>
</version>
<mac_pool href="/ovirt-engine/api/macpools/456" id="456"/>
</data_center>Table 6.112. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Indicates if the results should be filtered according to the permissions of the user. |
6.38.2. remove DELETE
Removes the data center.
DELETE /ovirt-engine/api/datacenters/123
Without any special parameters, the storage domains attached to the data center are detached and then removed from the storage. If something fails when performing this operation, for example if there is no host available to remove the storage domains from the storage, the complete operation will fail.
If the force parameter is true then the operation will always succeed, even if something fails while removing one storage domain, for example. The failure is just ignored and the data center is removed from the database anyway.
Table 6.113. Parameters summary
6.38.2.1. force
Indicates if the operation should succeed, and the storage domain removed from the database, even if something fails during the operation.
This parameter is optional, and the default value is false.
6.38.3. update PUT
Updates the data center.
The name, description, storage_type, version, storage_format and mac_pool elements are updatable post-creation. For example, to change the name and description of data center 123 send a request like this:
PUT /ovirt-engine/api/datacenters/123
With a request body like this:
<data_center> <name>myupdatedname</name> <description>An updated description for the data center</description> </data_center>
Table 6.114. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out | The data center that is being updated. |
6.39. DataCenterNetwork
A service to manage a specific data center network.
Table 6.115. Methods summary
| Name | Summary |
|---|---|
|
| Retrieves the data center network details. |
|
| Removes the network. |
|
| Updates the network in the data center. |
6.39.1. get GET
Retrieves the data center network details.
Table 6.116. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The data center network. |
6.39.2. remove DELETE
Removes the network.
6.39.3. update PUT
Updates the network in the data center.
Table 6.117. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The data center network. |
6.40. DataCenterNetworks
A service to manage data center networks.
Table 6.118. Methods summary
| Name | Summary |
|---|---|
|
| Create a new network in a data center. |
|
| Lists networks in the data center. |
6.40.1. add POST
Create a new network in a data center.
Post a request like in the example below to create a new network in a data center with an ID of 123.
POST /ovirt-engine/api/datacenters/123/networks
Use the following example in its body:
<network> <name>mynetwork</name> </network>
Table 6.119. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The network object to be created in the data center. |
6.40.2. list GET
Lists networks in the data center.
Table 6.120. Parameters summary
6.40.2.1. max
Sets the maximum number of networks to return. If not specified, all the networks are returned.
6.41. DataCenters
A service to manage data centers.
Table 6.121. Methods summary
| Name | Summary |
|---|---|
|
| Creates a new data center. |
|
| Lists the data centers. |
6.41.1. add POST
Creates a new data center.
Creation of a new data center requires the name and local elements. For example, to create a data center named mydc that uses shared storage (NFS, iSCSI or Fibre Channel) send a request like this:
POST /ovirt-engine/api/datacenters
With a request body like this:
<data_center> <name>mydc</name> <local>false</local> </data_center>
Table 6.122. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The data center that is being added. |
6.41.2. list GET
Lists the data centers.
The following request retrieves a representation of the data centers:
GET /ovirt-engine/api/datacenters
The above request performed with curl:
curl \ --request GET \ --cacert /etc/pki/ovirt-engine/ca.pem \ --header "Version: 4" \ --header "Accept: application/xml" \ --user "admin@internal:mypassword" \ https://myengine.example.com/ovirt-engine/api/datacenters
This is what an example response could look like:
<data_center href="/ovirt-engine/api/datacenters/123" id="123">
<name>Default</name>
<description>The default Data Center</description>
<link href="/ovirt-engine/api/datacenters/123/networks" rel="networks"/>
<link href="/ovirt-engine/api/datacenters/123/storagedomains" rel="storagedomains"/>
<link href="/ovirt-engine/api/datacenters/123/permissions" rel="permissions"/>
<link href="/ovirt-engine/api/datacenters/123/clusters" rel="clusters"/>
<link href="/ovirt-engine/api/datacenters/123/qoss" rel="qoss"/>
<link href="/ovirt-engine/api/datacenters/123/iscsibonds" rel="iscsibonds"/>
<link href="/ovirt-engine/api/datacenters/123/quotas" rel="quotas"/>
<local>false</local>
<quota_mode>disabled</quota_mode>
<status>up</status>
<supported_versions>
<version>
<major>4</major>
<minor>0</minor>
</version>
</supported_versions>
<version>
<major>4</major>
<minor>0</minor>
</version>
</data_center>
Note the id code of your Default data center. This code identifies this data center in relation to other resources of your virtual environment.
The data center also contains a link to the storage domains collection. The data center uses this collection to attach storage domains from the storage domains main collection.
Table 6.123. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| Out | ||
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| In | Sets the maximum number of data centers to return. | |
|
| In | A query string used to restrict the returned data centers. |
6.41.2.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.41.2.2. max
Sets the maximum number of data centers to return. If not specified all the data centers are returned.
6.42. Disk
Manages a single disk.
Table 6.124. Methods summary
| Name | Summary |
|---|---|
|
| This operation copies a disk to the specified storage domain. |
|
| |
|
| |
|
| Moves a disk to another storage domain. |
|
| |
|
| Sparsify the disk. |
6.42.1. copy POST
This operation copies a disk to the specified storage domain.
For example, copy of a disk can be facilitated using the following request:
POST /ovirt-engine/api/disks/123/copy
With a request body like this:
<action>
<storage_domain id="456"/>
<disk>
<name>mydisk</name>
</disk>
</action>Table 6.125. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the copy should be performed asynchronously. | |
|
| In | ||
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| In |
6.42.2. export POST
Table 6.126. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the export should be performed asynchronously. | |
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| In |
6.42.3. get GET
Table 6.127. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.42.4. move POST
Moves a disk to another storage domain.
For example, to move the disk with identifier 123 to a storage domain with identifier 456 send the following request:
POST /ovirt-engine/api/disks/123/move
With the following request body:
<action> <storage_domain id="456"/> </action>
Table 6.128. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the move should be performed asynchronously. | |
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| In |
6.42.5. remove DELETE
Table 6.129. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.42.6. sparsify POST
Sparsify the disk.
Sparsification frees space in the disk image that is not used by its filesystem. As a result, the image will occupy less space on the storage.
Currently sparsification works only on disks without snapshots. Disks having derived disks are also not allowed.
6.43. DiskAttachment
This service manages the attachment of a disk to a virtual machine.
Table 6.130. Methods summary
| Name | Summary |
|---|---|
|
| Returns the details of the attachment, including the bootable flag and link to the disk. |
|
| Removes the disk attachment. |
|
| Update the disk attachment and the disk properties within it. |
6.43.1. get GET
Returns the details of the attachment, including the bootable flag and link to the disk.
An example of getting a disk attachment:
GET /ovirt-engine/api/vms/123/diskattachments/456
<disk_attachment href="/ovirt-engine/api/vms/123/diskattachments/456" id="456"> <active>true</active> <bootable>true</bootable> <interface>virtio</interface> <disk href="/ovirt-engine/api/disks/456" id="456"/> <vm href="/ovirt-engine/api/vms/123" id="123"/> </disk_attachment>
Table 6.131. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.43.2. remove DELETE
Removes the disk attachment.
This will only detach the disk from the virtual machine, but won’t remove it from the system, unless the detach_only parameter is false.
An example of removing a disk attachment:
DELETE /ovirt-engine/api/vms/123/diskattachments/456?detach_only=true
Table 6.132. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the disk should only be detached from the virtual machine, but not removed from the system. |
6.43.2.1. detach_only
Indicates if the disk should only be detached from the virtual machine, but not removed from the system. The default value is true, which won’t remove the disk from the system.
6.43.3. update PUT
Update the disk attachment and the disk properties within it.
PUT /vms/{vm:id}/disksattachments/{attachment:id}
<disk_attachment>
<bootable>true</bootable>
<interface>ide</interface>
<active>true</active>
<disk>
<name>mydisk</name>
<provisioned_size>1024</provisioned_size>
...
</disk>
</disk_attachment>Table 6.133. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.44. DiskAttachments
This service manages the set of disks attached to a virtual machine. Each attached disk is represented by a DiskAttachment, containing the bootable flag, the disk interface and the reference to the disk.
Table 6.134. Methods summary
| Name | Summary |
|---|---|
|
| Adds a new disk attachment to the virtual machine. |
|
| List the disk that are attached to the virtual machine. |
6.44.1. add POST
Adds a new disk attachment to the virtual machine. The attachment parameter can contain just a reference, if the disk already exists:
<disk_attachment> <bootable>true</bootable> <pass_discard>true</pass_discard> <interface>ide</interface> <active>true</active> <disk id="123"/> </disk_attachment>
Or it can contain the complete representation of the disk, if the disk doesn’t exist yet:
<disk_attachment>
<bootable>true</bootable>
<pass_discard>true</pass_discard>
<interface>ide</interface>
<active>true</active>
<disk>
<name>mydisk</name>
<provisioned_size>1024</provisioned_size>
...
</disk>
</disk_attachment>In this case the disk will be created and then attached to the virtual machine.
In both cases, use the following URL for a virtual machine with an id 345:
POST /ovirt-engine/api/vms/345/diskattachments
The server accepts requests that don’t contain the active attribute, but the effect is undefined. In some cases the disk will be automatically activated and in other cases it won’t. To avoid issues it is strongly recommended to always include the active attribute with the desired value.
Table 6.135. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.44.2. list GET
List the disk that are attached to the virtual machine.
Table 6.136. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.45. DiskProfile
Table 6.137. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
|
6.45.1. get GET
Table 6.138. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.45.2. remove DELETE
Table 6.139. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.45.3. update PUT
Table 6.140. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out |
6.46. DiskProfiles
Table 6.141. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.46.1. add POST
Table 6.142. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.46.2. list GET
Table 6.143. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of profiles to return. | |
|
| Out |
6.46.2.1. max
Sets the maximum number of profiles to return. If not specified all the profiles are returned.
6.47. DiskSnapshot
Table 6.144. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.47.1. get GET
Table 6.145. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.47.2. remove DELETE
Table 6.146. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.48. DiskSnapshots
Table 6.147. Methods summary
| Name | Summary |
|---|---|
|
|
6.48.1. list GET
Table 6.148. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of snapshots to return. | |
|
| Out |
6.48.1.1. max
Sets the maximum number of snapshots to return. If not specified all the snapshots are returned.
6.49. Disks
Manages the collection of disks available in the system.
Table 6.149. Methods summary
| Name | Summary |
|---|---|
|
| Adds a new floating disk. |
|
| Get list of disks. |
6.49.1. add POST
Adds a new floating disk.
There are three types of disks that can be added - disk image, direct LUN and Cinder disk.
Adding a new image disk:
When creating a new floating image Disk, the API requires the storage_domain, provisioned_size and format attributes.
To create a new floating image disk with specified provisioned_size, format and name on a storage domain with an id 123, send a request as follows:
POST /ovirt-engine/api/disks
With a request body as follows:
<disk>
<storage_domains>
<storage_domain id="123"/>
</storage_domains>
<name>mydisk</name>
<provisioned_size>1048576</provisioned_size>
<format>cow</format>
</disk>Adding a new direct LUN disk:
When adding a new floating direct LUN via the API, there are two flavors that can be used:
-
With a
hostelement - in this case, the host is used for sanity checks (e.g., that the LUN is visible) and to retrieve basic information about the LUN (e.g., size and serial). -
Without a
hostelement - in this case, the operation is a database-only operation, and the storage is never accessed.
To create a new floating direct LUN disk with a host element with an id 123, specified alias, type and logical_unit with an id 456 (that has the attributes address, port and target), send a request as follows:
POST /ovirt-engine/api/disks
With a request body as follows:
<disk>
<alias>mylun</alias>
<lun_storage>
<host id="123"/>
<type>iscsi</type>
<logical_units>
<logical_unit id="456">
<address>10.35.10.20</address>
<port>3260</port>
<target>iqn.2017-01.com.myhost:444</target>
</logical_unit>
</logical_units>
</lun_storage>
</disk>
To create a new floating direct LUN disk without using a host, remove the host element.
Adding a new Cinder disk:
To create a new floating Cinder disk, send a request as follows:
POST /ovirt-engine/api/disks
With a request body as follows:
<disk>
<openstack_volume_type>
<name>myceph</name>
</openstack_volume_type>
<storage_domains>
<storage_domain>
<name>cinderDomain</name>
</storage_domain>
</storage_domains>
<provisioned_size>1073741824</provisioned_size>
<interface>virtio</interface>
<format>raw</format>
</disk>Table 6.150. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The disk. |
6.49.2. list GET
Get list of disks.
GET /ovirt-engine/api/disks
You will get a XML response which will look like this one:
<disks>
<disk id="123">
<actions>...</actions>
<name>MyDisk</name>
<description>MyDisk description</description>
<link href="/ovirt-engine/api/disks/123/permissions" rel="permissions"/>
<link href="/ovirt-engine/api/disks/123/statistics" rel="statistics"/>
<actual_size>5345845248</actual_size>
<alias>MyDisk alias</alias>
...
<status>ok</status>
<storage_type>image</storage_type>
<wipe_after_delete>false</wipe_after_delete>
<disk_profile id="123"/>
<quota id="123"/>
<storage_domains>...</storage_domains>
</disk>
...
</disks>Table 6.151. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| Out | List of retrieved disks. | |
|
| In | Sets the maximum number of disks to return. | |
|
| In | A query string used to restrict the returned disks. | |
|
| In | Indicates whether to retrieve a list of registered or unregistered disks in the storage domain. |
6.49.2.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.49.2.2. max
Sets the maximum number of disks to return. If not specified all the disks are returned.
6.49.2.3. unregistered
Indicates whether to retrieve a list of registered or unregistered disks in the storage domain. To get a list of unregistered disks in the storage domain the call should indicate the unregistered flag. For example, to get a list of unregistered disks the REST API call should look like this:
GET /ovirt-engine/api/storagedomains/123/disks?unregistered=true
The default value of the unregistered flag is false.
This parameter only applies to the disks sub-collection of attached storage domains, it does not apply to the top level disks collection.
6.50. Domain
A service to view details of an authentication domain in the system.
Table 6.152. Methods summary
| Name | Summary |
|---|---|
|
| Gets the authentication domain information. |
6.50.1. get GET
Gets the authentication domain information.
Usage:
GET /ovirt-engine/api/domains/5678
Will return the domain information:
<domain href="/ovirt-engine/api/domains/5678" id="5678">
<name>internal-authz</name>
<link href="/ovirt-engine/api/domains/5678/users" rel="users"/>
<link href="/ovirt-engine/api/domains/5678/groups" rel="groups"/>
<link href="/ovirt-engine/api/domains/5678/users?search={query}" rel="users/search"/>
<link href="/ovirt-engine/api/domains/5678/groups?search={query}" rel="groups/search"/>
</domain>Table 6.153. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The authentication domain. |
6.51. DomainGroup
Table 6.154. Methods summary
| Name | Summary |
|---|---|
|
|
6.51.1. get GET
Table 6.155. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.52. DomainGroups
Table 6.156. Methods summary
| Name | Summary |
|---|---|
|
|
6.52.1. list GET
Table 6.157. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| Out | ||
|
| In | Sets the maximum number of groups to return. | |
|
| In | A query string used to restrict the returned groups. |
6.52.1.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.52.1.2. max
Sets the maximum number of groups to return. If not specified all the groups are returned.
6.53. DomainUser
A service to view a domain user in the system.
Table 6.158. Methods summary
| Name | Summary |
|---|---|
|
| Gets the domain user information. |
6.53.1. get GET
Gets the domain user information.
Usage:
GET /ovirt-engine/api/domains/5678/users/1234
Will return the domain user information:
<user href="/ovirt-engine/api/users/1234" id="1234">
<name>admin</name>
<namespace>*</namespace>
<principal>admin</principal>
<user_name>admin@internal-authz</user_name>
<domain href="/ovirt-engine/api/domains/5678" id="5678">
<name>internal-authz</name>
</domain>
<groups/>
</user>Table 6.159. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The domain user. |
6.54. DomainUsers
A service to list all domain users in the system.
Table 6.160. Methods summary
| Name | Summary |
|---|---|
|
| List all the users in the domain. |
6.54.1. list GET
List all the users in the domain.
Usage:
GET /ovirt-engine/api/domains/5678/users
Will return the list of users in the domain:
<users>
<user href="/ovirt-engine/api/domains/5678/users/1234" id="1234">
<name>admin</name>
<namespace>*</namespace>
<principal>admin</principal>
<user_name>admin@internal-authz</user_name>
<domain href="/ovirt-engine/api/domains/5678" id="5678">
<name>internal-authz</name>
</domain>
<groups/>
</user>
</users>Table 6.161. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| In | Sets the maximum number of users to return. | |
|
| In | A query string used to restrict the returned users. | |
|
| Out | The list of users in the domain. |
6.54.1.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.54.1.2. max
Sets the maximum number of users to return. If not specified all the users are returned.
6.55. Domains
A service to list all authentication domains in the system.
Table 6.162. Methods summary
| Name | Summary |
|---|---|
|
| List all the authentication domains in the system. |
6.55.1. list GET
List all the authentication domains in the system.
Usage:
GET /ovirt-engine/api/domains
Will return the list of domains:
<domains>
<domain href="/ovirt-engine/api/domains/5678" id="5678">
<name>internal-authz</name>
<link href="/ovirt-engine/api/domains/5678/users" rel="users"/>
<link href="/ovirt-engine/api/domains/5678/groups" rel="groups"/>
<link href="/ovirt-engine/api/domains/5678/users?search={query}" rel="users/search"/>
<link href="/ovirt-engine/api/domains/5678/groups?search={query}" rel="groups/search"/>
</domain>
</domains>Table 6.163. Parameters summary
6.55.1.1. max
Sets the maximum number of domains to return. If not specified all the domains are returned.
6.56. EngineKatelloErrata
A service to manage Katello errata assigned to the engine. The information is retrieved from Katello.
Table 6.164. Methods summary
| Name | Summary |
|---|---|
|
| Retrieves the representation of the Katello errata. |
6.56.1. list GET
Retrieves the representation of the Katello errata.
GET /ovirt-engine/api/katelloerrata
You will receive response in XML like this one:
<katello_errata>
<katello_erratum href="/ovirt-engine/api/katelloerrata/123" id="123">
<name>RHBA-2013:XYZ</name>
<description>The description of the erratum</description>
<title>some bug fix update</title>
<type>bugfix</type>
<issued>2013-11-20T02:00:00.000+02:00</issued>
<solution>Few guidelines regarding the solution</solution>
<summary>Updated packages that fix one bug are now available for XYZ</summary>
<packages>
<package>
<name>libipa_hbac-1.9.2-82.11.el6_4.i686</name>
</package>
...
</packages>
</katello_erratum>
...
</katello_errata>Table 6.165. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | A representation of Katello errata. | |
|
| In | Sets the maximum number of errata to return. |
6.56.1.1. max
Sets the maximum number of errata to return. If not specified all the errata are returned.
6.57. Event
A service to manage an event in the system.
Table 6.166. Methods summary
| Name | Summary |
|---|---|
|
| Get an event. |
|
| Removes an event from internal audit log. |
6.57.1. get GET
Get an event.
An example of getting an event:
GET /ovirt-engine/api/events/123
<event href="/ovirt-engine/api/events/123" id="123"> <description>Host example.com was added by admin@internal-authz.</description> <code>42</code> <correlation_id>135</correlation_id> <custom_id>-1</custom_id> <flood_rate>30</flood_rate> <origin>oVirt</origin> <severity>normal</severity> <time>2016-12-11T11:13:44.654+02:00</time> <cluster href="/ovirt-engine/api/clusters/456" id="456"/> <host href="/ovirt-engine/api/hosts/789" id="789"/> <user href="/ovirt-engine/api/users/987" id="987"/> </event>
Note that the number of fields changes according to the information that resides on the event. For example, for storage domain related events you will get the storage domain reference, as well as the reference for the data center this storage domain resides in.
Table 6.167. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.57.2. remove DELETE
Removes an event from internal audit log.
An event can be removed by sending following request
DELETE /ovirt-engine/api/events/123
Table 6.168. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.58. Events
A service to manage events in the system.
Table 6.169. Methods summary
| Name | Summary |
|---|---|
|
| Adds an external event to the internal audit log. |
|
| Get list of events. |
|
|
6.58.1. add POST
Adds an external event to the internal audit log.
This is intended for integration with external systems that detect or produce events relevant for the administrator of the system. For example, an external monitoring tool may be able to detect that a file system is full inside the guest operating system of a virtual machine. This event can be added to the internal audit log sending a request like this:
POST /ovirt-engine/api/events <event> <description>File system /home is full</description> <severity>alert</severity> <origin>mymonitor</origin> <custom_id>1467879754</custom_id> </event>
Events can also be linked to specific objects. For example, the above event could be linked to the specific virtual machine where it happened, using the vm link:
POST /ovirt-engine/api/events <event> <description>File system /home is full</description> <severity>alert</severity> <origin>mymonitor</origin> <custom_id>1467879754</custom_id> <vm id="aae98225-5b73-490d-a252-899209af17e9"/> </event>
When using links, like the vm in the previous example, only the id attribute is accepted. The name attribute, if provided, is simply ignored.
Table 6.170. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.58.2. list GET
Get list of events.
GET /ovirt-engine/api/events
To the above request we get following response:
<events>
<event href="/ovirt-engine/api/events/2" id="2">
<description>User admin@internal-authz logged out.</description>
<code>31</code>
<correlation_id>1e892ea9</correlation_id>
<custom_id>-1</custom_id>
<flood_rate>30</flood_rate>
<origin>oVirt</origin>
<severity>normal</severity>
<time>2016-09-14T12:14:34.541+02:00</time>
<user href="/ovirt-engine/api/users/57d91d48-00da-0137-0138-000000000244" id="57d91d48-00da-0137-0138-000000000244"/>
</event>
<event href="/ovirt-engine/api/events/1" id="1">
<description>User admin logged in.</description>
<code>30</code>
<correlation_id>1fbd81f4</correlation_id>
<custom_id>-1</custom_id>
<flood_rate>30</flood_rate>
<origin>oVirt</origin>
<severity>normal</severity>
<time>2016-09-14T11:54:35.229+02:00</time>
<user href="/ovirt-engine/api/users/57d91d48-00da-0137-0138-000000000244" id="57d91d48-00da-0137-0138-000000000244"/>
</event>
</events>The following events occur:
- id="1" - The API logs in the admin user account.
- id="2" - The API logs out of the admin user account.
Table 6.171. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| Out | ||
|
| In | Indicates the identifier of the the first event that should be returned. | |
|
| In | Sets the maximum number of events to return. | |
|
| In | The events service provides search queries similar to other resource services. |
6.58.2.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.58.2.2. from
Indicates the identifier of the the first event that should be returned. The identifiers of events are strictly increasing, so when this parameter is used only the events with that identifiers equal or greater than the given value will be returned. For example, the following request will return only the events with identifiers greater or equal than 123:
GET /ovirt-engine/api/events?from=123
This parameter is optional, and if not specified then the first event returned will be most recently generated.
6.58.2.3. max
Sets the maximum number of events to return. If not specified all the events are returned.
6.58.2.4. search
The events service provides search queries similar to other resource services.
We can search by providing specific severity.
GET /ovirt-engine/api/events?search=severity%3Dnormal
To the above request we get a list of events which severity is equal to normal:
<events>
<event href="/ovirt-engine/api/events/2" id="2">
<description>User admin@internal-authz logged out.</description>
<code>31</code>
<correlation_id>1fbd81f4</correlation_id>
<custom_id>-1</custom_id>
<flood_rate>30</flood_rate>
<origin>oVirt</origin>
<severity>normal</severity>
<time>2016-09-14T11:54:35.229+02:00</time>
<user href="/ovirt-engine/api/users/57d91d48-00da-0137-0138-000000000244" id="57d91d48-00da-0137-0138-000000000244"/>
</event>
<event href="/ovirt-engine/api/events/1" id="1">
<description>Affinity Rules Enforcement Manager started.</description>
<code>10780</code>
<custom_id>-1</custom_id>
<flood_rate>30</flood_rate>
<origin>oVirt</origin>
<severity>normal</severity>
<time>2016-09-14T11:52:18.861+02:00</time>
</event>
</events>A virtualization environment generates a large amount of events after a period of time. However, the API only displays a default number of events for one search query. To display more than the default, the API separates results into pages with the page command in a search query. The following search query tells the API to paginate results using a page value in combination with the sortby clause:
sortby time asc page 1
Below example paginates event resources. The URL-encoded request is:
GET /ovirt-engine/api/events?search=sortby%20time%20asc%20page%201
Increase the page value to view the next page of results.
GET /ovirt-engine/api/events?search=sortby%20time%20asc%20page%202
6.58.3. undelete POST
Table 6.172. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the un-delete should be performed asynchronously. |
6.59. ExternalComputeResource
Table 6.173. Methods summary
| Name | Summary |
|---|---|
|
|
6.59.1. get GET
Table 6.174. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.60. ExternalComputeResources
Table 6.175. Methods summary
| Name | Summary |
|---|---|
|
|
6.60.1. list GET
Table 6.176. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of resources to return. | |
|
| Out |
6.60.1.1. max
Sets the maximum number of resources to return. If not specified all the resources are returned.
6.61. ExternalDiscoveredHost
Table 6.177. Methods summary
| Name | Summary |
|---|---|
|
|
6.61.1. get GET
Table 6.178. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.62. ExternalDiscoveredHosts
Table 6.179. Methods summary
| Name | Summary |
|---|---|
|
|
6.62.1. list GET
Table 6.180. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of hosts to return. |
6.62.1.1. max
Sets the maximum number of hosts to return. If not specified all the hosts are returned.
6.63. ExternalHost
Table 6.181. Methods summary
| Name | Summary |
|---|---|
|
|
6.63.1. get GET
Table 6.182. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.64. ExternalHostGroup
Table 6.183. Methods summary
| Name | Summary |
|---|---|
|
|
6.64.1. get GET
Table 6.184. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.65. ExternalHostGroups
Table 6.185. Methods summary
| Name | Summary |
|---|---|
|
|
6.65.1. list GET
Table 6.186. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of groups to return. |
6.65.1.1. max
Sets the maximum number of groups to return. If not specified all the groups are returned.
6.66. ExternalHostProvider
Table 6.187. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
| |
|
| |
|
|
6.66.1. get GET
Table 6.188. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.66.2. importcertificates POST
Table 6.189. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
6.66.3. remove DELETE
Table 6.190. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.66.4. testconnectivity POST
Table 6.191. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the test should be performed asynchronously. |
6.66.5. update PUT
Table 6.192. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out |
6.67. ExternalHostProviders
Table 6.193. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.67.1. add POST
Table 6.194. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.67.2. list GET
Table 6.195. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of providers to return. | |
|
| Out |
6.67.2.1. max
Sets the maximum number of providers to return. If not specified all the providers are returned.
6.68. ExternalHosts
Table 6.196. Methods summary
| Name | Summary |
|---|---|
|
|
6.68.1. list GET
Table 6.197. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of hosts to return. |
6.68.1.1. max
Sets the maximum number of hosts to return. If not specified all the hosts are returned.
6.69. ExternalProvider
Table 6.198. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.69.1. importcertificates POST
Table 6.199. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
6.69.2. testconnectivity POST
Table 6.200. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the test should be performed asynchronously. |
6.70. ExternalProviderCertificate
Table 6.201. Methods summary
| Name | Summary |
|---|---|
|
|
6.70.1. get GET
Table 6.202. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.71. ExternalProviderCertificates
Table 6.203. Methods summary
| Name | Summary |
|---|---|
|
|
6.71.1. list GET
Table 6.204. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of certificates to return. |
6.71.1.1. max
Sets the maximum number of certificates to return. If not specified all the certificates are returned.
6.72. ExternalVmImports
Provides capability to import external virtual machines.
Table 6.205. Methods summary
| Name | Summary |
|---|---|
|
| This operation is used to import a virtual machine from external hypervisor, such as KVM, XEN or VMware. |
6.72.1. add POST
This operation is used to import a virtual machine from external hypervisor, such as KVM, XEN or VMware.
For example import of a virtual machine from VMware can be facilitated using the following request:
POST /externalvmimports
With request body of type ExternalVmImport, for example:
<external_vm_import>
<vm>
<name>my_vm</name>
</vm>
<cluster id="360014051136c20574f743bdbd28177fd" />
<storage_domain id="8bb5ade5-e988-4000-8b93-dbfc6717fe50" />
<name>vm_name_as_is_in_vmware</name>
<sparse>true</sparse>
<username>vmware_user</username>
<password>123456</password>
<provider>VMWARE</provider>
<url>vpx://wmware_user@vcenter-host/DataCenter/Cluster/esxi-host?no_verify=1</url>
<drivers_iso id="virtio-win-1.6.7.iso" />
</external_vm_import>Table 6.206. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.73. FenceAgent
Table 6.207. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
|
6.73.1. get GET
Table 6.208. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.73.2. remove DELETE
Table 6.209. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.73.3. update PUT
6.74. FenceAgents
Table 6.211. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.74.1. add POST
Table 6.212. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.74.2. list GET
Table 6.213. Parameters summary
6.74.2.1. max
Sets the maximum number of agents to return. If not specified all the agents are returned.
6.75. File
Table 6.214. Methods summary
| Name | Summary |
|---|---|
|
|
6.75.1. get GET
Table 6.215. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.76. Files
Provides a way for clients to list available files.
This services is specifically targeted to ISO storage domains, which contain ISO images and virtual floppy disks (VFDs) that an administrator uploads.
The addition of a CDROM device to a virtual machine requires an ISO image from the files of an ISO storage domain.
Table 6.216. Methods summary
| Name | Summary |
|---|---|
|
|
6.76.1. list GET
Table 6.217. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| Out | ||
|
| In | Sets the maximum number of files to return. | |
|
| In | A query string used to restrict the returned files. |
6.76.1.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.76.1.2. max
Sets the maximum number of files to return. If not specified all the files are returned.
6.77. Filter
Table 6.218. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.77.1. get GET
6.77.2. remove DELETE
Table 6.220. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.78. Filters
Table 6.221. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.78.1. add POST
Table 6.222. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.78.2. list GET
Table 6.223. Parameters summary
6.78.2.1. max
Sets the maximum number of filters to return. If not specified all the filters are returned.
6.79. GlusterBrick
This service manages a single gluster brick.
Table 6.224. Methods summary
| Name | Summary |
|---|---|
|
| Get details of a brick. |
|
| Removes a brick. |
|
| Replaces this brick with a new one. |
6.79.1. get GET
Get details of a brick.
Retrieves status details of brick from underlying gluster volume with header All-Content set to true. This is the equivalent of running gluster volume status <volumename> <brickname> detail.
For example, to get the details of brick 234 of gluster volume 123, send a request like this:
GET /ovirt-engine/api/clusters/567/glustervolumes/123/glusterbricks/234
Which will return a response body like this:
<brick id="234">
<name>host1:/rhgs/data/brick1</name>
<brick_dir>/rhgs/data/brick1</brick_dir>
<server_id>111</server_id>
<status>up</status>
<device>/dev/mapper/RHGS_vg1-lv_vmaddldisks</device>
<fs_name>xfs</fs_name>
<gluster_clients>
<gluster_client>
<bytes_read>2818417648</bytes_read>
<bytes_written>1384694844</bytes_written>
<client_port>1011</client_port>
<host_name>client2</host_name>
</gluster_client>
</gluster_clients>
<memory_pools>
<memory_pool>
<name>data-server:fd_t</name>
<alloc_count>1626348</alloc_count>
<cold_count>1020</cold_count>
<hot_count>4</hot_count>
<max_alloc>23</max_alloc>
<max_stdalloc>0</max_stdalloc>
<padded_size>140</padded_size>
<pool_misses>0</pool_misses>
</memory_pool>
</memory_pools>
<mnt_options>rw,seclabel,noatime,nodiratime,attr2,inode64,sunit=512,swidth=2048,noquota</mnt_options>
<pid>25589</pid>
<port>49155</port>
</brick>Table 6.225. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.79.2. remove DELETE
Removes a brick.
Removes a brick from the underlying gluster volume and deletes entries from database. This can be used only when removing a single brick without data migration. To remove multiple bricks and with data migration, use migrate instead.
For example, to delete brick 234 from gluster volume 123, send a request like this:
DELETE /ovirt-engine/api/clusters/567/glustervolumes/123/glusterbricks/234
Table 6.226. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.79.3. replace POST
Replaces this brick with a new one.
This operation has been deprecated since version 3.5 of the engine and will be removed in the future. Use add brick(s) and migrate brick(s) instead.
6.80. GlusterBricks
This service manages the gluster bricks in a gluster volume
Table 6.228. Methods summary
| Name | Summary |
|---|---|
|
| Activate the bricks post data migration of remove brick operation. |
|
| Adds a list of bricks to gluster volume. |
|
| Lists the bricks of a gluster volume. |
|
| Start migration of data prior to removing bricks. |
|
| Removes bricks from gluster volume. |
|
| Stops migration of data from bricks for a remove brick operation. |
6.80.1. activate POST
Activate the bricks post data migration of remove brick operation.
Used to activate brick(s) once the data migration from bricks is complete but user no longer wishes to remove bricks. The bricks that were previously marked for removal will now be used as normal bricks.
For example, to retain the bricks that on glustervolume 123 from which data was migrated, send a request like this:
POST /ovirt-engine/api/clusters/567/glustervolumes/123/glusterbricks/activate
With a request body like this:
<action>
<bricks>
<brick>
<name>host1:/rhgs/brick1</name>
</brick>
</bricks>
</action>Table 6.229. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the activation should be performed asynchronously. | |
|
| In | The list of bricks that need to be re-activated. |
6.80.2. add POST
Adds a list of bricks to gluster volume.
Used to expand a gluster volume by adding bricks. For replicated volume types, the parameter replica_count needs to be passed. In case the replica count is being increased, then the number of bricks needs to be equivalent to the number of replica sets.
For example, to add bricks to gluster volume 123, send a request like this:
POST /ovirt-engine/api/clusters/567/glustervolumes/123/glusterbricks
With a request body like this:
<bricks>
<brick>
<server_id>111</server_id>
<brick_dir>/export/data/brick3</brick_dir>
</brick>
</bricks>Table 6.230. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The list of bricks to be added to the volume | |
|
| In | Replica count of volume post add operation. | |
|
| In | Stripe count of volume post add operation. |
6.80.3. list GET
Lists the bricks of a gluster volume.
For example, to list bricks of gluster volume 123, send a request like this:
GET /ovirt-engine/api/clusters/567/glustervolumes/123/glusterbricks
Provides an output as below:
<bricks>
<brick id="234">
<name>host1:/rhgs/data/brick1</name>
<brick_dir>/rhgs/data/brick1</brick_dir>
<server_id>111</server_id>
<status>up</status>
</brick>
<brick id="233">
<name>host2:/rhgs/data/brick1</name>
<brick_dir>/rhgs/data/brick1</brick_dir>
<server_id>222</server_id>
<status>up</status>
</brick>
</bricks>Table 6.231. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of bricks to return. |
6.80.3.1. max
Sets the maximum number of bricks to return. If not specified all the bricks are returned.
6.80.4. migrate POST
Start migration of data prior to removing bricks.
Removing bricks is a two-step process, where the data on bricks to be removed, is first migrated to remaining bricks. Once migration is completed the removal of bricks is confirmed via the API remove. If at any point, the action needs to be cancelled stopmigrate has to be called.
For instance, to delete a brick from a gluster volume with id 123, send a request:
POST /ovirt-engine/api/clusters/567/glustervolumes/123/glusterbricks/migrate
With a request body like this:
<action>
<bricks>
<brick>
<name>host1:/rhgs/brick1</name>
</brick>
</bricks>
</action>The migration process can be tracked from the job id returned from the API using job and steps in job using step
Table 6.232. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the migration should be performed asynchronously. | |
|
| In | List of bricks for which data migration needs to be started. |
6.80.5. remove DELETE
Removes bricks from gluster volume.
The recommended way to remove bricks without data loss is to first migrate the data using stopmigrate and then removing them. If migrate was not called on bricks prior to remove, the bricks are removed without data migration which may lead to data loss.
For example, to delete the bricks from gluster volume 123, send a request like this:
DELETE /ovirt-engine/api/clusters/567/glustervolumes/123/glusterbricks
With a request body like this:
<bricks>
<brick>
<name>host:brick_directory</name>
</brick>
</bricks>Table 6.233. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. | |
|
| In | The list of bricks to be removed | |
|
| In | Replica count of volume post add operation. |
6.80.6. stopmigrate POST
Stops migration of data from bricks for a remove brick operation.
To cancel data migration that was started as part of the 2-step remove brick process in case the user wishes to continue using the bricks. The bricks that were marked for removal will function as normal bricks post this operation.
For example, to stop migration of data from the bricks of gluster volume 123, send a request like this:
POST /ovirt-engine/api/clusters/567/glustervolumes/123/glusterbricks/stopmigrate
With a request body like this:
<bricks>
<brick>
<name>host:brick_directory</name>
</brick>
</bricks>Table 6.234. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the action should be performed asynchronously. | |
|
| In | List of bricks for which data migration needs to be stopped. |
6.80.6.1. bricks
List of bricks for which data migration needs to be stopped. This list should match the arguments passed to migrate.
6.81. GlusterHook
Table 6.235. Methods summary
| Name | Summary |
|---|---|
|
| Resolves status conflict of hook among servers in cluster by disabling Gluster hook in all servers of the cluster. |
|
| Resolves status conflict of hook among servers in cluster by disabling Gluster hook in all servers of the cluster. |
|
| |
|
| Removes the this Gluster hook from all servers in cluster and deletes it from the database. |
|
| Resolves missing hook conflict depending on the resolution type. |
6.81.1. disable POST
Resolves status conflict of hook among servers in cluster by disabling Gluster hook in all servers of the cluster. This updates the hook status to DISABLED in database.
Table 6.236. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the action should be performed asynchronously. |
6.81.2. enable POST
Resolves status conflict of hook among servers in cluster by disabling Gluster hook in all servers of the cluster. This updates the hook status to DISABLED in database.
Table 6.237. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the action should be performed asynchronously. |
6.81.3. get GET
Table 6.238. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.81.4. remove DELETE
Removes the this Gluster hook from all servers in cluster and deletes it from the database.
Table 6.239. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.81.5. resolve POST
Resolves missing hook conflict depending on the resolution type.
For ADD resolves by copying hook stored in engine database to all servers where the hook is missing. The engine maintains a list of all servers where hook is missing.
For COPY resolves conflict in hook content by copying hook stored in engine database to all servers where the hook is missing. The engine maintains a list of all servers where the content is conflicting. If a host id is passed as parameter, the hook content from the server is used as the master to copy to other servers in cluster.
6.82. GlusterHooks
Table 6.241. Methods summary
| Name | Summary |
|---|---|
|
|
6.82.1. list GET
Table 6.242. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of hooks to return. |
6.82.1.1. max
Sets the maximum number of hooks to return. If not specified all the hooks are returned.
6.83. GlusterVolume
This service manages a single gluster volume.
Table 6.243. Methods summary
| Name | Summary |
|---|---|
|
| Get the gluster volume details. |
|
| Get gluster volume profile statistics. |
|
| Rebalance the gluster volume. |
|
| Removes the gluster volume. |
|
| Resets all the options set in the gluster volume. |
|
| Resets a particular option in the gluster volume. |
|
| Sets a particular option in the gluster volume. |
|
| Starts the gluster volume. |
|
| Start profiling the gluster volume. |
|
| Stops the gluster volume. |
|
| Stop profiling the gluster volume. |
|
| Stop rebalancing the gluster volume. |
6.83.1. get GET
Get the gluster volume details.
For example, to get details of a gluster volume with identifier 123 in cluster 456, send a request like this:
GET /ovirt-engine/api/clusters/456/glustervolumes/123
This GET request will return the following output:
<gluster_volume id="123">
<name>data</name>
<link href="/ovirt-engine/api/clusters/456/glustervolumes/123/glusterbricks" rel="glusterbricks"/>
<disperse_count>0</disperse_count>
<options>
<option>
<name>storage.owner-gid</name>
<value>36</value>
</option>
<option>
<name>performance.io-cache</name>
<value>off</value>
</option>
<option>
<name>cluster.data-self-heal-algorithm</name>
<value>full</value>
</option>
</options>
<redundancy_count>0</redundancy_count>
<replica_count>3</replica_count>
<status>up</status>
<stripe_count>0</stripe_count>
<transport_types>
<transport_type>tcp</transport_type>
</transport_types>
<volume_type>replicate</volume_type>
</gluster_volume>Table 6.244. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | Representation of the gluster volume. |
6.83.2. getprofilestatistics POST
Get gluster volume profile statistics.
For example, to get profile statistics for a gluster volume with identifier 123 in cluster 456, send a request like this:
POST /ovirt-engine/api/clusters/456/glustervolumes/123/getprofilestatistics
Table 6.245. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | Gluster volume profiling information returned from the action. |
6.83.3. rebalance POST
Rebalance the gluster volume.
Rebalancing a gluster volume helps to distribute the data evenly across all the bricks. After expanding or shrinking a gluster volume (without migrating data), we need to rebalance the data among the bricks. In a non-replicated volume, all bricks should be online to perform the rebalance operation. In a replicated volume, at least one of the bricks in the replica should be online.
For example, to rebalance a gluster volume with identifier 123 in cluster 456, send a request like this:
POST /ovirt-engine/api/clusters/456/glustervolumes/123/rebalance
Table 6.246. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the rebalance should be performed asynchronously. | |
|
| In | If set to true, rebalance will only fix the layout so that new data added to the volume is distributed across all the hosts. | |
|
| In | Indicates if the rebalance should be force started. |
6.83.3.1. fix_layout
If set to true, rebalance will only fix the layout so that new data added to the volume is distributed across all the hosts. But it will not migrate/rebalance the existing data. Default is false.
6.83.3.2. force
Indicates if the rebalance should be force started. The rebalance command can be executed with the force option even when the older clients are connected to the cluster. However, this could lead to a data loss situation. Default is false.
6.83.4. remove DELETE
Removes the gluster volume.
For example, to remove a volume with identifier 123 in cluster 456, send a request like this:
DELETE /ovirt-engine/api/clusters/456/glustervolumes/123
Table 6.247. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.83.5. resetalloptions POST
Resets all the options set in the gluster volume.
For example, to reset all options in a gluster volume with identifier 123 in cluster 456, send a request like this:
POST /ovirt-engine/api/clusters/456/glustervolumes/123/resetalloptions
Table 6.248. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the reset should be performed asynchronously. |
6.83.6. resetoption POST
Resets a particular option in the gluster volume.
For example, to reset a particular option option1 in a gluster volume with identifier 123 in cluster 456, send a request like this:
POST /ovirt-engine/api/clusters/456/glustervolumes/123/resetoption
With the following request body:
<action> <option name="option1"/> </action>
6.83.7. setoption POST
Sets a particular option in the gluster volume.
For example, to set option1 with value value1 in a gluster volume with identifier 123 in cluster 456, send a request like this:
POST /ovirt-engine/api/clusters/456/glustervolumes/123/setoption
With the following request body:
<action> <option name="option1" value="value1"/> </action>
6.83.8. start POST
Starts the gluster volume.
A Gluster Volume should be started to read/write data. For example, to start a gluster volume with identifier 123 in cluster 456, send a request like this:
POST /ovirt-engine/api/clusters/456/glustervolumes/123/start
Table 6.251. Parameters summary
6.83.8.1. force
Indicates if the volume should be force started. If a gluster volume is started already but few/all bricks are down then force start can be used to bring all the bricks up. Default is false.
6.83.9. startprofile POST
Start profiling the gluster volume.
For example, to start profiling a gluster volume with identifier 123 in cluster 456, send a request like this:
POST /ovirt-engine/api/clusters/456/glustervolumes/123/startprofile
Table 6.252. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the action should be performed asynchronously. |
6.83.10. stop POST
Stops the gluster volume.
Stopping a volume will make its data inaccessible.
For example, to stop a gluster volume with identifier 123 in cluster 456, send a request like this:
POST /ovirt-engine/api/clusters/456/glustervolumes/123/stop
6.83.11. stopprofile POST
Stop profiling the gluster volume.
For example, to stop profiling a gluster volume with identifier 123 in cluster 456, send a request like this:
POST /ovirt-engine/api/clusters/456/glustervolumes/123/stopprofile
Table 6.254. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the action should be performed asynchronously. |
6.83.12. stoprebalance POST
Stop rebalancing the gluster volume.
For example, to stop rebalancing a gluster volume with identifier 123 in cluster 456, send a request like this:
POST /ovirt-engine/api/clusters/456/glustervolumes/123/stoprebalance
Table 6.255. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the action should be performed asynchronously. |
6.84. GlusterVolumes
This service manages a collection of gluster volumes available in a cluster.
Table 6.256. Methods summary
| Name | Summary |
|---|---|
|
| Creates a new gluster volume. |
|
| Lists all gluster volumes in the cluster. |
6.84.1. add POST
Creates a new gluster volume.
The volume is created based on properties of the volume parameter. The properties name, volume_type and bricks are required.
For example, to add a volume with name myvolume to the cluster 123, send the following request:
POST /ovirt-engine/api/clusters/123/glustervolumes
With the following request body:
<gluster_volume>
<name>myvolume</name>
<volume_type>replicate</volume_type>
<replica_count>3</replica_count>
<bricks>
<brick>
<server_id>server1</server_id>
<brick_dir>/exp1</brick_dir>
</brick>
<brick>
<server_id>server2</server_id>
<brick_dir>/exp1</brick_dir>
</brick>
<brick>
<server_id>server3</server_id>
<brick_dir>/exp1</brick_dir>
</brick>
<bricks>
</gluster_volume>Table 6.257. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The gluster volume definition from which to create the volume is passed as input and the newly created volume is returned. |
6.84.2. list GET
Lists all gluster volumes in the cluster.
For example, to list all Gluster Volumes in cluster 456, send a request like this:
GET /ovirt-engine/api/clusters/456/glustervolumes
Table 6.258. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| In | Sets the maximum number of volumes to return. | |
|
| In | A query string used to restrict the returned volumes. | |
|
| Out |
6.84.2.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.84.2.2. max
Sets the maximum number of volumes to return. If not specified all the volumes are returned.
6.85. Group
Table 6.259. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.85.1. get GET
Table 6.260. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.85.2. remove DELETE
Table 6.261. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.86. Groups
Table 6.262. Methods summary
| Name | Summary |
|---|---|
|
| Add group from a directory service. |
|
|
6.86.1. add POST
Add group from a directory service. Please note that domain name is name of the authorization provider.
For example, to add the Developers group from the internal-authz authorization provider send a request like this:
POST /ovirt-engine/api/groups
With a request body like this:
<group>
<name>Developers</name>
<domain>
<name>internal-authz</name>
</domain>
</group>Table 6.263. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.86.2. list GET
Table 6.264. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| Out | ||
|
| In | Sets the maximum number of groups to return. | |
|
| In | A query string used to restrict the returned groups. |
6.86.2.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.86.2.2. max
Sets the maximum number of groups to return. If not specified all the groups are returned.
6.87. Host
A service to manage a host.
Table 6.265. Methods summary
| Name | Summary |
|---|---|
|
| Activate the host for use, such as running virtual machines. |
|
| Approve a pre-installed Hypervisor host for usage in the virtualization environment. |
|
| Marks the network configuration as good and persists it inside the host. |
|
| Deactivate the host to perform maintenance tasks. |
|
| Enroll certificate of the host. |
|
| Controls host’s power management device. |
|
| Manually set a host as the storage pool manager (SPM). |
|
| Get the host details. |
|
| Install VDSM and related software on the host. |
|
| Discover iSCSI targets on the host, using the initiator details. |
|
| Login to iSCSI targets on the host, using the target details. |
|
| Refresh the host devices and capabilities. |
|
| Remove the host from the system. |
|
| This method is used to change the configuration of the network interfaces of a host. |
|
| |
|
| Update the host properties. |
|
| Upgrade VDSM and selected software on the host. |
|
| Check if there are upgrades available for the host. |
6.87.1. activate POST
Activate the host for use, such as running virtual machines.
Table 6.266. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the activation should be performed asynchronously. |
6.87.2. approve POST
Approve a pre-installed Hypervisor host for usage in the virtualization environment.
This action also accepts an optional cluster element to define the target cluster for this host.
6.87.3. commitnetconfig POST
Marks the network configuration as good and persists it inside the host.
An API user commits the network configuration to persist a host network interface attachment or detachment, or persist the creation and deletion of a bonded interface.
Networking configuration is only committed after the engine has established that host connectivity is not lost as a result of the configuration changes. If host connectivity is lost, the host requires a reboot and automatically reverts to the previous networking configuration.
For example, to commit the network configuration of host with id 123 send a request like this:
POST /ovirt-engine/api/hosts/123/commitnetconfig
With a request body like this:
<action/>
Table 6.268. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the action should be performed asynchronously. |
6.87.4. deactivate POST
Deactivate the host to perform maintenance tasks.
Table 6.269. Parameters summary
6.87.4.1. stop_gluster_service
Indicates if the gluster service should be stopped as part of deactivating the host. It can be used while performing maintenance operations on the gluster host. Default value for this variable is false.
6.87.5. enrollcertificate POST
Enroll certificate of the host. Useful in case you get a warning that it is about to, or already expired.
Table 6.270. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the enrollment should be performed asynchronously. |
6.87.6. fence POST
Controls host’s power management device.
For example, let’s assume you want to start the host. This can be done via:
#!/bin/sh -ex
url="https://engine.example.com/ovirt-engine/api"
user="admin@internal"
password="..."
curl \
--verbose \
--cacert /etc/pki/ovirt-engine/ca.pem \
--user "${user}:${password}" \
--request POST \
--header "Version: 4" \
--header "Content-Type: application/xml" \
--header "Accept: application/xml" \
--data '
<action>
<fence_type>start</fence_type>
</action>
' \
"${url}/hosts/123/fence"Table 6.271. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the fencing should be performed asynchronously. | |
|
| In | ||
|
| Out |
6.87.7. forceselectspm POST
Manually set a host as the storage pool manager (SPM).
POST /ovirt-engine/api/hosts/123/forceselectspm
With a request body like this:
<action/>
Table 6.272. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the action should be performed asynchronously. |
6.87.8. get GET
Get the host details.
6.87.9. install POST
Install VDSM and related software on the host. The host type defines additional parameters for the action.
Example of installing a host, using curl and JSON, plain:
curl \
--verbose \
--cacert /etc/pki/ovirt-engine/ca.pem \
--request PUT \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Version: 4" \
--user "admin@internal:..." \
--data '
{
"root_password": "myrootpassword"
}
' \
"https://engine.example.com/ovirt-engine/api/hosts/123"
Example of installing a host, using curl and JSON, with hosted engine components:
curl \
curl \
--verbose \
--cacert /etc/pki/ovirt-engine/ca.pem \
--request PUT \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Version: 4" \
--user "admin@internal:..." \
--data '
{
"root_password": "myrootpassword"
}
' \
"https://engine.example.com/ovirt-engine/api/hosts/123?deploy_hosted_engine=true"Since version 4.1.2 of the engine when a host is reinstalled we override the host firewall definitions by default.
Table 6.274. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the installation should be performed asynchronously. | |
|
| In |
When set to | |
|
| In |
This | |
|
| In | When installing an oVirt node a image ISO file is needed. | |
|
| In |
The password of of the | |
|
| In | The SSH details used to connect to the host. | |
|
| In |
When set to |
6.87.9.1. deploy_hosted_engine
When set to true it means this host should deploy also hosted engine components. Missing value is treated as true i.e deploy. Omitting this parameter means false and will perform no operation in hosted engine area.
6.87.9.2. undeploy_hosted_engine
When set to true it means this host should un-deploy hosted engine components and this host will not function as part of the High Availability cluster. Missing value is treated as true i.e un-deploy Omitting this parameter means false and will perform no operation in hosted engine area.
6.87.10. iscsidiscover POST
Discover iSCSI targets on the host, using the initiator details.
Table 6.275. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the discovery should be performed asynchronously. | |
|
| In | The target iSCSI device. | |
|
| Out | The iSCSI targets. |
6.87.11. iscsilogin POST
Login to iSCSI targets on the host, using the target details.
Table 6.276. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the login should be performed asynchronously. | |
|
| In | The target iSCSI device. |
6.87.12. refresh POST
Refresh the host devices and capabilities.
Table 6.277. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the refresh should be performed asynchronously. |
6.87.13. remove DELETE
Remove the host from the system.
#!/bin/sh -ex
url="https://engine.example.com/ovirt-engine/api"
user="admin@internal"
password="..."
curl \
--verbose \
--cacert /etc/pki/ovirt-engine/ca.pem \
--user "${user}:${password}" \
--request DELETE \
--header "Version: 4" \
"${url}/hosts/1ff7a191-2f3b-4eff-812b-9f91a30c3acc"Table 6.278. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.87.14. setupnetworks POST
This method is used to change the configuration of the network interfaces of a host.
For example, lets assume that you have a host with three network interfaces eth0, eth1 and eth2 and that you want to configure a new bond using eth0 and eth1, and put a VLAN on top of it. Using a simple shell script and the curl command line HTTP client that can be done as follows:
#!/bin/sh -ex
url="https://engine.example.com/ovirt-engine/api"
user="admin@internal"
password="..."
curl \
--verbose \
--cacert /etc/pki/ovirt-engine/ca.pem \
--user "${user}:${password}" \
--request POST \
--header "Version: 4" \
--header "Content-Type: application/xml" \
--header "Accept: application/xml" \
--data '
<action>
<modified_bonds>
<host_nic>
<name>bond0</name>
<bonding>
<options>
<option>
<name>mode</name>
<value>4</value>
</option>
<option>
<name>miimon</name>
<value>100</value>
</option>
</options>
<slaves>
<host_nic>
<name>eth1</name>
</host_nic>
<host_nic>
<name>eth2</name>
</host_nic>
</slaves>
</bonding>
</host_nic>
</modified_bonds>
<modified_network_attachments>
<network_attachment>
<network>
<name>myvlan</name>
</network>
<host_nic>
<name>bond0</name>
</host_nic>
<ip_address_assignments>
<assignment_method>static</assignment_method>
<ip_address_assignment>
<ip>
<address>192.168.122.10</address>
<netmask>255.255.255.0</netmask>
</ip>
</ip_address_assignment>
</ip_address_assignments>
<dns_resolver_configuration>
<name_servers>
<name_server>1.1.1.1</name_server>
<name_server>2.2.2.2</name_server>
</name_servers>
</dns_resolver_configuration>
</network_attachment>
</modified_network_attachments>
</action>
' \
"${url}/hosts/1ff7a191-2f3b-4eff-812b-9f91a30c3acc/setupnetworks"
Note that this is valid for version 4 of the API. In previous versions some elements were represented as XML attributes instead of XML elements. In particular the options and ip elements were represented as follows:
<options name="mode" value="4"/> <options name="miimon" value="100"/> <ip address="192.168.122.10" netmask="255.255.255.0"/>
Using the Python SDK the same can be done with the following code:
# Find the service that manages the collection of hosts:
hosts_service = connection.system_service().hosts_service()
# Find the host:
host = hosts_service.list(search='name=myhost')[0]
# Find the service that manages the host:
host_service = hosts_service.host_service(host.id)
# Configure the network adding a bond with two slaves and attaching it to a
# network with an static IP address:
host_service.setup_networks(
modified_bonds=[
types.HostNic(
name='bond0',
bonding=types.Bonding(
options=[
types.Option(
name='mode',
value='4',
),
types.Option(
name='miimon',
value='100',
),
],
slaves=[
types.HostNic(
name='eth1',
),
types.HostNic(
name='eth2',
),
],
),
),
],
modified_network_attachments=[
types.NetworkAttachment(
network=types.Network(
name='myvlan',
),
host_nic=types.HostNic(
name='bond0',
),
ip_address_assignments=[
types.IpAddressAssignment(
assignment_method=types.BootProtocol.STATIC,
ip=types.Ip(
address='192.168.122.10',
netmask='255.255.255.0',
),
),
],
dns_resolver_configuration=types.DnsResolverConfiguration(
name_servers=[
'1.1.1.1',
'2.2.2.2',
],
),
),
],
)
# After modifying the network configuration it is very important to make it
# persistent:
host_service.commit_net_config()To make sure that the network configuration has been saved in the host, and that it will be applied when the host is rebooted, remember to call commitnetconfig.
Table 6.279. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the action should be performed asynchronously. | |
|
| In | ||
|
| In | ||
|
| In | ||
|
| In | ||
|
| In | ||
|
| In | ||
|
| In | ||
|
| In | ||
|
| In |
6.87.15. unregisteredstoragedomainsdiscover POST
Table 6.280. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the discovery should be performed asynchronously. | |
|
| In | ||
|
| Out |
6.87.16. update PUT
Update the host properties.
For example, to update a the kernel command line of a host send a request like this:
PUT /ovirt-engine/api/hosts/123
With request body like this:
<host>
<os>
<custom_kernel_cmdline>vfio_iommu_type1.allow_unsafe_interrupts=1</custom_kernel_cmdline>
</os>
</host>6.87.17. upgrade POST
Upgrade VDSM and selected software on the host.
Table 6.282. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the upgrade should be performed asynchronously. |
6.87.18. upgradecheck POST
Check if there are upgrades available for the host. If there are upgrades available an icon will be displayed next to host status icon in the webadmin. Audit log messages are also added to indicate the availability of upgrades. The upgrade can be started from the webadmin or by using the upgrade host action.
6.88. HostDevice
A service to access a particular device of a host.
Table 6.283. Methods summary
| Name | Summary |
|---|---|
|
| Retrieve information about a particular host’s device. |
6.88.1. get GET
Retrieve information about a particular host’s device.
An example of getting a host device:
GET /ovirt-engine/api/hosts/123/devices/456
<host_device href="/ovirt-engine/api/hosts/123/devices/456" id="456">
<name>usb_1_9_1_1_0</name>
<capability>usb</capability>
<host href="/ovirt-engine/api/hosts/123" id="123"/>
<parent_device href="/ovirt-engine/api/hosts/123/devices/789" id="789">
<name>usb_1_9_1</name>
</parent_device>
</host_device>Table 6.284. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.89. HostDevices
A service to access host devices.
Table 6.285. Methods summary
| Name | Summary |
|---|---|
|
| List the devices of a host. |
6.89.1. list GET
List the devices of a host.
Table 6.286. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of devices to return. |
6.89.1.1. max
Sets the maximum number of devices to return. If not specified all the devices are returned.
6.90. HostHook
Table 6.287. Methods summary
| Name | Summary |
|---|---|
|
|
6.90.1. get GET
Table 6.288. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.91. HostHooks
Table 6.289. Methods summary
| Name | Summary |
|---|---|
|
|
6.91.1. list GET
Table 6.290. Parameters summary
6.91.1.1. max
Sets the maximum number of hooks to return. If not specified all the hooks are returned.
6.92. HostNic
A service to manage a network interface of a host.
Table 6.291. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| The action updates virtual function configuration in case the current resource represents an SR-IOV enabled NIC. |
6.92.1. get GET
Table 6.292. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.92.2. updatevirtualfunctionsconfiguration POST
The action updates virtual function configuration in case the current resource represents an SR-IOV enabled NIC. The input should be consisted of at least one of the following properties:
-
allNetworksAllowed -
numberOfVirtualFunctions
Please see the HostNicVirtualFunctionsConfiguration type for the meaning of the properties.
Table 6.293. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In |
6.93. HostNics
A service to manage the network interfaces of a host.
Table 6.294. Methods summary
| Name | Summary |
|---|---|
|
|
6.93.1. list GET
Table 6.295. Parameters summary
6.93.1.1. max
Sets the maximum number of NICs to return. If not specified all the NICs are returned.
6.94. HostNumaNode
Table 6.296. Methods summary
| Name | Summary |
|---|---|
|
|
6.94.1. get GET
Table 6.297. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.95. HostNumaNodes
Table 6.298. Methods summary
| Name | Summary |
|---|---|
|
|
6.95.1. list GET
Table 6.299. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of nodes to return. | |
|
| Out |
6.95.1.1. max
Sets the maximum number of nodes to return. If not specified all the nodes are returned.
6.96. HostStorage
A service to manage host storages.
Table 6.300. Methods summary
| Name | Summary |
|---|---|
|
| Get list of storages. |
6.96.1. list GET
Get list of storages.
GET /ovirt-engine/api/hosts/123/storage
The XML response you get will be like this one:
<host_storages>
<host_storage id="123">
...
</host_storage>
...
</host_storages>Table 6.301. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the status of the LUNs in the storage should be checked. | |
|
| Out | Retrieved list of storages. |
6.96.1.1. report_status
Indicates if the status of the LUNs in the storage should be checked. Checking the status of the LUN is an heavy weight operation and this data is not always needed by the user. This parameter will give the option to not perform the status check of the LUNs.
The default is true for backward compatibility.
Here an example with the LUN status :
<host_storage id="123">
<logical_units>
<logical_unit id="123">
<lun_mapping>0</lun_mapping>
<paths>1</paths>
<product_id>lun0</product_id>
<serial>123</serial>
<size>10737418240</size>
<status>used</status>
<vendor_id>LIO-ORG</vendor_id>
<volume_group_id>123</volume_group_id>
</logical_unit>
</logical_units>
<type>iscsi</type>
<host id="123"/>
</host_storage>Here an example without the LUN status :
<host_storage id="123">
<logical_units>
<logical_unit id="123">
<lun_mapping>0</lun_mapping>
<paths>1</paths>
<product_id>lun0</product_id>
<serial>123</serial>
<size>10737418240</size>
<vendor_id>LIO-ORG</vendor_id>
<volume_group_id>123</volume_group_id>
</logical_unit>
</logical_units>
<type>iscsi</type>
<host id="123"/>
</host_storage>6.97. Hosts
A service that manages hosts.
Table 6.302. Methods summary
| Name | Summary |
|---|---|
|
| Creates a new host. |
|
| Get a list of all available hosts. |
6.97.1. add POST
Creates a new host.
The host is created based on the attributes of the host parameter. The name, address and root_password properties are required.
For example, to add a host send the following request:
POST /ovirt-engine/api/hosts
With the following request body:
<host> <name>myhost</name> <address>myhost.example.com</address> <root_password>myrootpassword</root_password> </host>
The root_password element is only included in the client-provided initial representation and is not exposed in the representations returned from subsequent requests.
Since version 4.1.2 of the engine when a host is newly added we override the host firewall definitions by default.
To add a hosted engine host, use the optional deploy_hosted_engine parameter:
POST /ovirt-engine/api/hosts?deploy_hosted_engine=true
Table 6.303. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
When set to | |
|
| In/Out | The host definition from which to create the new host is passed as parameter, and the newly created host is returned. | |
|
| In |
When set to |
6.97.1.1. deploy_hosted_engine
When set to true it means this host should deploy also hosted engine components. Missing value is treated as true i.e deploy. Omitting this parameter means false and will perform no operation in hosted engine area.
6.97.1.2. undeploy_hosted_engine
When set to true it means this host should un-deploy hosted engine components and this host will not function as part of the High Availability cluster. Missing value is treated as true i.e un-deploy. Omitting this parameter means false and will perform no operation in hosted engine area.
6.97.2. list GET
Get a list of all available hosts.
For example, to list the hosts send the following request:
GET /ovirt-engine/api/hosts
The response body will be something like this:
<hosts>
<host href="/ovirt-engine/api/hosts/123" id="123">
...
</host>
<host href="/ovirt-engine/api/hosts/456" id="456">
...
</host>
...
</host>Table 6.304. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| Out | ||
|
| In | Sets the maximum number of hosts to return. | |
|
| In | A query string used to restrict the returned hosts. |
6.97.2.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.97.2.2. max
Sets the maximum number of hosts to return. If not specified all the hosts are returned.
6.98. Icon
A service to manage an icon (read-only).
Table 6.305. Methods summary
| Name | Summary |
|---|---|
|
| Get an icon. |
6.98.1. get GET
Get an icon.
GET /ovirt-engine/api/icons/123
You will get a XML response like this one:
<icon id="123"> <data>Some binary data here</data> <media_type>image/png</media_type> </icon>
Table 6.306. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | Retrieved icon. |
6.99. Icons
A service to manage icons.
Table 6.307. Methods summary
| Name | Summary |
|---|---|
|
| Get a list of icons. |
6.99.1. list GET
Get a list of icons.
GET /ovirt-engine/api/icons
You will get a XML response which is similar to this one:
<icons>
<icon id="123">
<data>...</data>
<media_type>image/png</media_type>
</icon>
...
</icons>Table 6.308. Parameters summary
6.99.1.1. max
Sets the maximum number of icons to return. If not specified all the icons are returned.
6.100. Image
Table 6.309. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| Imports an image. |
6.100.1. get GET
Table 6.310. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.100.2. import POST
Imports an image.
If the import_as_template parameter is true then the image will be imported as a template, otherwise it will be imported as a disk.
When imported as a template, the name of the template can be specified by the optional template.name parameter. If that parameter is not specified, then the name of the template will be automatically assigned by the engine as GlanceTemplate-x (where x will be seven random hexadecimal characters).
When imported as a disk, the name of the disk can be specified by the optional disk.name parameter. If that parameter is not specified, then the name of the disk will be automatically assigned by the engine as GlanceDisk-x (where x will be the seven hexadecimal characters of the image identifier).
It is recommended to always explicitly specify the template or disk name, to avoid these automatic names generated by the engine.
Table 6.311. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the import should be performed asynchronously. | |
|
| In |
The cluster to which the image should be imported if the | |
|
| In | The disk to import. | |
|
| In | Specifies if a template should be created from the imported disk. | |
|
| In | The storage domain to which the disk should be imported. | |
|
| In |
The name of the template being created if the |
6.101. ImageTransfer
This service provides a mechanism to control an image transfer. The client will have to create a transfer by using add of the Section 6.102, “ImageTransfers” service, stating the image to transfer data to/from.
After doing that, the transfer is managed by this service.
E.g., for uploading to the disk image with id 52cb593f-837c-4633-a444-35a0a0383706, the client can use oVirt’s Python’s SDK as follows:
transfers_service = system_service.image_transfers_service()
transfer = transfers_service.add(
types.ImageTransfer(
image=types.Image(
id='52cb593f-837c-4633-a444-35a0a0383706'
)
)
)
If the user wishes to download a disk rather than upload, he/she should specify download as the direction attribute of the transfer. This will grant a read permission from the image, instead of a write permission.
E.g:
transfers_service = system_service.image_transfers_service()
transfer = transfers_service.add(
types.ImageTransfer(
image=types.Image(
id='52cb593f-837c-4633-a444-35a0a0383706'
),
direction=types.ImageTransferDirection.DOWNLOAD
)
)Transfers have phases, which govern the flow of the upload/download. A client implementing such a flow should poll/check the transfer’s phase and act accordingly. All the possible phases can be found in ImageTransferPhase.
After adding a new transfer, its phase will be initializing. The client will have to poll on the transfer’s phase until it changes. When the phase becomes transferring, the session is ready to start the transfer.
For example:
transfer_service = transfers_service.image_transfer_service(transfer.id) while transfer.phase == types.ImageTransferPhase.INITIALIZING: time.sleep(3) transfer = transfer_service.get()
At that stage, if the transfer’s phase is paused_system, then the session was not successfully established. One possible reason for that is that the ovirt-imageio-daemon is not running in the host that was selected for transfer. The transfer can be resumed by calling resume of the service that manages it.
If the session was successfully established - the returned transfer entity will contain the proxy_url and signed_ticket attributes, which the client needs to use in order to transfer the required data. The client can choose whatever technique and tool for sending the HTTPS request with the image’s data.
-
proxy_urlis the address of a proxy server to the image, to do I/O to. -
signed_ticketis the content that needs to be added to theAuthenticationheader in the HTTPS request, in order to perform a trusted communication.
For example, Python’s HTTPSConnection can be used in order to perform a transfer, so an transfer_headers dict is set for the upcoming transfer:
transfer_headers = {
'Authorization' : transfer.signed_ticket,
}
Using Python’s HTTPSConnection, a new connection is established:
# Extract the URI, port, and path from the transfer's proxy_url. url = urlparse.urlparse(transfer.proxy_url) # Create a new instance of the connection. proxy_connection = HTTPSConnection( url.hostname, url.port, context=ssl.SSLContext(ssl.PROTOCOL_SSLv23) )
For upload, the specific content range being sent must be noted in the Content-Range HTTPS header. This can be used in order to split the transfer into several requests for a more flexible process.
For doing that, the client will have to repeatedly extend the transfer session to keep the channel open. Otherwise, the session will terminate and the transfer will get into paused_system phase, and HTTPS requests to the server will be rejected.
E.g., the client can iterate on chunks of the file, and send them to the proxy server while asking the service to extend the session:
path = "/path/to/image"
MB_per_request = 32
with open(path, "rb") as disk:
size = os.path.getsize(path)
chunk_size = 1024*1024*MB_per_request
pos = 0
while (pos < size):
transfer_service.extend()
transfer_headers['Content-Range'] = "bytes %d-%d/%d" % (pos, min(pos + chunk_size, size)-1, size)
proxy_connection.request(
'PUT',
url.path,
disk.read(chunk_size),
headers=transfer_headers
)
r = proxy_connection.getresponse()
print r.status, r.reason, "Completed", "{:.0%}".format(pos/ float(size))
pos += chunk_size
Similarly, for a download transfer, a Range header must be sent, making the download process more easily managed by downloading the disk in chunks.
E.g., the client will again iterate on chunks of the disk image, but this time he/she will download it to a local file, rather than uploading its own file to the image:
output_file = "/home/user/downloaded_image"
MiB_per_request = 32
chunk_size = 1024*1024*MiB_per_request
total = disk_size
with open(output_file, "wb") as disk:
pos = 0
while pos < total:
transfer_service.extend()
transfer_headers['Range'] = "bytes=%d-%d" % (pos, min(total, pos + chunk_size) - 1)
proxy_connection.request('GET', proxy_url.path, headers=transfer_headers)
r = proxy_connection.getresponse()
disk.write(r.read())
print "Completed", "{:.0%}".format(pos/ float(total))
pos += chunk_sizeWhen finishing the transfer, the user should call finalize. This will make the final adjustments and verifications for finishing the transfer process.
For example:
transfer_service.finalize()
In case of an error, the transfer’s phase will be changed to finished_failure, and the disk’s status will be changed to Illegal. Otherwise it will be changed to finished_success, and the disk will be ready to be used. In both cases, the transfer entity will be removed shortly after.
Table 6.312. Methods summary
| Name | Summary |
|---|---|
|
| Extend the image transfer session. |
|
| After finishing to transfer the data, finalize the transfer. |
|
| Get the image transfer entity. |
|
| Pause the image transfer session. |
|
| Resume the image transfer session. |
6.101.1. extend POST
Extend the image transfer session.
6.101.2. finalize POST
After finishing to transfer the data, finalize the transfer.
This will make sure that the data being transferred is valid and fits the image entity that was targeted in the transfer. Specifically, will verify that if the image entity is a QCOW disk, the data uploaded is indeed a QCOW file, and that the image doesn’t have a backing file.
6.101.3. get GET
Get the image transfer entity.
Table 6.313. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.101.4. pause POST
Pause the image transfer session.
6.101.5. resume POST
Resume the image transfer session. The client will need to poll the transfer’s phase until it is different than resuming. For example:
transfer_service = transfers_service.image_transfer_service(transfer.id) transfer_service.resume() transfer = transfer_service.get() while transfer.phase == types.ImageTransferPhase.RESUMING: time.sleep(1) transfer = transfer_service.get()
6.102. ImageTransfers
This service manages image transfers, for performing Image I/O API in oVirt. Please refer to image transfer for further documentation.
Table 6.314. Methods summary
| Name | Summary |
|---|---|
|
| Add a new image transfer. |
|
| Retrieves the list of image transfers that are currently being performed. |
6.102.1. add POST
Add a new image transfer. An image needs to be specified in order to make a new transfer.
Table 6.315. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.102.2. list GET
Retrieves the list of image transfers that are currently being performed.
Table 6.316. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.103. Images
Table 6.317. Methods summary
| Name | Summary |
|---|---|
|
|
6.103.1. list GET
Table 6.318. Parameters summary
6.103.1.1. max
Sets the maximum number of images to return. If not specified all the images are returned.
6.104. InstanceType
Table 6.319. Methods summary
| Name | Summary |
|---|---|
|
| Get a specific instance type and it’s attributes. |
|
| Removes a specific instance type from the system. |
|
| Update a specific instance type and it’s attributes. |
6.104.1. get GET
Get a specific instance type and it’s attributes.
GET /ovirt-engine/api/instancetypes/123
Table 6.320. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.104.2. remove DELETE
Removes a specific instance type from the system.
If a virtual machine was created using an instance type X after removal of the instance type the virtual machine’s instance type will be set to custom.
DELETE /ovirt-engine/api/instancetypes/123
Table 6.321. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.104.3. update PUT
Update a specific instance type and it’s attributes.
All the attributes are editable after creation. If a virtual machine was created using an instance type X and some configuration in instance type X was updated, the virtual machine’s configuration will be updated automatically by the engine.
PUT /ovirt-engine/api/instancetypes/123
For example, to update the memory of instance type 123 to 1 GiB and set the cpu topology to 2 sockets and 1 core, send a request like this:
<instance_type>
<memory>1073741824</memory>
<cpu>
<topology>
<cores>1</cores>
<sockets>2</sockets>
<threads>1</threads>
</topology>
</cpu>
</instance_type>Table 6.322. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out |
6.105. InstanceTypeGraphicsConsole
Table 6.323. Methods summary
| Name | Summary |
|---|---|
|
| Gets graphics console configuration of the instance type. |
|
| Remove the graphics console from the instance type. |
6.105.1. get GET
Gets graphics console configuration of the instance type.
Table 6.324. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The information about the graphics console of the instance type. |
6.105.2. remove DELETE
Remove the graphics console from the instance type.
Table 6.325. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.106. InstanceTypeGraphicsConsoles
Table 6.326. Methods summary
| Name | Summary |
|---|---|
|
| Add new graphics console to the instance type. |
|
| Lists all the configured graphics consoles of the instance type. |
6.106.1. add POST
Add new graphics console to the instance type.
Table 6.327. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.106.2. list GET
Lists all the configured graphics consoles of the instance type.
Table 6.328. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The list of graphics consoles of the instance type. | |
|
| In | Sets the maximum number of consoles to return. |
6.106.2.1. max
Sets the maximum number of consoles to return. If not specified all the consoles are returned.
6.107. InstanceTypeNic
Table 6.329. Methods summary
| Name | Summary |
|---|---|
|
| Gets network interface configuration of the instance type. |
|
| Remove the network interface from the instance type. |
|
| Updates the network interface configuration of the instance type. |
6.107.1. get GET
Gets network interface configuration of the instance type.
Table 6.330. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.107.2. remove DELETE
Remove the network interface from the instance type.
Table 6.331. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.107.3. update PUT
Updates the network interface configuration of the instance type.
6.108. InstanceTypeNics
Table 6.333. Methods summary
| Name | Summary |
|---|---|
|
| Add new network interface to the instance type. |
|
| Lists all the configured network interface of the instance type. |
6.108.1. add POST
Add new network interface to the instance type.
Table 6.334. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.108.2. list GET
Lists all the configured network interface of the instance type.
Table 6.335. Parameters summary
6.108.2.1. max
Sets the maximum number of NICs to return. If not specified all the NICs are returned.
6.109. InstanceTypeWatchdog
Table 6.336. Methods summary
| Name | Summary |
|---|---|
|
| Gets watchdog configuration of the instance type. |
|
| Remove a watchdog from the instance type. |
|
| Updates the watchdog configuration of the instance type. |
6.109.1. get GET
Gets watchdog configuration of the instance type.
Table 6.337. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.109.2. remove DELETE
Remove a watchdog from the instance type.
Table 6.338. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.109.3. update PUT
Updates the watchdog configuration of the instance type.
6.110. InstanceTypeWatchdogs
Table 6.340. Methods summary
| Name | Summary |
|---|---|
|
| Add new watchdog to the instance type. |
|
| Lists all the configured watchdogs of the instance type. |
6.110.1. add POST
Add new watchdog to the instance type.
Table 6.341. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.110.2. list GET
Lists all the configured watchdogs of the instance type.
Table 6.342. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of watchdogs to return. | |
|
| In | A query string used to restrict the returned templates. | |
|
| Out |
6.110.2.1. max
Sets the maximum number of watchdogs to return. If not specified all the watchdogs are returned.
6.111. InstanceTypes
Table 6.343. Methods summary
| Name | Summary |
|---|---|
|
| Creates a new instance type. |
|
| Lists all existing instance types in the system. |
6.111.1. add POST
Creates a new instance type.
This requires only a name attribute and can include all hardware configurations of the virtual machine.
POST /ovirt-engine/api/instancetypes
With a request body like this:
<instance_type> <name>myinstancetype</name> </template>
Creating an instance type with all hardware configurations with a request body like this:
<instance_type>
<name>myinstancetype</name>
<console>
<enabled>true</enabled>
</console>
<cpu>
<topology>
<cores>2</cores>
<sockets>2</sockets>
<threads>1</threads>
</topology>
</cpu>
<custom_cpu_model>AMD Opteron_G2</custom_cpu_model>
<custom_emulated_machine>q35</custom_emulated_machine>
<display>
<monitors>1</monitors>
<single_qxl_pci>true</single_qxl_pci>
<smartcard_enabled>true</smartcard_enabled>
<type>spice</type>
</display>
<high_availability>
<enabled>true</enabled>
<priority>1</priority>
</high_availability>
<io>
<threads>2</threads>
</io>
<memory>4294967296</memory>
<memory_policy>
<ballooning>true</ballooning>
<guaranteed>268435456</guaranteed>
</memory_policy>
<migration>
<auto_converge>inherit</auto_converge>
<compressed>inherit</compressed>
<policy id="00000000-0000-0000-0000-000000000000"/>
</migration>
<migration_downtime>2</migration_downtime>
<os>
<boot>
<devices>
<device>hd</device>
</devices>
</boot>
</os>
<rng_device>
<rate>
<bytes>200</bytes>
<period>2</period>
</rate>
<source>urandom</source>
</rng_device>
<soundcard_enabled>true</soundcard_enabled>
<usb>
<enabled>true</enabled>
<type>native</type>
</usb>
<virtio_scsi>
<enabled>true</enabled>
</virtio_scsi>
</instance_type>Table 6.344. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.111.2. list GET
Lists all existing instance types in the system.
Table 6.345. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| Out | ||
|
| In | Sets the maximum number of instance types to return. | |
|
| In | A query string used to restrict the returned templates. |
6.111.2.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.111.2.2. max
Sets the maximum number of instance types to return. If not specified all the instance types are returned.
6.112. IscsiBond
Table 6.346. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| Removes of an existing iSCSI bond. |
|
| Updates an iSCSI bond. |
6.112.1. get GET
Table 6.347. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.112.2. remove DELETE
Removes of an existing iSCSI bond.
For example, to remove the iSCSI bond 456 send a request like this:
DELETE /ovirt-engine/api/datacenters/123/iscsibonds/456
Table 6.348. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.112.3. update PUT
Updates an iSCSI bond.
Updating of an iSCSI bond can be done on the name and the description attributes only. For example, to update the iSCSI bond 456 of data center 123, send a request like this:
PUT /ovirt-engine/api/datacenters/123/iscsibonds/1234
The request body should look like this:
<iscsi_bond> <name>mybond</name> <description>My iSCSI bond</description> </iscsi_bond>
6.113. IscsiBonds
Table 6.350. Methods summary
| Name | Summary |
|---|---|
|
| Create a new iSCSI bond on a data center. |
|
|
6.113.1. add POST
Create a new iSCSI bond on a data center.
For example, to create a new iSCSI bond on data center 123 using storage connections 456 and 789, send a request like this:
POST /ovirt-engine/api/datacenters/123/iscsibonds
The request body should look like this:
<iscsi_bond>
<name>mybond</name>
<storage_connections>
<storage_connection id="456"/>
<storage_connection id="789"/>
</storage_connections>
<networks>
<network id="abc"/>
</networks>
</iscsi_bond>Table 6.351. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.113.2. list GET
Table 6.352. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of bonds to return. |
6.113.2.1. max
Sets the maximum number of bonds to return. If not specified all the bonds are returned.
6.114. Job
A service to manage a job.
Table 6.353. Methods summary
| Name | Summary |
|---|---|
|
| Set an external job execution to be cleared by the system. |
|
| Marks an external job execution as ended. |
|
| Retrieves a job. |
6.114.1. clear POST
Set an external job execution to be cleared by the system.
For example, to set a job with identifier 123 send the following request:
POST /ovirt-engine/api/jobs/clear
With the following request body:
<action/>
Table 6.354. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the action should be performed asynchronously. |
6.114.2. end POST
Marks an external job execution as ended.
For example, to terminate a job with identifier 123 send the following request:
POST /ovirt-engine/api/jobs/end
With the following request body:
<action> <force>true</force> <status>finished</status> </action>
Table 6.355. Parameters summary
6.114.2.1. succeeded
Indicates if the job should be marked as successfully finished or as failed.
This parameter is optional, and the default value is true.
6.114.3. get GET
Retrieves a job.
GET /ovirt-engine/api/jobs/123
You will receive response in XML like this one:
<job href="/ovirt-engine/api/jobs/123" id="123">
<actions>
<link href="/ovirt-engine/api/jobs/123/clear" rel="clear"/>
<link href="/ovirt-engine/api/jobs/123/end" rel="end"/>
</actions>
<description>Adding Disk</description>
<link href="/ovirt-engine/api/jobs/123/steps" rel="steps"/>
<auto_cleared>true</auto_cleared>
<end_time>2016-12-12T23:07:29.758+02:00</end_time>
<external>false</external>
<last_updated>2016-12-12T23:07:29.758+02:00</last_updated>
<start_time>2016-12-12T23:07:26.593+02:00</start_time>
<status>failed</status>
<owner href="/ovirt-engine/api/users/456" id="456"/>
</job>Table 6.356. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | Retrieves the representation of the job. |
6.115. Jobs
A service to manage jobs.
Table 6.357. Methods summary
| Name | Summary |
|---|---|
|
| Add an external job. |
|
| Retrieves the representation of the jobs. |
6.115.1. add POST
Add an external job.
For example, to add a job with the following request:
POST /ovirt-engine/api/jobs
With the following request body:
<job> <description>Doing some work</description> <auto_cleared>true</auto_cleared> </job>
The response should look like:
<job href="/ovirt-engine/api/jobs/123" id="123">
<actions>
<link href="/ovirt-engine/api/jobs/123/clear" rel="clear"/>
<link href="/ovirt-engine/api/jobs/123/end" rel="end"/>
</actions>
<description>Doing some work</description>
<link href="/ovirt-engine/api/jobs/123/steps" rel="steps"/>
<auto_cleared>true</auto_cleared>
<external>true</external>
<last_updated>2016-12-13T02:15:42.130+02:00</last_updated>
<start_time>2016-12-13T02:15:42.130+02:00</start_time>
<status>started</status>
<owner href="/ovirt-engine/api/users/456" id="456"/>
</job>Table 6.358. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | Job that will be added. |
6.115.2. list GET
Retrieves the representation of the jobs.
GET /ovirt-engine/api/jobs
You will receive response in XML like this one:
<jobs>
<job href="/ovirt-engine/api/jobs/123" id="123">
<actions>
<link href="/ovirt-engine/api/jobs/123/clear" rel="clear"/>
<link href="/ovirt-engine/api/jobs/123/end" rel="end"/>
</actions>
<description>Adding Disk</description>
<link href="/ovirt-engine/api/jobs/123/steps" rel="steps"/>
<auto_cleared>true</auto_cleared>
<end_time>2016-12-12T23:07:29.758+02:00</end_time>
<external>false</external>
<last_updated>2016-12-12T23:07:29.758+02:00</last_updated>
<start_time>2016-12-12T23:07:26.593+02:00</start_time>
<status>failed</status>
<owner href="/ovirt-engine/api/users/456" id="456"/>
</job>
...
</jobs>Table 6.359. Parameters summary
6.115.2.1. max
Sets the maximum number of jobs to return. If not specified all the jobs are returned.
6.116. KatelloErrata
A service to manage Katello errata. The information is retrieved from Katello.
Table 6.360. Methods summary
| Name | Summary |
|---|---|
|
| Retrieves the representation of the Katello errata. |
6.116.1. list GET
Retrieves the representation of the Katello errata.
GET /ovirt-engine/api/katelloerrata
You will receive response in XML like this one:
<katello_errata>
<katello_erratum href="/ovirt-engine/api/katelloerrata/123" id="123">
<name>RHBA-2013:XYZ</name>
<description>The description of the erratum</description>
<title>some bug fix update</title>
<type>bugfix</type>
<issued>2013-11-20T02:00:00.000+02:00</issued>
<solution>Few guidelines regarding the solution</solution>
<summary>Updated packages that fix one bug are now available for XYZ</summary>
<packages>
<package>
<name>libipa_hbac-1.9.2-82.11.el6_4.i686</name>
</package>
...
</packages>
</katello_erratum>
...
</katello_errata>Table 6.361. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | A representation of Katello errata. | |
|
| In | Sets the maximum number of errata to return. |
6.116.1.1. max
Sets the maximum number of errata to return. If not specified all the errata are returned.
6.117. KatelloErratum
A service to manage a Katello erratum.
Table 6.362. Methods summary
| Name | Summary |
|---|---|
|
| Retrieves a Katello erratum. |
6.117.1. get GET
Retrieves a Katello erratum.
GET /ovirt-engine/api/katelloerrata/123
You will receive response in XML like this one:
<katello_erratum href="/ovirt-engine/api/katelloerrata/123" id="123">
<name>RHBA-2013:XYZ</name>
<description>The description of the erratum</description>
<title>some bug fix update</title>
<type>bugfix</type>
<issued>2013-11-20T02:00:00.000+02:00</issued>
<solution>Few guidelines regarding the solution</solution>
<summary>Updated packages that fix one bug are now available for XYZ</summary>
<packages>
<package>
<name>libipa_hbac-1.9.2-82.11.el6_4.i686</name>
</package>
...
</packages>
</katello_erratum>Table 6.363. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | Retrieves the representation of the Katello erratum. |
6.118. MacPool
Table 6.364. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| Removes a MAC address pool. |
|
| Updates a MAC address pool. |
6.118.1. get GET
Table 6.365. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.118.2. remove DELETE
Removes a MAC address pool.
For example, to remove the MAC address pool having id 123 send a request like this:
DELETE /ovirt-engine/api/macpools/123
Table 6.366. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.118.3. update PUT
Updates a MAC address pool.
The name, description, allow_duplicates, and ranges attributes can be updated.
For example, to update the MAC address pool of id 123 send a request like this:
PUT /ovirt-engine/api/macpools/123
With a request body like this:
<mac_pool>
<name>UpdatedMACPool</name>
<description>An updated MAC address pool</description>
<allow_duplicates>false</allow_duplicates>
<ranges>
<range>
<from>00:1A:4A:16:01:51</from>
<to>00:1A:4A:16:01:e6</to>
</range>
<range>
<from>02:1A:4A:01:00:00</from>
<to>02:1A:4A:FF:FF:FF</to>
</range>
</ranges>
</mac_pool>6.119. MacPools
Table 6.368. Methods summary
| Name | Summary |
|---|---|
|
| Creates a new MAC address pool. |
|
|
6.119.1. add POST
Creates a new MAC address pool.
Creation of a MAC address pool requires values for the name and ranges attributes.
For example, to create MAC address pool send a request like this:
POST /ovirt-engine/api/macpools
With a request body like this:
<mac_pool>
<name>MACPool</name>
<description>A MAC address pool</description>
<allow_duplicates>true</allow_duplicates>
<default_pool>false</default_pool>
<ranges>
<range>
<from>00:1A:4A:16:01:51</from>
<to>00:1A:4A:16:01:e6</to>
</range>
</ranges>
</mac_pool>Table 6.369. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.119.2. list GET
Table 6.370. Parameters summary
6.119.2.1. max
Sets the maximum number of pools to return. If not specified all the pools are returned.
6.120. Measurable
6.121. Moveable
Table 6.371. Methods summary
| Name | Summary |
|---|---|
|
|
6.121.1. move POST
Table 6.372. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the move should be performed asynchronously. |
6.122. Network
A service managing a network
Table 6.373. Methods summary
| Name | Summary |
|---|---|
|
| Gets a logical network. |
|
| Removes a logical network, or the association of a logical network to a data center. |
|
| Updates a logical network. |
6.122.1. get GET
Gets a logical network.
For example:
GET /ovirt-engine/api/networks/123
Will respond:
<network href="/ovirt-engine/api/networks/123" id="123">
<name>ovirtmgmt</name>
<description>Default Management Network</description>
<link href="/ovirt-engine/api/networks/123/permissions" rel="permissions"/>
<link href="/ovirt-engine/api/networks/123/vnicprofiles" rel="vnicprofiles"/>
<link href="/ovirt-engine/api/networks/123/networklabels" rel="networklabels"/>
<mtu>0</mtu>
<stp>false</stp>
<usages>
<usage>vm</usage>
</usages>
<data_center href="/ovirt-engine/api/datacenters/456" id="456"/>
</network>Table 6.374. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.122.2. remove DELETE
Removes a logical network, or the association of a logical network to a data center.
For example, to remove the logical network 123 send a request like this:
DELETE /ovirt-engine/api/networks/123
Each network is bound exactly to one data center. So if we disassociate network with data center it has the same result as if we would just remove that network. However it might be more specific to say we’re removing network 456 of data center 123.
For example, to remove the association of network 456 to data center 123 send a request like this:
DELETE /ovirt-engine/api/datacenters/123/networks/456
Table 6.375. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.122.3. update PUT
Updates a logical network.
The name, description, ip, vlan, stp and display attributes can be updated.
For example, to update the description of the logical network 123 send a request like this:
PUT /ovirt-engine/api/networks/123
With a request body like this:
<network> <description>My updated description</description> </network>
The maximum transmission unit of a network is set using a PUT request to specify the integer value of the mtu attribute.
For example, to set the maximum transmission unit send a request like this:
PUT /ovirt-engine/api/datacenters/123/networks/456
With a request body like this:
<network> <mtu>1500</mtu> </network>
6.123. NetworkAttachment
Table 6.377. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
|
6.123.1. get GET
Table 6.378. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.123.2. remove DELETE
Table 6.379. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.123.3. update PUT
Table 6.380. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out |
6.124. NetworkAttachments
Table 6.381. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.124.1. add POST
Table 6.382. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.124.2. list GET
Table 6.383. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of attachments to return. |
6.124.2.1. max
Sets the maximum number of attachments to return. If not specified all the attachments are returned.
6.125. NetworkFilter
Manages a network filter.
<network_filter id="00000019-0019-0019-0019-00000000026b">
<name>example-network-filter-b</name>
<version>
<major>4</major>
<minor>0</minor>
<build>-1</build>
<revision>-1</revision>
</version>
</network_filter>Please note that version is referring to the minimal support version for the specific filter.
Table 6.384. Methods summary
| Name | Summary |
|---|---|
|
| Retrieves a representation of the network filter. |
6.125.1. get GET
Retrieves a representation of the network filter.
Table 6.385. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.126. NetworkFilters
Represents a readonly network filters sub-collection.
The network filter enables to filter packets send to/from the VM’s nic according to defined rules. For more information please refer to NetworkFilter service documentation
Network filters are supported in different versions, starting from version 3.0.
A network filter is defined for each vnic profile.
A vnic profile is defined for a specific network.
A network can be assigned to several different clusters. In the future, each network will be defined in cluster level.
Currently, each network is being defined at data center level. Potential network filters for each network are determined by the network’s data center compatibility version V. V must be >= the network filter version in order to configure this network filter for a specific network. Please note, that if a network is assigned to cluster with a version supporting a network filter, the filter may not be available due to the data center version being smaller then the network filter’s version.
Example of listing all of the supported network filters for a specific cluster:
GET http://localhost:8080/ovirt-engine/api/clusters/{cluster:id}/networkfiltersOutput:
<network_filters>
<network_filter id="00000019-0019-0019-0019-00000000026c">
<name>example-network-filter-a</name>
<version>
<major>4</major>
<minor>0</minor>
<build>-1</build>
<revision>-1</revision>
</version>
</network_filter>
<network_filter id="00000019-0019-0019-0019-00000000026b">
<name>example-network-filter-b</name>
<version>
<major>4</major>
<minor>0</minor>
<build>-1</build>
<revision>-1</revision>
</version>
</network_filter>
<network_filter id="00000019-0019-0019-0019-00000000026a">
<name>example-network-filter-a</name>
<version>
<major>3</major>
<minor>0</minor>
<build>-1</build>
<revision>-1</revision>
</version>
</network_filter>
</network_filters>Table 6.386. Methods summary
| Name | Summary |
|---|---|
|
| Retrieves the representations of the network filters. |
6.126.1. list GET
Retrieves the representations of the network filters.
Table 6.387. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.127. NetworkLabel
Table 6.388. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| Removes a label from a logical network. |
6.127.1. get GET
Table 6.389. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.127.2. remove DELETE
Removes a label from a logical network.
For example, to remove the label exemplary from a logical network having id 123 send the following request:
DELETE /ovirt-engine/api/networks/123/labels/exemplary
Table 6.390. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.128. NetworkLabels
Table 6.391. Methods summary
| Name | Summary |
|---|---|
|
| Attaches label to logical network. |
|
|
6.128.1. add POST
Attaches label to logical network.
You can attach labels to a logical network to automate the association of that logical network with physical host network interfaces to which the same label has been attached.
For example, to attach the label mylabel to a logical network having id 123 send a request like this:
POST /ovirt-engine/api/networks/123/labels
With a request body like this:
<label id="mylabel"/>
Table 6.392. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.128.2. list GET
Table 6.393. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of labels to return. |
6.128.2.1. max
Sets the maximum number of labels to return. If not specified all the labels are returned.
6.129. Networks
Manages logical networks.
The engine creates a default ovirtmgmt network on installation. This network acts as the management network for access to hypervisor hosts. This network is associated with the Default cluster and is a member of the Default data center.
Table 6.394. Methods summary
| Name | Summary |
|---|---|
|
| Creates a new logical network, or associates an existing network with a data center. |
|
| List logical networks. |
6.129.1. add POST
Creates a new logical network, or associates an existing network with a data center.
Creation of a new network requires the name and data_center elements.
For example, to create a network named mynetwork for data center 123 send a request like this:
POST /ovirt-engine/api/networks
With a request body like this:
<network> <name>mynetwork</name> <data_center id="123"/> </network>
To associate the existing network 456 with the data center 123 send a request like this:
POST /ovirt-engine/api/datacenters/123/networks
With a request body like this:
<network> <name>ovirtmgmt</name> </network>
Table 6.395. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.129.2. list GET
List logical networks.
For example:
GET /ovirt-engine/api/networks
Will respond:
<networks>
<network href="/ovirt-engine/api/networks/123" id="123">
<name>ovirtmgmt</name>
<description>Default Management Network</description>
<link href="/ovirt-engine/api/networks/123/permissions" rel="permissions"/>
<link href="/ovirt-engine/api/networks/123/vnicprofiles" rel="vnicprofiles"/>
<link href="/ovirt-engine/api/networks/123/networklabels" rel="networklabels"/>
<mtu>0</mtu>
<stp>false</stp>
<usages>
<usage>vm</usage>
</usages>
<data_center href="/ovirt-engine/api/datacenters/456" id="456"/>
</network>
...
</networks>Table 6.396. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| In | Sets the maximum number of networks to return. | |
|
| Out | ||
|
| In | A query string used to restrict the returned networks. |
6.129.2.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.129.2.2. max
Sets the maximum number of networks to return. If not specified all the networks are returned.
6.130. OpenstackImage
Table 6.397. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| Imports a virtual machine from a Glance image storage domain. |
6.130.1. get GET
Table 6.398. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.130.2. import POST
Imports a virtual machine from a Glance image storage domain.
For example, to import the image with identifier 456 from the storage domain with identifier 123 send a request like this:
POST /ovirt-engine/api/openstackimageproviders/123/images/456/import
With a request body like this:
<action>
<storage_domain>
<name>images0</name>
</storage_domain>
<cluster>
<name>images0</name>
</cluster>
</action>Table 6.399. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the import should be performed asynchronously. | |
|
| In |
This parameter is mandatory in case of using | |
|
| In | ||
|
| In | Indicates whether the image should be imported as a template. | |
|
| In | ||
|
| In |
6.131. OpenstackImageProvider
Table 6.400. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
| |
|
| |
|
|
6.131.1. get GET
Table 6.401. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.131.2. importcertificates POST
Table 6.402. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
6.131.3. remove DELETE
Table 6.403. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.131.4. testconnectivity POST
Table 6.404. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the test should be performed asynchronously. |
6.131.5. update PUT
Table 6.405. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out |
6.132. OpenstackImageProviders
Table 6.406. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.132.1. add POST
Table 6.407. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.132.2. list GET
Table 6.408. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of providers to return. | |
|
| Out |
6.132.2.1. max
Sets the maximum number of providers to return. If not specified all the providers are returned.
6.133. OpenstackImages
Table 6.409. Methods summary
| Name | Summary |
|---|---|
|
| Lists the images of a Glance image storage domain. |
6.133.1. list GET
Lists the images of a Glance image storage domain.
Table 6.410. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of images to return. |
6.133.1.1. max
Sets the maximum number of images to return. If not specified all the images are returned.
6.134. OpenstackNetwork
Table 6.411. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| This operation imports an external network into oVirt. |
6.134.1. get GET
Table 6.412. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.134.2. import POST
This operation imports an external network into oVirt. The network will be added to the data center specified.
Table 6.413. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the import should be performed asynchronously. | |
|
| In | The data center into which the network is to be imported. |
6.134.2.1. data_center
The data center into which the network is to be imported. Data center is mandatory, and can be specified using the id or name attributes, the rest of the attributes will be ignored.
6.135. OpenstackNetworkProvider
This service manages OpenStack network provider.
Table 6.414. Methods summary
| Name | Summary |
|---|---|
|
| Returns the representation of the object managed by this service. |
|
| |
|
| Removes the provider. |
|
| |
|
| Updates the provider. |
6.135.1. get GET
Returns the representation of the object managed by this service.
For example, to get the OpenStack network provider with identifier 1234, send a request like this:
GET /ovirt-engine/api/openstacknetworkproviders/1234
Table 6.415. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.135.2. importcertificates POST
Table 6.416. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
6.135.3. remove DELETE
Removes the provider.
For example, to remove the OpenStack network provider with identifier 1234, send a request like this:
DELETE /ovirt-engine/api/openstacknetworkproviders/1234
Table 6.417. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.135.4. testconnectivity POST
Table 6.418. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the test should be performed asynchronously. |
6.135.5. update PUT
Updates the provider.
For example, to update provider_name, requires_authentication, url, tenant_name and type properties, for the OpenStack network provider with identifier 1234, send a request like this:
PUT /ovirt-engine/api/openstacknetworkproviders/1234
With a request body like this:
<openstack_network_provider> <name>ovn-network-provider</name> <requires_authentication>false</requires_authentication> <url>http://some_server_url.domain.com:9696</url> <tenant_name>oVirt</tenant_name> <type>external</type> </openstack_network_provider>
Table 6.419. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out | The provider to update. |
6.136. OpenstackNetworkProviders
This service manages OpenStack network providers.
Table 6.420. Methods summary
| Name | Summary |
|---|---|
|
| The operation adds a new network provider to the system. |
|
|
6.136.1. add POST
The operation adds a new network provider to the system. If the type property is not present, a default value of NEUTRON will be used.
Table 6.421. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.136.2. list GET
Table 6.422. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of providers to return. | |
|
| Out |
6.136.2.1. max
Sets the maximum number of providers to return. If not specified all the providers are returned.
6.137. OpenstackNetworks
Table 6.423. Methods summary
| Name | Summary |
|---|---|
|
|
6.137.1. list GET
Table 6.424. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of networks to return. | |
|
| Out |
6.137.1.1. max
Sets the maximum number of networks to return. If not specified all the networks are returned.
6.138. OpenstackSubnet
Table 6.425. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.138.1. get GET
Table 6.426. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.138.2. remove DELETE
Table 6.427. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.139. OpenstackSubnets
Table 6.428. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.139.1. add POST
Table 6.429. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.139.2. list GET
Table 6.430. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of sub-networks to return. | |
|
| Out |
6.139.2.1. max
Sets the maximum number of sub-networks to return. If not specified all the sub-networks are returned.
6.140. OpenstackVolumeAuthenticationKey
Table 6.431. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
|
6.140.1. get GET
Table 6.432. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.140.2. remove DELETE
Table 6.433. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.140.3. update PUT
Table 6.434. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.141. OpenstackVolumeAuthenticationKeys
Table 6.435. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.141.1. add POST
Table 6.436. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.141.2. list GET
Table 6.437. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of keys to return. |
6.141.2.1. max
Sets the maximum number of keys to return. If not specified all the keys are returned.
6.142. OpenstackVolumeProvider
Table 6.438. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
| |
|
| |
|
|
6.142.1. get GET
Table 6.439. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.142.2. importcertificates POST
Table 6.440. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
6.142.3. remove DELETE
Table 6.441. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.142.4. testconnectivity POST
Table 6.442. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the test should be performed asynchronously. |
6.142.5. update PUT
Table 6.443. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out |
6.143. OpenstackVolumeProviders
Table 6.444. Methods summary
| Name | Summary |
|---|---|
|
| Adds a new volume provider. |
|
| Retrieves the list of volume providers. |
6.143.1. add POST
Adds a new volume provider.
For example:
POST /ovirt-engine/api/openstackvolumeproviders
With a request body like this:
<openstack_volume_provider>
<name>mycinder</name>
<url>https://mycinder.example.com:8776</url>
<data_center>
<name>mydc</name>
</data_center>
<requires_authentication>true</requires_authentication>
<username>admin</username>
<password>mypassword</password>
<tenant_name>mytenant</tenant_name>
</openstack_volume_provider>Table 6.445. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.143.2. list GET
Retrieves the list of volume providers.
Table 6.446. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of providers to return. | |
|
| Out |
6.143.2.1. max
Sets the maximum number of providers to return. If not specified all the providers are returned.
6.144. OpenstackVolumeType
Table 6.447. Methods summary
| Name | Summary |
|---|---|
|
|
6.144.1. get GET
Table 6.448. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.145. OpenstackVolumeTypes
Table 6.449. Methods summary
| Name | Summary |
|---|---|
|
|
6.145.1. list GET
Table 6.450. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of volume types to return. | |
|
| Out |
6.145.1.1. max
Sets the maximum number of volume types to return. If not specified all the volume types are returned.
6.146. OperatingSystem
Table 6.451. Methods summary
| Name | Summary |
|---|---|
|
|
6.146.1. get GET
Table 6.452. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.147. OperatingSystems
Table 6.453. Methods summary
| Name | Summary |
|---|---|
|
|
6.147.1. list GET
Table 6.454. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of networks to return. | |
|
| Out |
6.147.1.1. max
Sets the maximum number of networks to return. If not specified all the networks are returned.
6.148. Permission
Table 6.455. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.148.1. get GET
Table 6.456. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.148.2. remove DELETE
Table 6.457. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.149. Permit
A service to manage a specific permit of the role.
Table 6.458. Methods summary
| Name | Summary |
|---|---|
|
| Gets the information about the permit of the role. |
|
| Removes the permit from the role. |
6.149.1. get GET
Gets the information about the permit of the role.
For example to retrieve the information about the permit with the id 456 of the role with the id 123 send a request like this:
GET /ovirt-engine/api/roles/123/permits/456
<permit href="/ovirt-engine/api/roles/123/permits/456" id="456"> <name>change_vm_cd</name> <administrative>false</administrative> <role href="/ovirt-engine/api/roles/123" id="123"/> </permit>
Table 6.459. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The permit of the role. |
6.149.2. remove DELETE
Removes the permit from the role.
For example to remove the permit with id 456 from the role with id 123 send a request like this:
DELETE /ovirt-engine/api/roles/123/permits/456
Table 6.460. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.150. Permits
Represents a permits sub-collection of the specific role.
Table 6.461. Methods summary
| Name | Summary |
|---|---|
|
| Adds a permit to the role. |
|
| List the permits of the role. |
6.150.1. add POST
Adds a permit to the role. The permit name can be retrieved from the Section 6.31, “ClusterLevels” service.
For example to assign a permit create_vm to the role with id 123 send a request like this:
POST /ovirt-engine/api/roles/123/permits
With a request body like this:
<permit> <name>create_vm</name> </permit>
Table 6.462. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The permit to add. |
6.150.2. list GET
List the permits of the role.
For example to list the permits of the role with the id 123 send a request like this:
GET /ovirt-engine/api/roles/123/permits
<permits>
<permit href="/ovirt-engine/api/roles/123/permits/5" id="5">
<name>change_vm_cd</name>
<administrative>false</administrative>
<role href="/ovirt-engine/api/roles/123" id="123"/>
</permit>
<permit href="/ovirt-engine/api/roles/123/permits/7" id="7">
<name>connect_to_vm</name>
<administrative>false</administrative>
<role href="/ovirt-engine/api/roles/123" id="123"/>
</permit>
</permits>Table 6.463. Parameters summary
6.150.2.1. max
Sets the maximum number of permits to return. If not specified all the permits are returned.
6.151. Qos
Table 6.464. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
|
6.151.1. get GET
Table 6.465. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.151.2. remove DELETE
Table 6.466. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.151.3. update PUT
6.152. Qoss
Table 6.468. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.152.1. add POST
Table 6.469. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.152.2. list GET
Table 6.470. Parameters summary
6.152.2.1. max
Sets the maximum number of QoS descriptors to return. If not specified all the descriptors are returned.
6.153. Quota
Table 6.471. Methods summary
| Name | Summary |
|---|---|
|
| Retrieves a quota. |
|
| Delete a quota. |
|
| Updates a quota. |
6.153.1. get GET
Retrieves a quota.
An example of retrieving a quota:
GET /ovirt-engine/api/datacenters/123/quotas/456
<quota id="456"> <name>myquota</name> <description>My new quota for virtual machines</description> <cluster_hard_limit_pct>20</cluster_hard_limit_pct> <cluster_soft_limit_pct>80</cluster_soft_limit_pct> <storage_hard_limit_pct>20</storage_hard_limit_pct> <storage_soft_limit_pct>80</storage_soft_limit_pct> </quota>
Table 6.472. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.153.2. remove DELETE
Delete a quota.
An example of deleting a quota:
DELETE /ovirt-engine/api/datacenters/123-456/quotas/654-321 -0472718ab224 HTTP/1.1 Accept: application/xml Content-type: application/xml
Table 6.473. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.153.3. update PUT
Updates a quota.
An example of updating a quota:
PUT /ovirt-engine/api/datacenters/123/quotas/456
<quota> <cluster_hard_limit_pct>30</cluster_hard_limit_pct> <cluster_soft_limit_pct>70</cluster_soft_limit_pct> <storage_hard_limit_pct>20</storage_hard_limit_pct> <storage_soft_limit_pct>80</storage_soft_limit_pct> </quota>
6.154. QuotaClusterLimit
Table 6.475. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.154.1. get GET
Table 6.476. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.154.2. remove DELETE
Table 6.477. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.155. QuotaClusterLimits
Table 6.478. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.155.1. add POST
Table 6.479. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.155.2. list GET
Table 6.480. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of limits to return. |
6.155.2.1. max
Sets the maximum number of limits to return. If not specified all the limits are returned.
6.156. QuotaStorageLimit
Table 6.481. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.156.1. get GET
Table 6.482. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.156.2. remove DELETE
Table 6.483. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. |
6.157. QuotaStorageLimits
Table 6.484. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.157.1. add POST
Table 6.485. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.157.2. list GET
Table 6.486. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of limits to return. |
6.157.2.1. max
Sets the maximum number of limits to return. If not specified all the limits are returned.
6.158. Quotas
Table 6.487. Methods summary
| Name | Summary |
|---|---|
|
| Creates a new quota. |
|
| Lists quotas of a data center |
6.158.1. add POST
Creates a new quota.
An example of creating a new quota:
POST /ovirt-engine/api/datacenters/123/quotas
<quota> <name>myquota</name> <description>My new quota for virtual machines</description> </quota>
Table 6.488. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.158.2. list GET
Lists quotas of a data center
Table 6.489. Parameters summary
6.158.2.1. max
Sets the maximum number of quota descriptors to return. If not specified all the descriptors are returned.
6.159. Role
Table 6.490. Methods summary
| Name | Summary |
|---|---|
|
| Get the role. |
|
| Removes the role. |
|
| Updates a role. |
6.159.1. get GET
Get the role.
GET /ovirt-engine/api/roles/123
You will receive XML response like this one:
<role id="123"> <name>MyRole</name> <description>MyRole description</description> <link href="/ovirt-engine/api/roles/123/permits" rel="permits"/> <administrative>true</administrative> <mutable>false</mutable> </role>
Table 6.491. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | Retrieved role. |
6.159.2. remove DELETE
Removes the role.
To remove the role you need to know its id, then send request like this:
DELETE /ovirt-engine/api/roles/{role_id}Table 6.492. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.159.3. update PUT
Updates a role. You are allowed to update name, description and administrative attributes after role is created. Within this endpoint you can’t add or remove roles permits you need to use service that manages permits of role.
For example to update role’s name, description and administrative attributes send a request like this:
PUT /ovirt-engine/api/roles/123
With a request body like this:
<role> <name>MyNewRoleName</name> <description>My new description of the role</description> <administrative>true</administrative> </group>
6.160. Roles
Provides read-only access to the global set of roles
Table 6.494. Methods summary
| Name | Summary |
|---|---|
|
| Create a new role. |
|
| List roles. |
6.160.1. add POST
Create a new role. The role can be administrative or non-administrative and can have different permits.
For example, to add the MyRole non-administrative role with permits to login and create virtual machines send a request like this (note that you have to pass permit id):
POST /ovirt-engine/api/roles
With a request body like this:
<role>
<name>MyRole</name>
<description>My custom role to create virtual machines</description>
<administrative>false</administrative>
<permits>
<permit id="1"/>
<permit id="1300"/>
</permits>
</group>Table 6.495. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | Role that will be added. |
6.160.2. list GET
List roles.
GET /ovirt-engine/api/roles
You will receive response in XML like this one:
<roles>
<role id="123">
<name>SuperUser</name>
<description>Roles management administrator</description>
<link href="/ovirt-engine/api/roles/123/permits" rel="permits"/>
<administrative>true</administrative>
<mutable>false</mutable>
</role>
...
</roles>Table 6.496. Parameters summary
6.160.2.1. max
Sets the maximum number of roles to return. If not specified all the roles are returned.
6.161. SchedulingPolicies
Table 6.497. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.161.1. add POST
Table 6.498. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.161.2. list GET
Table 6.499. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| In | Sets the maximum number of policies to return. | |
|
| Out |
6.161.2.1. max
Sets the maximum number of policies to return. If not specified all the policies are returned.
6.162. SchedulingPolicy
Table 6.500. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
|
6.162.1. get GET
Table 6.501. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| Out |
6.162.2. remove DELETE
Table 6.502. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.162.3. update PUT
Table 6.503. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out |
6.163. SchedulingPolicyUnit
Table 6.504. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.163.1. get GET
Table 6.505. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| Out |
6.163.2. remove DELETE
Table 6.506. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.164. SchedulingPolicyUnits
Table 6.507. Methods summary
| Name | Summary |
|---|---|
|
|
6.164.1. list GET
Table 6.508. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| In | Sets the maximum number of policy units to return. | |
|
| Out |
6.164.1.1. max
Sets the maximum number of policy units to return. If not specified all the policy units are returned.
6.165. Snapshot
Table 6.509. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
| Restores a virtual machine snapshot. |
6.165.1. get GET
Table 6.510. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.165.2. remove DELETE
Table 6.511. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.165.3. restore POST
Restores a virtual machine snapshot.
For example, to restore the snapshot with identifier 456 of virtual machine with identifier 123 send a request like this:
POST /ovirt-engine/api/vms/123/snapshots/456/restore
With an empty action in the body:
<action/>
6.166. SnapshotCdrom
Table 6.513. Methods summary
| Name | Summary |
|---|---|
|
|
6.166.1. get GET
Table 6.514. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.167. SnapshotCdroms
Table 6.515. Methods summary
| Name | Summary |
|---|---|
|
|
6.167.1. list GET
Table 6.516. Parameters summary
6.167.1.1. max
Sets the maximum number of CDROMS to return. If not specified all the CDROMS are returned.
6.168. SnapshotDisk
Table 6.517. Methods summary
| Name | Summary |
|---|---|
|
|
6.168.1. get GET
Table 6.518. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.169. SnapshotDisks
Table 6.519. Methods summary
| Name | Summary |
|---|---|
|
|
6.169.1. list GET
Table 6.520. Parameters summary
6.169.1.1. max
Sets the maximum number of disks to return. If not specified all the disks are returned.
6.170. SnapshotNic
Table 6.521. Methods summary
| Name | Summary |
|---|---|
|
|
6.170.1. get GET
Table 6.522. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.171. SnapshotNics
Table 6.523. Methods summary
| Name | Summary |
|---|---|
|
|
6.171.1. list GET
Table 6.524. Parameters summary
6.171.1.1. max
Sets the maximum number of NICs to return. If not specified all the NICs are returned.
6.172. Snapshots
Table 6.525. Methods summary
| Name | Summary |
|---|---|
|
| Creates a virtual machine snapshot. |
|
|
6.172.1. add POST
Creates a virtual machine snapshot.
For example, to create a new snapshot for virtual machine 123 send a request like this:
POST /ovirt-engine/api/vms/123/snapshots
With a request body like this:
<snapshot> <description>My snapshot</description> </snapshot>
When a snapshot is created the default value for the persist_memorystate attribute is true. That means that the content of the memory of the virtual machine will be included in the snapshot, and it also means that the virtual machine will be paused for a longer time. That can negatively affect applications that are very sensitive to timing (NTP servers, for example). In those cases make sure that you set the attribute to false:
<snapshot> <description>My snapshot</description> <persist_memorystate>false</persist_memorystate> </snapshot>
Table 6.526. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.172.2. list GET
Table 6.527. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of snapshots to return. | |
|
| Out |
6.172.2.1. max
Sets the maximum number of snapshots to return. If not specified all the snapshots are returned.
6.173. SshPublicKey
Table 6.528. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
|
6.173.1. get GET
Table 6.529. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.173.2. remove DELETE
Table 6.530. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.173.3. update PUT
Table 6.531. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out |
6.174. SshPublicKeys
Table 6.532. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.174.1. add POST
Table 6.533. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.174.2. list GET
Table 6.534. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of keys to return. |
6.174.2.1. max
Sets the maximum number of keys to return. If not specified all the keys are returned.
6.175. Statistic
Table 6.535. Methods summary
| Name | Summary |
|---|---|
|
|
6.175.1. get GET
Table 6.536. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.176. Statistics
Table 6.537. Methods summary
| Name | Summary |
|---|---|
|
| Retrieves a list of statistics. |
6.176.1. list GET
Retrieves a list of statistics.
For example, to retrieve the statistics for virtual machine 123 send a request like this:
GET /ovirt-engine/api/vms/123/statistics
The result will be like this:
<statistics>
<statistic href="/ovirt-engine/api/vms/123/statistics/456" id="456">
<name>memory.installed</name>
<description>Total memory configured</description>
<kind>gauge</kind>
<type>integer</type>
<unit>bytes</unit>
<values>
<value>
<datum>1073741824</datum>
</value>
</values>
<vm href="/ovirt-engine/api/vms/123" id="123"/>
</statistic>
...
</statistics>Just a single part of the statistics can be retrieved by specifying its id at the end of the URI. That means:
GET /ovirt-engine/api/vms/123/statistics/456
Outputs:
<statistic href="/ovirt-engine/api/vms/123/statistics/456" id="456">
<name>memory.installed</name>
<description>Total memory configured</description>
<kind>gauge</kind>
<type>integer</type>
<unit>bytes</unit>
<values>
<value>
<datum>1073741824</datum>
</value>
</values>
<vm href="/ovirt-engine/api/vms/123" id="123"/>
</statistic>Table 6.538. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of statistics to return. | |
|
| Out |
6.176.1.1. max
Sets the maximum number of statistics to return. If not specified all the statistics are returned.
6.177. Step
A service to manage a step.
Table 6.539. Methods summary
| Name | Summary |
|---|---|
|
| Marks an external step execution as ended. |
|
| Retrieves a step. |
6.177.1. end POST
Marks an external step execution as ended.
For example, to terminate a step with identifier 456 which belongs to a job with identifier 123 send the following request:
POST /ovirt-engine/api/jobs/123/steps/456/end
With the following request body:
<action> <force>true</force> <succeeded>true</succeeded> </action>
Table 6.540. Parameters summary
6.177.1.1. succeeded
Indicates if the step should be marked as successfully finished or as failed.
This parameter is optional, and the default value is true.
6.177.2. get GET
Retrieves a step.
GET /ovirt-engine/api/jobs/123/steps/456
You will receive response in XML like this one:
<step href="/ovirt-engine/api/jobs/123/steps/456" id="456">
<actions>
<link href="/ovirt-engine/api/jobs/123/steps/456/end" rel="end"/>
</actions>
<description>Validating</description>
<end_time>2016-12-12T23:07:26.627+02:00</end_time>
<external>false</external>
<number>0</number>
<start_time>2016-12-12T23:07:26.605+02:00</start_time>
<status>finished</status>
<type>validating</type>
<job href="/ovirt-engine/api/jobs/123" id="123"/>
</step>Table 6.541. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | Retrieves the representation of the step. |
6.178. Steps
A service to manage steps.
Table 6.542. Methods summary
| Name | Summary |
|---|---|
|
| Add an external step to an existing job or to an existing step. |
|
| Retrieves the representation of the steps. |
6.178.1. add POST
Add an external step to an existing job or to an existing step.
For example, to add a step to job with identifier 123 send the following request:
POST /ovirt-engine/api/jobs/123/steps
With the following request body:
<step> <description>Validating</description> <start_time>2016-12-12T23:07:26.605+02:00</start_time> <status>started</status> <type>validating</type> </step>
The response should look like:
<step href="/ovirt-engine/api/jobs/123/steps/456" id="456">
<actions>
<link href="/ovirt-engine/api/jobs/123/steps/456/end" rel="end"/>
</actions>
<description>Validating</description>
<link href="/ovirt-engine/api/jobs/123/steps/456/statistics" rel="statistics"/>
<external>true</external>
<number>2</number>
<start_time>2016-12-13T01:06:15.380+02:00</start_time>
<status>started</status>
<type>validating</type>
<job href="/ovirt-engine/api/jobs/123" id="123"/>
</step>Table 6.543. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | Step that will be added. |
6.178.2. list GET
Retrieves the representation of the steps.
GET /ovirt-engine/api/job/123/steps
You will receive response in XML like this one:
<steps>
<step href="/ovirt-engine/api/jobs/123/steps/456" id="456">
<actions>
<link href="/ovirt-engine/api/jobs/123/steps/456/end" rel="end"/>
</actions>
<description>Validating</description>
<link href="/ovirt-engine/api/jobs/123/steps/456/statistics" rel="statistics"/>
<external>true</external>
<number>2</number>
<start_time>2016-12-13T01:06:15.380+02:00</start_time>
<status>started</status>
<type>validating</type>
<job href="/ovirt-engine/api/jobs/123" id="123"/>
</step>
...
</steps>Table 6.544. Parameters summary
6.178.2.1. max
Sets the maximum number of steps to return. If not specified all the steps are returned.
6.179. Storage
Table 6.545. Methods summary
| Name | Summary |
|---|---|
|
|
6.179.1. get GET
Table 6.546. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the status of the LUNs in the storage should be checked. | |
|
| Out |
6.179.1.1. report_status
Indicates if the status of the LUNs in the storage should be checked. Checking the status of the LUN is an heavy weight operation and this data is not always needed by the user. This parameter will give the option to not perform the status check of the LUNs.
The default is true for backward compatibility.
Here an example with the LUN status :
<host_storage id="360014051136c20574f743bdbd28177fd">
<logical_units>
<logical_unit id="360014051136c20574f743bdbd28177fd">
<lun_mapping>0</lun_mapping>
<paths>1</paths>
<product_id>lun0</product_id>
<serial>SLIO-ORG_lun0_1136c205-74f7-43bd-bd28-177fd5ce6993</serial>
<size>10737418240</size>
<status>used</status>
<vendor_id>LIO-ORG</vendor_id>
<volume_group_id>O9Du7I-RahN-ECe1-dZ1w-nh0b-64io-MNzIBZ</volume_group_id>
</logical_unit>
</logical_units>
<type>iscsi</type>
<host id="8bb5ade5-e988-4000-8b93-dbfc6717fe50"/>
</host_storage>Here an example without the LUN status :
<host_storage id="360014051136c20574f743bdbd28177fd">
<logical_units>
<logical_unit id="360014051136c20574f743bdbd28177fd">
<lun_mapping>0</lun_mapping>
<paths>1</paths>
<product_id>lun0</product_id>
<serial>SLIO-ORG_lun0_1136c205-74f7-43bd-bd28-177fd5ce6993</serial>
<size>10737418240</size>
<vendor_id>LIO-ORG</vendor_id>
<volume_group_id>O9Du7I-RahN-ECe1-dZ1w-nh0b-64io-MNzIBZ</volume_group_id>
</logical_unit>
</logical_units>
<type>iscsi</type>
<host id="8bb5ade5-e988-4000-8b93-dbfc6717fe50"/>
</host_storage>6.180. StorageDomain
Table 6.547. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
| This operation reduces logical units from the storage domain. |
|
| This operation refreshes the LUN size. |
|
| Removes the storage domain. |
|
| Updates a storage domain. |
|
|
This operation forces the update of the |
6.180.1. get GET
Table 6.548. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| Out |
6.180.2. isattached POST
6.180.3. reduceluns POST
This operation reduces logical units from the storage domain.
In order to do so the data stored on the provided logical units will be moved to other logical units of the storage domain and only then they will be reduced from the storage domain.
For example, in order to reduce two logical units from a storage domain send a request like this:
POST /ovirt-engine/api/storagedomains/123/reduceluns
With a request body like this:
<action>
<logical_units>
<logical_unit id="1IET_00010001"/>
<logical_unit id="1IET_00010002"/>
</logical_units>
</action>Table 6.550. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | The logical units that needs to be reduced from the storage domain. |
6.180.4. refreshluns POST
This operation refreshes the LUN size.
After increasing the size of the underlying LUN on the storage server, the user can refresh the LUN size. This action forces a rescan of the provided LUNs and updates the database with the new size if required.
For example, in order to refresh the size of two LUNs send a request like this:
POST /ovirt-engine/api/storagedomains/262b056b-aede-40f1-9666-b883eff59d40/refreshluns
With a request body like this:
<action>
<logical_units>
<logical_unit id="1IET_00010001"/>
<logical_unit id="1IET_00010002"/>
</logical_units>
</action>Table 6.551. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the refresh should be performed asynchronously. | |
|
| In | The LUNs that need to be refreshed. |
6.180.5. remove DELETE
Removes the storage domain.
Without any special parameters, the storage domain is detached from the system and removed from the database. The storage domain can then be imported to the same or different setup, with all the data on it. If the storage isn’t accessible the operation will fail.
If the destroy parameter is true then the operation will always succeed, even if the storage isn’t accessible, the failure is just ignored and the storage domain is removed from the database anyway.
If the format parameter is true then the actual storage is formatted, and the metadata is removed from the LUN or directory, so it can no longer be imported to the same or a different setup.
Table 6.552. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. | |
|
| In | Indicates if the operation should succeed, and the storage domain removed from the database, even if the storage isn’t accessible. | |
|
| In | Indicates if the actual storage should be formatted, removing all the metadata from the underlying LUN or directory: [source] ---- DELETE /ovirt-engine/api/storagedomains/123?format=true ----
This parameter is optional, and the default value is | |
|
| In | Indicates what host should be used to remove the storage domain. |
6.180.5.1. destroy
Indicates if the operation should succeed, and the storage domain removed from the database, even if the storage isn’t accessible.
DELETE /ovirt-engine/api/storagedomains/123?destroy=true
This parameter is optional, and the default value is false.
6.180.5.2. host
Indicates what host should be used to remove the storage domain.
This parameter is mandatory, and it can contain the name or the identifier of the host. For example, to use the host named myhost to remove the storage domain with identifier 123 send a request like this:
DELETE /ovirt-engine/api/storagedomains/123?host=myhost
6.180.6. update PUT
Updates a storage domain.
Not all of the StorageDomain's attributes are updatable post-creation. Those that can be updated are: name, description, comment, warning_low_space_indicator, critical_space_action_blocker and wipe_after_delete (note that changing the wipe_after_delete attribute will not change the wipe after delete property of disks that already exist).
To update the name and wipe_after_delete attributes of a storage domain with an identifier 123, send a request as follows:
PUT /ovirt-engine/api/storagedomains/123
With a request body as follows:
<storage_domain> <name>data2</name> <wipe_after_delete>true</wipe_after_delete> </storage_domain>
Table 6.553. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out |
6.180.7. updateovfstore POST
This operation forces the update of the OVF_STORE of this storage domain.
The OVF_STORE is a disk image that contains the meta-data of virtual machines and disks that reside in the storage domain. This meta-data is used in case the domain is imported or exported to or from a different data center or a different installation.
By default the OVF_STORE is updated periodically (set by default to 60 minutes) but users might want to force an update after an important change, or when the they believe the OVF_STORE is corrupt.
When initiated by the user, OVF_STORE update will be performed whether an update is needed or not.
Table 6.554. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the |
6.181. StorageDomainContentDisk
Table 6.555. Methods summary
| Name | Summary |
|---|---|
|
|
6.181.1. get GET
6.182. StorageDomainContentDisks
Table 6.557. Methods summary
| Name | Summary |
|---|---|
|
|
6.182.1. list GET
Table 6.558. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| Out | ||
|
| In | Sets the maximum number of disks to return. | |
|
| In | A query string used to restrict the returned disks. |
6.182.1.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.182.1.2. max
Sets the maximum number of disks to return. If not specified all the disks are returned.
6.183. StorageDomainServerConnection
Table 6.559. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| Detaches a storage connection from storage. |
6.183.1. get GET
Table 6.560. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.183.2. remove DELETE
Detaches a storage connection from storage.
Table 6.561. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the action should be performed asynchronously. |
6.184. StorageDomainServerConnections
Table 6.562. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.184.1. add POST
Table 6.563. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.184.2. list GET
Table 6.564. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of connections to return. |
6.184.2.1. max
Sets the maximum number of connections to return. If not specified all the connections are returned.
6.185. StorageDomainTemplate
Table 6.565. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| Action to import a template from an export storage domain. |
|
| |
|
|
6.185.1. get GET
Table 6.566. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.185.2. import POST
Action to import a template from an export storage domain.
For example, to import the template 456 from the storage domain 123 send the following request:
POST /ovirt-engine/api/storagedomains/123/templates/456/import
With the following request body:
<action>
<storage_domain>
<name>myexport</name>
</storage_domain>
<cluster>
<name>mycluster</name>
</cluster>
</action>Table 6.567. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the import should be performed asynchronously. | |
|
| In |
Use the optional | |
|
| In | ||
|
| In | ||
|
| In | ||
|
| In | ||
|
| In |
6.185.2.1. clone
Use the optional clone parameter to generate new UUIDs for the imported template and its entities.
The user might want to import a template with the clone parameter set to false when importing a template from an export domain, with templates that was exported by a different Red Hat Virtualization environment.
6.185.3. register POST
Table 6.568. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates whether a template is allowed to be registered with only some of its disks. | |
|
| In | Indicates if the registration should be performed asynchronously. | |
|
| In | ||
|
| In | ||
|
| In | ||
|
| In |
6.185.3.1. allow_partial_import
Indicates whether a template is allowed to be registered with only some of its disks.
If this flag is true, the engine will not fail in the validation process if an image is not found, but instead it will allow the template to be registered without the missing disks. This is mainly used during registration of a template when some of the storage domains are not available. The default value is false.
6.185.4. remove DELETE
Table 6.569. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.186. StorageDomainTemplates
Table 6.570. Methods summary
| Name | Summary |
|---|---|
|
|
6.186.1. list GET
Table 6.571. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of templates to return. | |
|
| Out | ||
|
| In | Indicates whether to retrieve a list of registered or unregistered templates which contain disks on the storage domain. |
6.186.1.1. max
Sets the maximum number of templates to return. If not specified all the templates are returned.
6.186.1.2. unregistered
Indicates whether to retrieve a list of registered or unregistered templates which contain disks on the storage domain. To get a list of unregistered templates the call should indicate the unregistered flag. For example, to get a list of unregistered templates the REST API call should look like this:
GET /ovirt-engine/api/storagedomains/123/templates?unregistered=true
The default value of the unregisterd flag is false. The request only apply to storage domains that are attached.
6.187. StorageDomainVm
Table 6.572. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| Imports a virtual machine from an export storage domain. |
|
| |
|
| Deletes a virtual machine from an export storage domain. |
6.187.1. get GET
Table 6.573. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.187.2. import POST
Imports a virtual machine from an export storage domain.
For example, send a request like this:
POST /ovirt-engine/api/storagedomains/123/vms/456/import
With a request body like this:
<action>
<storage_domain>
<name>mydata</name>
</storage_domain>
<cluster>
<name>mycluster</name>
</cluster>
</action>
To import a virtual machine as a new entity add the clone parameter:
<action>
<storage_domain>
<name>mydata</name>
</storage_domain>
<cluster>
<name>mycluster</name>
</cluster>
<clone>true</clone>
<vm>
<name>myvm</name>
</vm>
</action>
Include an optional disks parameter to choose which disks to import. For example, to import the disks of the template that have the identifiers 123 and 456 send the following request body:
<action>
<cluster>
<name>mycluster</name>
</cluster>
<vm>
<name>myvm</name>
</vm>
<disks>
<disk id="123"/>
<disk id="456"/>
</disks>
</action>Table 6.574. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the import should be performed asynchronously. | |
|
| In | Indicates if the identifiers of the imported virtual machine should be regenerated. | |
|
| In | ||
|
| In | Indicates of the snapshots of the virtual machine that is imported should be collapsed, so that the result will be a virtual machine without snapshots. | |
|
| In | ||
|
| In |
6.187.2.1. clone
Indicates if the identifiers of the imported virtual machine should be regenerated.
By default when a virtual machine is imported the identifiers are preserved. This means that the same virtual machine can’t be imported multiple times, as that identifiers needs to be unique. To allow importing the same machine multiple times set this parameter to true, as the default is false.
6.187.2.2. collapse_snapshots
Indicates of the snapshots of the virtual machine that is imported should be collapsed, so that the result will be a virtual machine without snapshots.
This parameter is optional, and if it isn’t explicitly specified the default value is false.
6.187.3. register POST
Table 6.575. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates whether a virtual machine is allowed to be registered with only some of its disks. | |
|
| In | Indicates if the registration should be performed asynchronously. | |
|
| In | ||
|
| In | ||
|
| In | Indicates if the problematic MAC addresses should be re-assigned during the import process by the engine. | |
|
| In | ||
|
| In | Mapping rules for virtual NIC profiles that will be applied during the import process. |
6.187.3.1. allow_partial_import
Indicates whether a virtual machine is allowed to be registered with only some of its disks.
If this flag is true, the engine will not fail in the validation process if an image is not found, but instead it will allow the virtual machine to be registered without the missing disks. This is mainly used during registration of a virtual machine when some of the storage domains are not available. The default value is false.
6.187.3.2. reassign_bad_macs
Indicates if the problematic MAC addresses should be re-assigned during the import process by the engine.
A MAC address would be considered as a problematic one if one of the following is true:
- It conflicts with a MAC address that is already allocated to a virtual machine in the target environment.
- It’s out of the range of the target MAC address pool.
6.187.4. remove DELETE
Deletes a virtual machine from an export storage domain.
For example, to delete the virtual machine 456 from the storage domain 123, send a request like this:
DELETE /ovirt-engine/api/storagedomains/123/vms/456
Table 6.576. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.188. StorageDomainVmDiskAttachment
Returns the details of the disks attached to a virtual machine in the export domain.
Table 6.577. Methods summary
| Name | Summary |
|---|---|
|
| Returns the details of the attachment with all its properties and a link to the disk. |
6.188.1. get GET
Returns the details of the attachment with all its properties and a link to the disk.
Table 6.578. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The disk attachment. |
6.189. StorageDomainVmDiskAttachments
Returns the details of a disk attached to a virtual machine in the export domain.
Table 6.579. Methods summary
| Name | Summary |
|---|---|
|
| List the disks that are attached to the virtual machine. |
6.189.1. list GET
List the disks that are attached to the virtual machine.
Table 6.580. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.190. StorageDomainVms
Lists the virtual machines of an export storage domain.
For example, to retrieve the virtual machines that are available in the storage domain with identifier 123 send the following request:
GET /ovirt-engine/api/storagedomains/123/vms
This will return the following response body:
<vms>
<vm id="456" href="/api/storagedomains/123/vms/456">
<name>vm1</name>
...
<storage_domain id="123" href="/api/storagedomains/123"/>
<actions>
<link rel="import" href="/api/storagedomains/123/vms/456/import"/>
</actions>
</vm>
</vms>Virtual machines and templates in these collections have a similar representation to their counterparts in the top-level Vm and Template collections, except they also contain a StorageDomain reference and an import action.
Table 6.581. Methods summary
| Name | Summary |
|---|---|
|
|
6.190.1. list GET
Table 6.582. Parameters summary
6.190.1.1. max
Sets the maximum number of virtual machines to return. If not specified all the virtual machines are returned.
6.190.1.2. unregistered
Indicates whether to retrieve a list of registered or unregistered virtual machines which contain disks on the storage domain. To get a list of unregistered virtual machines the call should indicate the unregistered flag. For example, to get a list of unregistered virtual machines the REST API call should look like this:
GET /ovirt-engine/api/storagedomains/123/vms?unregistered=true
The default value of the unregisterd flag is false. The request only apply to storage domains that are attached.
6.191. StorageDomains
Table 6.583. Methods summary
| Name | Summary |
|---|---|
|
| Adds a new storage domain. |
|
|
6.191.1. add POST
Adds a new storage domain.
Creation of a new StorageDomain requires the name, type, host and storage attributes. Identify the host attribute with the id or name attributes. In oVirt 3.6 and later you can enable the wipe after delete option by default on the storage domain. To configure this, specify wipe_after_delete in the POST request. This option can be edited after the domain is created, but doing so will not change the wipe after delete property of disks that already exist.
To add a new storage domain with specified name, type, storage.type, storage.address and storage.path and by using a host with an id 123, send a request as follows:
POST /ovirt-engine/api/storagedomains
With a request body as follows:
<storage_domain>
<name>mydata</name>
<type>data</type>
<storage>
<type>nfs</type>
<address>mynfs.example.com</address>
<path>/exports/mydata</path>
</storage>
<host>
<name>myhost</name>
</host>
</storage_domain>To create a new NFS ISO storage domain send a request like this:
<storage_domain>
<name>myisos</name>
<type>iso</type>
<storage>
<type>nfs</type>
<address>mynfs.example.com</address>
<path>/export/myisos</path>
</storage>
<host>
<name>myhost</name>
</host>
</storage_domain>To create a new iSCSI storage domain send a request like this:
<storage_domain>
<name>myiscsi</name>
<type>data</type>
<storage>
<type>iscsi</type>
<logical_units>
<logical_unit id="3600144f09dbd050000004eedbd340001"/>
<logical_unit id="3600144f09dbd050000004eedbd340002"/>
</logical_units>
</storage>
<host>
<name>myhost</name>
</host>
</storage_domain>Table 6.584. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.191.2. list GET
Table 6.585. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| In | Sets the maximum number of storage domains to return. | |
|
| In | A query string used to restrict the returned storage domains. | |
|
| Out |
6.191.2.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.191.2.2. max
Sets the maximum number of storage domains to return. If not specified all the storage domains are returned.
6.192. StorageServerConnection
Table 6.586. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| Removes a storage connection. |
|
| Updates the storage connection. |
6.192.1. get GET
Table 6.587. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.192.2. remove DELETE
Removes a storage connection.
A storage connection can only be deleted if neither storage domain nor LUN disks reference it. The host name or id is optional; providing it disconnects (unmounts) the connection from that host.
Table 6.588. Parameters summary
6.192.2.1. host
The name or identifier of the host from which the connection would be unmounted (disconnected). If not provided, no host will be disconnected.
For example, to use the host with identifier 456 to delete the storage connection with identifier 123 send a request like this:
DELETE /ovirt-engine/api/storageconnections/123?host=456
6.192.3. update PUT
Updates the storage connection.
For example, to change the address of the storage server send a request like this:
PUT /ovirt-engine/api/storageconnections/123
With a request body like this:
<storage_connection>
<address>mynewnfs.example.com</address>
<host>
<name>myhost</name>
</host>
</storage_connection>Table 6.589. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out | ||
|
| In | Indicates if the operation should succeed regardless to the relevant storage domain’s status (i. |
6.192.3.1. force
Indicates if the operation should succeed regardless to the relevant storage domain’s status (i.e. updating is also applicable when storage domain’s status is not maintenance).
This parameter is optional, and the default value is false.
6.193. StorageServerConnectionExtension
Table 6.590. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
| Update a storage server connection extension for the given host. |
6.193.1. get GET
Table 6.591. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.193.2. remove DELETE
Table 6.592. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.193.3. update PUT
Update a storage server connection extension for the given host.
To update the storage connection 456 of host 123 send a request like this:
PUT /ovirt-engine/api/hosts/123/storageconnectionextensions/456
With a request body like this:
<storage_connection_extension> <target>iqn.2016-01.com.example:mytarget</target> <username>myuser</username> <password>mypassword</password> </storage_connection_extension>
Table 6.593. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out |
6.194. StorageServerConnectionExtensions
Table 6.594. Methods summary
| Name | Summary |
|---|---|
|
| Creates a new storage server connection extension for the given host. |
|
|
6.194.1. add POST
Creates a new storage server connection extension for the given host.
The extension lets the user define credentials for an iSCSI target for a specific host. For example to use myuser and mypassword as the credentials when connecting to the iSCSI target from host 123 send a request like this:
POST /ovirt-engine/api/hosts/123/storageconnectionextensions
With a request body like this:
<storage_connection_extension> <target>iqn.2016-01.com.example:mytarget</target> <username>myuser</username> <password>mypassword</password> </storage_connection_extension>
Table 6.595. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.194.2. list GET
Table 6.596. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of extensions to return. |
6.194.2.1. max
Sets the maximum number of extensions to return. If not specified all the extensions are returned.
6.195. StorageServerConnections
Table 6.597. Methods summary
| Name | Summary |
|---|---|
|
| Creates a new storage connection. |
|
|
6.195.1. add POST
Creates a new storage connection.
For example, to create a new storage connection for the NFS server mynfs.example.com and NFS share /export/mydata send a request like this:
POST /ovirt-engine/api/storageconnections
With a request body like this:
<storage_connection>
<type>nfs</type>
<address>mynfs.example.com</address>
<path>/export/mydata</path>
<host>
<name>myhost</name>
</host>
</storage_connection>Table 6.598. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.195.2. list GET
Table 6.599. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | ||
|
| In | Sets the maximum number of connections to return. |
6.195.2.1. max
Sets the maximum number of connections to return. If not specified all the connections are returned.
6.196. System
Table 6.600. Methods summary
| Name | Summary |
|---|---|
|
| Returns basic information describing the API, like the product name, the version number and a summary of the number of relevant objects. |
|
|
6.196.1. get GET
Returns basic information describing the API, like the product name, the version number and a summary of the number of relevant objects.
GET /ovirt-engine/api
We get following response:
<api>
<link rel="capabilities" href="/api/capabilities"/>
<link rel="clusters" href="/api/clusters"/>
<link rel="clusters/search" href="/api/clusters?search={query}"/>
<link rel="datacenters" href="/api/datacenters"/>
<link rel="datacenters/search" href="/api/datacenters?search={query}"/>
<link rel="events" href="/api/events"/>
<link rel="events/search" href="/api/events?search={query}"/>
<link rel="hosts" href="/api/hosts"/>
<link rel="hosts/search" href="/api/hosts?search={query}"/>
<link rel="networks" href="/api/networks"/>
<link rel="roles" href="/api/roles"/>
<link rel="storagedomains" href="/api/storagedomains"/>
<link rel="storagedomains/search" href="/api/storagedomains?search={query}"/>
<link rel="tags" href="/api/tags"/>
<link rel="templates" href="/api/templates"/>
<link rel="templates/search" href="/api/templates?search={query}"/>
<link rel="users" href="/api/users"/>
<link rel="groups" href="/api/groups"/>
<link rel="domains" href="/api/domains"/>
<link rel="vmpools" href="/api/vmpools"/>
<link rel="vmpools/search" href="/api/vmpools?search={query}"/>
<link rel="vms" href="/api/vms"/>
<link rel="vms/search" href="/api/vms?search={query}"/>
<product_info>
<name>oVirt Engine</name>
<vendor>ovirt.org</vendor>
<version>
<build>4</build>
<full_version>4.0.4</full_version>
<major>4</major>
<minor>0</minor>
<revision>0</revision>
</version>
</product_info>
<special_objects>
<blank_template href="/ovirt-engine/api/templates/00000000-0000-0000-0000-000000000000" id="00000000-0000-0000-0000-000000000000"/>
<root_tag href="/ovirt-engine/api/tags/00000000-0000-0000-0000-000000000000" id="00000000-0000-0000-0000-000000000000"/>
</special_objects>
<summary>
<hosts>
<active>0</active>
<total>0</total>
</hosts>
<storage_domains>
<active>0</active>
<total>1</total>
</storage_domains>
<users>
<active>1</active>
<total>1</total>
</users>
<vms>
<active>0</active>
<total>0</total>
</vms>
</summary>
<time>2016-09-14T12:00:48.132+02:00</time>
</api>
The entry point provides a user with links to the collections in a virtualization environment. The rel attribute of each collection link provides a reference point for each link.
The entry point also contains other data such as product_info, special_objects and summary.
Table 6.601. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.196.2. reloadconfigurations POST
Table 6.602. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the reload should be performed asynchronously. |
6.197. SystemPermissions
This service doesn’t add any new methods, it is just a placeholder for the annotation that specifies the path of the resource that manages the permissions assigned to the system object.
Table 6.603. Methods summary
| Name | Summary |
|---|---|
|
| Assign a new permission to a user or group for specific entity. |
|
| List all the permissions of the specific entity. |
6.197.1. add POST
Assign a new permission to a user or group for specific entity.
For example, to assign the UserVmManager role to the virtual machine with id 123 to the user with id 456 send a request like this:
POST /ovirt-engine/api/vms/123/permissions
With a request body like this:
<permission>
<role>
<name>UserVmManager</name>
</role>
<user id="456"/>
</permission>
To assign the SuperUser role to the system to the user with id 456 send a request like this:
POST /ovirt-engine/api/permissions
With a request body like this:
<permission>
<role>
<name>SuperUser</name>
</role>
<user id="456"/>
</permission>
If you want to assign permission to the group instead of the user please replace the user element with the group element with proper id of the group. For example to assign the UserRole role to the cluster with id 123 to the group with id 789 send a request like this:
POST /ovirt-engine/api/clusters/123/permissions
With a request body like this:
<permission>
<role>
<name>UserRole</name>
</role>
<group id="789"/>
</permission>Table 6.604. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The permission. |
6.197.2. list GET
List all the permissions of the specific entity.
For example to list all the permissions of the cluster with id 123 send a request like this:
GET /ovirt-engine/api/clusters/123/permissions
<permissions>
<permission id="456">
<cluster id="123"/>
<role id="789"/>
<user id="451"/>
</permission>
<permission id="654">
<cluster id="123"/>
<role id="789"/>
<group id="127"/>
</permission>
</permissions>Table 6.605. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The list of permissions. |
6.198. Tag
A service to manage a specific tag in the system.
Table 6.606. Methods summary
| Name | Summary |
|---|---|
|
| Gets the information about the tag. |
|
| Removes the tag from the system. |
|
| Updates the tag entity. |
6.198.1. get GET
Gets the information about the tag.
For example to retrieve the information about the tag with the id 123 send a request like this:
GET /ovirt-engine/api/tags/123
<tag href="/ovirt-engine/api/tags/123" id="123"> <name>root</name> <description>root</description> </tag>
Table 6.607. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The tag. |
6.198.2. remove DELETE
Removes the tag from the system.
For example to remove the tag with id 123 send a request like this:
DELETE /ovirt-engine/api/tags/123
Table 6.608. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.198.3. update PUT
Updates the tag entity.
For example to update parent tag to tag with id 456 of the tag with id 123 send a request like this:
PUT /ovirt-engine/api/tags/123
With request body like:
<tag> <parent id="456"/> </tag>
You may also specify a tag name instead of id. For example to update parent tag to tag with name mytag of the tag with id 123 send a request like this:
<tag>
<parent>
<name>mytag</name>
</parent>
</tag>6.199. Tags
Represents a service to manage collection of the tags in the system.
Table 6.610. Methods summary
| Name | Summary |
|---|---|
|
| Add a new tag to the system. |
|
| List the tags in the system. |
6.199.1. add POST
Add a new tag to the system.
For example, to add new tag with name mytag to the system send a request like this:
POST /ovirt-engine/api/tags
With a request body like this:
<tag> <name>mytag</name> </tag>
The root tag is a special pseudo-tag assumed as the default parent tag if no parent tag is specified. The root tag cannot be deleted nor assigned a parent tag.
To create new tag with specific parent tag send a request body like this:
<tag>
<name>mytag</name>
<parent>
<name>myparenttag</name>
</parent>
</tag>Table 6.611. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The added tag. |
6.199.2. list GET
List the tags in the system.
For example to list the full hierarchy of the tags in the system send a request like this:
GET /ovirt-engine/api/tags
<tags>
<tag href="/ovirt-engine/api/tags/222" id="222">
<name>root2</name>
<description>root2</description>
<parent href="/ovirt-engine/api/tags/111" id="111"/>
</tag>
<tag href="/ovirt-engine/api/tags/333" id="333">
<name>root3</name>
<description>root3</description>
<parent href="/ovirt-engine/api/tags/222" id="222"/>
</tag>
<tag href="/ovirt-engine/api/tags/111" id="111">
<name>root</name>
<description>root</description>
</tag>
</tags>In the previous XML output you can see the following hierarchy of the tags:
root: (id: 111)
- root2 (id: 222)
- root3 (id: 333)Table 6.612. Parameters summary
6.199.2.1. max
Sets the maximum number of tags to return. If not specified all the tags are returned.
6.200. Template
Manages the virtual machine template and template versions.
Table 6.613. Methods summary
| Name | Summary |
|---|---|
|
| Exports a template to the data center export domain. |
|
| Returns the information about this template or template version. |
|
| Removes a virtual machine template. |
|
| Updates the template. |
6.200.1. export POST
Exports a template to the data center export domain.
For example, the operation can be facilitated using the following request:
POST /ovirt-engine/api/templates/123/export
With a request body like this:
<action> <storage_domain id="456"/> <exclusive>true<exclusive/> </action>
Table 6.614. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the existing templates with the same name should be overwritten. | |
|
| In | Specifies the destination export storage domain. |
6.200.1.1. exclusive
Indicates if the existing templates with the same name should be overwritten.
The export action reports a failed action if a template of the same name exists in the destination domain. Set this parameter to true to change this behavior and overwrite any existing template.
6.200.2. get GET
Returns the information about this template or template version.
6.200.3. remove DELETE
Removes a virtual machine template.
DELETE /ovirt-engine/api/templates/123
Table 6.616. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.200.4. update PUT
Updates the 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.
For example, to update a template to so that it has 1 GiB of memory send a request like this:
PUT /ovirt-engine/api/templates/123
With the following request body:
<template> <memory>1073741824</memory> </template>
The version_name name attribute is the only one that can be updated within the version attribute used for template versions:
<template>
<version>
<version_name>mytemplate_2</version_name>
</version>
</template>6.201. TemplateCdrom
A service managing a CD-ROM device on templates.
Table 6.618. Methods summary
| Name | Summary |
|---|---|
|
| Returns the information about this CD-ROM device. |
6.201.1. get GET
Returns the information about this CD-ROM device.
For example, to get information about the CD-ROM device of template 123 send a request like:
GET /ovirt-engine/api/templates/123/cdroms/
Table 6.619. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The information about the CD-ROM device. |
6.201.1.1. cdrom
The information about the CD-ROM device.
The information consists of cdrom attribute containing reference to the CD-ROM device, the template, and optionally the inserted disk.
If there is a disk inserted then the file attribute will contain a reference to the ISO image:
<cdrom href="..." id="00000000-0000-0000-0000-000000000000"> <template href="/ovirt-engine/api/templates/123" id="123"/> <file id="mycd.iso"/> </cdrom>
If there is no disk inserted then the file attribute won’t be reported:
<cdrom href="..." id="00000000-0000-0000-0000-000000000000"> <template href="/ovirt-engine/api/templates/123" id="123"/> </cdrom>
6.202. TemplateCdroms
Lists the CD-ROM devices of a template.
Table 6.620. Methods summary
| Name | Summary |
|---|---|
|
|
6.202.1. list GET
Table 6.621. Parameters summary
6.202.1.1. max
Sets the maximum number of CD-ROMs to return. If not specified all the CD-ROMs are returned.
6.203. TemplateDisk
Table 6.622. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
| |
|
|
6.203.1. copy POST
6.203.2. export POST
6.203.3. get GET
Table 6.625. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.203.4. remove DELETE
Table 6.626. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.204. TemplateDiskAttachment
This service manages the attachment of a disk to a template.
Table 6.627. Methods summary
| Name | Summary |
|---|---|
|
| Returns the details of the attachment. |
|
| Removes the disk from the template. |
6.204.1. get GET
Returns the details of the attachment.
Table 6.628. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.204.2. remove DELETE
Removes the disk from the template. The disk will only be removed if there are other existing copies of the disk on other storage domains.
A storage domain has to be specified to determine which of the copies should be removed (template disks can have copies on multiple storage domains).
DELETE /ovirt-engine/api/templates/{template:id}/diskattachments/{attachment:id}?storage_domain=072fbaa1-08f3-4a40-9f34-a5ca22dd1d746.205. TemplateDiskAttachments
This service manages the set of disks attached to a template. Each attached disk is represented by a DiskAttachment.
Table 6.630. Methods summary
| Name | Summary |
|---|---|
|
| List the disks that are attached to the template. |
6.205.1. list GET
List the disks that are attached to the template.
Table 6.631. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.206. TemplateDisks
Table 6.632. Methods summary
| Name | Summary |
|---|---|
|
|
6.206.1. list GET
Table 6.633. Parameters summary
6.206.1.1. max
Sets the maximum number of disks to return. If not specified all the disks are returned.
6.207. TemplateGraphicsConsole
Table 6.634. Methods summary
| Name | Summary |
|---|---|
|
| Gets graphics console configuration of the template. |
|
| Remove the graphics console from the template. |
6.207.1. get GET
Gets graphics console configuration of the template.
Table 6.635. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The information about the graphics console of the template. |
6.207.2. remove DELETE
Remove the graphics console from the template.
Table 6.636. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.208. TemplateGraphicsConsoles
Table 6.637. Methods summary
| Name | Summary |
|---|---|
|
| Add new graphics console to the template. |
|
| Lists all the configured graphics consoles of the template. |
6.208.1. add POST
Add new graphics console to the template.
Table 6.638. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.208.2. list GET
Lists all the configured graphics consoles of the template.
Table 6.639. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The list of graphics consoles of the template. | |
|
| In | Sets the maximum number of consoles to return. |
6.208.2.1. max
Sets the maximum number of consoles to return. If not specified all the consoles are returned.
6.209. TemplateNic
Table 6.640. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
|
6.209.1. get GET
Table 6.641. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.209.2. remove DELETE
Table 6.642. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.209.3. update PUT
6.210. TemplateNics
Table 6.644. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.210.1. add POST
Table 6.645. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.210.2. list GET
Table 6.646. Parameters summary
6.210.2.1. max
Sets the maximum number of NICs to return. If not specified all the NICs are returned.
6.211. TemplateWatchdog
Table 6.647. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
|
6.211.1. get GET
Table 6.648. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.211.2. remove DELETE
Table 6.649. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.211.3. update PUT
6.212. TemplateWatchdogs
Table 6.651. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.212.1. add POST
Table 6.652. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.212.2. list GET
Table 6.653. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of watchdogs to return. | |
|
| Out |
6.212.2.1. max
Sets the maximum number of watchdogs to return. If not specified all the watchdogs are returned.
6.213. Templates
This service manages the virtual machine templates available in the system.
Table 6.654. Methods summary
| Name | Summary |
|---|---|
|
| Creates a new template. |
|
| Returns the list of virtual machine templates. |
6.213.1. add POST
Creates a new template.
This requires the name and vm elements. Identify the virtual machine with the id name attributes.
POST /ovirt-engine/api/templates
With a request body like this:
<template> <name>mytemplate</name> <vm id="123"/> </template>
The template can be created as a sub version of an existing template.This requires the name and vm attributes for the new template, and the base_template and version_name attributes for the new template version. The base_template and version_name attributes must be specified within a version section enclosed in the template section. Identify the virtual machine with the id or name attributes.
<template>
<name>mytemplate</name>
<vm id="123"/>
<version>
<base_template id="456"/>
<version_name>mytemplate_001</version_name>
</version>
</template>Table 6.655. Parameters summary
6.213.1.1. clone_permissions
Specifies if the permissions of the virtual machine should be copied to the template.
If this optional parameter is provided, and its values is true then the permissions of the virtual machine (only the direct ones, not the inherited ones) will be copied to the created template. For example, to create a template from the myvm virtual machine copying its permissions, send a request like this:
POST /ovirt-engine/api/templates?clone_permissions=true
With a request body like this:
<template>
<name>mytemplate<name>
<vm>
<name>myvm<name>
</vm>
</template>6.213.1.2. seal
Seal the template.
If this optional parameter is provided and its value is true, then the template is sealed after creation.
Sealing erases all host-specific configuration from the filesystem: SSH keys, UDEV rules, MAC addresses, system ID, hostname etc., thus making easy to use the template to create multiple virtual machines without manual intervention.
Currently sealing is supported only for Linux OS.
6.213.2. list GET
Returns the list of virtual machine templates.
For example:
GET /ovirt-engine/api/templates
Will return the list of virtual machines and virtual machine templates.
Table 6.656. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| In | Sets the maximum number of templates to return. | |
|
| In | A query string used to restrict the returned templates. | |
|
| Out | The list of virtual machine templates. |
6.213.2.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.213.2.2. max
Sets the maximum number of templates to return. If not specified all the templates are returned.
6.214. UnmanagedNetwork
Table 6.657. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.214.1. get GET
Table 6.658. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.214.2. remove DELETE
Table 6.659. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.215. UnmanagedNetworks
Table 6.660. Methods summary
| Name | Summary |
|---|---|
|
|
6.215.1. list GET
Table 6.661. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of networks to return. | |
|
| Out |
6.215.1.1. max
Sets the maximum number of networks to return. If not specified all the networks are returned.
6.216. User
A service to manage a user in the system. Use this service to either get users details or remove users. In order to add new users please use Section 6.217, “Users”.
Table 6.662. Methods summary
| Name | Summary |
|---|---|
|
| Gets the system user information. |
|
| Removes the system user. |
6.216.1. get GET
Gets the system user information.
Usage:
GET /ovirt-engine/api/users/1234
Will return the user information:
<user href="/ovirt-engine/api/users/1234" id="1234">
<name>admin</name>
<link href="/ovirt-engine/api/users/1234/sshpublickeys" rel="sshpublickeys"/>
<link href="/ovirt-engine/api/users/1234/roles" rel="roles"/>
<link href="/ovirt-engine/api/users/1234/permissions" rel="permissions"/>
<link href="/ovirt-engine/api/users/1234/tags" rel="tags"/>
<department></department>
<domain_entry_id>23456</domain_entry_id>
<email>user1@domain.com</email>
<last_name>Lastname</last_name>
<namespace>*</namespace>
<principal>user1</principal>
<user_name>user1@domain-authz</user_name>
<domain href="/ovirt-engine/api/domains/45678" id="45678">
<name>domain-authz</name>
</domain>
</user>Table 6.663. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The system user. |
6.216.2. remove DELETE
Removes the system user.
Usage:
DELETE /ovirt-engine/api/users/1234
Table 6.664. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.217. Users
A service to manage the users in the system.
Table 6.665. Methods summary
| Name | Summary |
|---|---|
|
| Add user from a directory service. |
|
| List all the users in the system. |
6.217.1. add POST
Add user from a directory service.
For example, to add the myuser user from the myextension-authz authorization provider send a request like this:
POST /ovirt-engine/api/users
With a request body like this:
<user>
<user_name>myuser@myextension-authz</user_name>
<domain>
<name>myextension-authz</name>
</domain>
</user>
In case you are working with Active Directory you have to pass user principal name (UPN) as username, followed by authorization provider name. Due to bug 1147900 you need to provide also principal parameter set to UPN of the user.
For example, to add the user with UPN myuser@mysubdomain.mydomain.com from the myextension-authz authorization provider send a request body like this:
<user>
<principal>myuser@mysubdomain.mydomain.com</principal>
<user_name>myuser@mysubdomain.mydomain.com@myextension-authz</user_name>
<domain>
<name>myextension-authz</name>
</domain>
</user>Table 6.666. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.217.2. list GET
List all the users in the system.
Usage:
GET /ovirt-engine/api/users
Will return the list of users:
<users>
<user href="/ovirt-engine/api/users/1234" id="1234">
<name>admin</name>
<link href="/ovirt-engine/api/users/1234/sshpublickeys" rel="sshpublickeys"/>
<link href="/ovirt-engine/api/users/1234/roles" rel="roles"/>
<link href="/ovirt-engine/api/users/1234/permissions" rel="permissions"/>
<link href="/ovirt-engine/api/users/1234/tags" rel="tags"/>
<domain_entry_id>23456</domain_entry_id>
<namespace>*</namespace>
<principal>user1</principal>
<user_name>user1@domain-authz</user_name>
<domain href="/ovirt-engine/api/domains/45678" id="45678">
<name>domain-authz</name>
</domain>
</user>
</users>Table 6.667. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| In | Sets the maximum number of users to return. | |
|
| In | A query string used to restrict the returned users. | |
|
| Out | The list of users. |
6.217.2.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.217.2.2. max
Sets the maximum number of users to return. If not specified all the users are returned.
6.218. VirtualFunctionAllowedNetwork
Table 6.668. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.218.1. get GET
Table 6.669. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.218.2. remove DELETE
Table 6.670. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.219. VirtualFunctionAllowedNetworks
Table 6.671. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.219.1. add POST
Table 6.672. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.219.2. list GET
Table 6.673. Parameters summary
6.219.2.1. max
Sets the maximum number of networks to return. If not specified all the networks are returned.
6.220. Vm
Table 6.674. Methods summary
| Name | Summary |
|---|---|
|
| This operation stops any migration of a virtual machine to another physical host. |
|
| |
|
| Permanently restores the virtual machine to the state of the previewed snapshot. |
|
| Detaches a virtual machine from a pool. |
|
| Exports a virtual machine to an export domain. |
|
| Freezes virtual machine file systems. |
|
| Retrieves the description of the virtual machine. |
|
| Initiates the automatic user logon to access a virtual machine from an external console. |
|
| Sets the global maintenance mode on the hosted engine virtual machine. |
|
| Migrates a virtual machine to another physical host. |
|
| Temporarily restores the virtual machine to the state of a snapshot. |
|
| Sends a reboot request to a virtual machine. |
|
| Removes the virtual machine, including the virtual disks attached to it. |
|
| |
|
| This operation sends a shutdown request to a virtual machine. |
|
| Starts the virtual machine. |
|
| This operation forces a virtual machine to power-off. |
|
| This operation saves the virtual machine state to disk and stops it. |
|
| Thaws virtual machine file systems. |
|
| Generates a time-sensitive authentication token for accessing a virtual machine’s display. |
|
| Restores the virtual machine to the state it had before previewing the snapshot. |
|
|
6.220.1. cancelmigration POST
This operation stops any migration of a virtual machine to another physical host.
POST /ovirt-engine/api/vms/123/cancelmigration
The cancel migration action does not take any action specific parameters; therefore, the request body should contain an empty action:
<action/>
Table 6.675. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the migration should cancelled asynchronously. |
6.220.2. clone POST
6.220.3. commitsnapshot POST
Permanently restores the virtual machine to the state of the previewed snapshot.
See the preview_snapshot operation for details.
Table 6.677. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the snapshots should be committed asynchronously. |
6.220.4. detach POST
Detaches a virtual machine from a pool.
POST /ovirt-engine/api/vms/123/detach
The detach action does not take any action specific parameters; therefore, the request body should contain an empty action:
<action/>
Table 6.678. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the detach action should be performed asynchronously. |
6.220.5. export POST
Exports a virtual machine to an export domain.
For example, to export virtual machine 123 to the export domain myexport:
POST /ovirt-engine/api/vms/123/export
With a request body like this:
<action>
<storage_domain>
<name>myexport</name>
</storage_domain>
<exclusive>true</exclusive>
<discard_snapshots>true</discard_snapshots>
</action>Table 6.679. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the export should be performed asynchronously. | |
|
| In |
Use the | |
|
| In |
Use the | |
|
| In |
6.220.6. freezefilesystems POST
Freezes virtual machine file systems.
This operation freezes a virtual machine’s file systems using the QEMU guest agent when taking a live snapshot of a running virtual machine. Normally, this is done automatically by the manager, but this must be executed manually with the API for virtual machines using OpenStack Volume (Cinder) disks.
Example:
POST /ovirt-engine/api/vms/123/freezefilesystems
<action/>
Table 6.680. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the freeze should be performed asynchronously. |
6.220.7. get GET
Retrieves the description of the virtual machine.
Table 6.681. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if all of the attributes of the virtual machine should be included in the response. | |
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| In | Indicates if the returned result describes the virtual machine as it is currently running or if describes the virtual machine with the modifications that have already been performed but that will only come into effect when the virtual machine is restarted. | |
|
| Out | Description of the virtual machine. |
6.220.7.1. all_content
Indicates if all of the attributes of the virtual machine should be included in the response.
By default the following attributes are excluded:
-
console -
initialization.configuration.data- The OVF document describing the virtual machine. -
rng_source -
soundcard -
virtio_scsi
For example, to retrieve the complete representation of the virtual machine '123':
GET /ovirt-engine/api/vms/123?all_content=true
These attributes are not included by default as they reduce performance. These attributes are seldom used and require additional queries to the database. Only use this parameter when required as it will reduce performance.
6.220.7.2. next_run
Indicates if the returned result describes the virtual machine as it is currently running or if describes the virtual machine with the modifications that have already been performed but that will only come into effect when the virtual machine is restarted. By default the value is false.
If the parameter is included in the request, but without a value, it is assumed that the value is true. The the following request:
GET /vms/{vm:id};next_run
Is equivalent to using the value true:
GET /vms/{vm:id};next_run=true6.220.8. logon POST
Initiates the automatic user logon to access a virtual machine from an external console.
This action requires the ovirt-guest-agent-gdm-plugin and the ovirt-guest-agent-pam-module packages to be installed and the ovirt-guest-agent service to be running on the virtual machine.
Users require the appropriate user permissions for the virtual machine in order to access the virtual machine from an external console.
For example:
POST /ovirt-engine/api/vms/123/logon
Request body:
<action/>
Table 6.682. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the logon should be performed asynchronously. |
6.220.9. maintenance POST
Sets the global maintenance mode on the hosted engine virtual machine.
This action has no effect on other virtual machines.
Example:
POST /ovirt-engine/api/vms/123/maintenance
<action> <maintenance_enabled>true<maintenance_enabled/> </action>
6.220.10. migrate POST
Migrates a virtual machine to another physical host.
Example:
POST /ovirt-engine/api/vms/123/migrate
To specify a specific host to migrate the virtual machine to:
<action> <host id="2ab5e1da-b726-4274-bbf7-0a42b16a0fc3"/> </action>
Table 6.684. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the migration should be performed asynchronously. | |
|
| In | Specifies the cluster the virtual machine should migrate to. | |
|
| In | Specifies that the virtual machine should migrate even if the virtual machine is defined as non-migratable. | |
|
| In | Specifies a specific host that the virtual machine should migrate to. |
6.220.10.1. cluster
Specifies the cluster the virtual machine should migrate to. This is an optional parameter. By default, the virtual machine is migrated to another host within the same cluster.
6.220.10.2. force
Specifies that the virtual machine should migrate even if the virtual machine is defined as non-migratable. This is an optional parameter. By default, it is set to false.
6.220.10.3. host
Specifies a specific host that the virtual machine should migrate to. This is an optional parameter. By default, the Red Hat Virtualization Manager automatically selects a default host for migration within the same cluster. If an API user requires a specific host, the user can specify the host with either an id or name parameter.
6.220.11. previewsnapshot POST
Temporarily restores the virtual machine to the state of a snapshot.
The snapshot is indicated with the snapshot.id parameter. It is restored temporarily, so that the content can be inspected. Once that inspection is finished, the state of the virtual machine can be made permanent, using the commit_snapshot method, or discarded using the undo_snapshot method.
6.220.12. reboot POST
Sends a reboot request to a virtual machine.
For example:
POST /ovirt-engine/api/vms/123/reboot
The reboot action does not take any action specific parameters; therefore, the request body should contain an empty action:
<action/>
Table 6.686. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the reboot should be performed asynchronously. |
6.220.13. remove DELETE
Removes the virtual machine, including the virtual disks attached to it.
For example, to remove the virtual machine with identifier 123:
DELETE /ovirt-engine/api/vms/123
Table 6.687. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. | |
|
| In | Indicates if the attached virtual disks should be detached first and preserved instead of being removed. | |
|
| In | Indicates if the virtual machine should be forcibly removed. |
6.220.13.1. force
Indicates if the virtual machine should be forcibly removed.
Locked virtual machines and virtual machines with locked disk images cannot be removed without this flag set to true.
6.220.14. reordermacaddresses POST
Table 6.688. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the action should be performed asynchronously. |
6.220.15. shutdown POST
This operation sends a shutdown request to a virtual machine.
For example:
POST /ovirt-engine/api/vms/123/shutdown
The shutdown action does not take any action specific parameters; therefore, the request body should contain an empty action:
<action/>
Table 6.689. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the shutdown should be performed asynchronously. |
6.220.16. start POST
Starts the virtual machine.
If the virtual environment is complete and the virtual machine contains all necessary components to function, it can be started.
This example starts the virtual machine:
POST /ovirt-engine/api/vms/123/start
With a request body:
<action/>
Table 6.690. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the start action should be performed asynchronously. | |
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| In |
If set to | |
|
| In |
If set to | |
|
| In |
If set to | |
|
| In | The definition of the virtual machine for this specific run. |
6.220.16.1. pause
If set to true, start the virtual machine in paused mode. The default is false.
6.220.16.2. use_cloud_init
If set to true, the initialization type is set to cloud-init. The default value is false. See this for details.
6.220.16.3. use_sysprep
If set to true, the initialization type is set to Sysprep. The default value is false. See this for details.
6.220.16.4. vm
The definition of the virtual machine for this specific run.
For example:
<action>
<vm>
<os>
<boot>
<devices>
<device>cdrom</device>
</devices>
</boot>
</os>
</vm>
</action>This will set the boot device to the CDROM only for this specific start. After the virtual machine is powered off, this definition will be reverted.
6.220.17. stop POST
This operation forces a virtual machine to power-off.
For example:
POST /ovirt-engine/api/vms/123/stop
The stop action does not take any action specific parameters; therefore, the request body should contain an empty action:
<action/>
Table 6.691. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the stop action should be performed asynchronously. |
6.220.18. suspend POST
This operation saves the virtual machine state to disk and stops it. Start a suspended virtual machine and restore the virtual machine state with the start action.
For example:
POST /ovirt-engine/api/vms/123/suspend
The suspend action does not take any action specific parameters; therefore, the request body should contain an empty action:
<action/>
Table 6.692. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the suspend action should be performed asynchronously. |
6.220.19. thawfilesystems POST
Thaws virtual machine file systems.
This operation thaws a virtual machine’s file systems using the QEMU guest agent when taking a live snapshot of a running virtual machine. Normally, this is done automatically by the manager, but this must be executed manually with the API for virtual machines using OpenStack Volume (Cinder) disks.
Example:
POST /api/vms/123/thawfilesystems
<action/>
Table 6.693. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the thaw file systems action should be performed asynchronously. |
6.220.20. ticket POST
Generates a time-sensitive authentication token for accessing a virtual machine’s display.
For example:
POST /ovirt-engine/api/vms/123/ticket
The client-provided action optionally includes a desired ticket value and/or an expiry time in seconds.
The response specifies the actual ticket value and expiry used.
<action>
<ticket>
<value>abcd12345</value>
<expiry>120</expiry>
</ticket>
</action>If the virtual machine is configured to support only one graphics protocol then the generated authentication token will be valid for that protocol. But if the virtual machine is configured to support multiple protocols, VNC and SPICE, then the authentication token will only be valid for the SPICE protocol.
In order to obtain an authentication token for a specific protocol, for example for VNC, use the ticket method of the service, which manages the graphics consoles of the virtual machine, by sending a request:
POST /ovirt-engine/api/vms/123/graphicsconsoles/456/ticket
6.220.21. undosnapshot POST
Restores the virtual machine to the state it had before previewing the snapshot.
See the preview_snapshot operation for details.
Table 6.695. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the undo snapshot action should be performed asynchronously. |
6.220.22. update PUT
Table 6.696. Parameters summary
6.220.22.1. next_run
Indicates if the update should be applied to the virtual machine immediately or if it should be applied only when the virtual machine is restarted. The default value is false, so by default changes are applied immediately.
6.221. VmApplication
A service that provides information about an application installed in a virtual machine.
Table 6.697. Methods summary
| Name | Summary |
|---|---|
|
| Returns the information about the application. |
6.221.1. get GET
Returns the information about the application.
Table 6.698. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The information about the application. | |
|
| In | Indicates if the results should be filtered according to the permissions of the user. |
6.221.1.1. application
The information about the application.
The information consists of name attribute containing the name of the application (which is an arbitrary string that may also contain additional information such as version) and vm attribute identifying the virtual machine.
For example, a request like this:
GET /ovirt-engine/api/vms/123/applications/789
May return information like this:
<application href="/ovirt-engine/api/vms/123/applications/789" id="789"> <name>ovirt-guest-agent-common-1.0.12-3.el7</name> <vm href="/ovirt-engine/api/vms/123" id="123"/> </application>
6.222. VmApplications
A service that provides information about applications installed in a virtual machine.
Table 6.699. Methods summary
| Name | Summary |
|---|---|
|
| Returns a list of applications installed in the virtual machine. |
6.222.1. list GET
Returns a list of applications installed in the virtual machine.
Table 6.700. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | A list of applications installed in the virtual machine. | |
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| In | Sets the maximum number of applications to return. |
6.222.1.1. applications
A list of applications installed in the virtual machine.
For example, a request like this:
GET /ovirt-engine/api/vms/123/applications/
May return a list like this:
<applications>
<application href="/ovirt-engine/api/vms/123/applications/456" id="456">
<name>kernel-3.10.0-327.36.1.el7</name>
<vm href="/ovirt-engine/api/vms/123" id="123"/>
</application>
<application href="/ovirt-engine/api/vms/123/applications/789" id="789">
<name>ovirt-guest-agent-common-1.0.12-3.el7</name>
<vm href="/ovirt-engine/api/vms/123" id="123"/>
</application>
</applications>6.222.1.2. max
Sets the maximum number of applications to return. If not specified all the applications are returned.
6.223. VmCdrom
Manages a CDROM device of a virtual machine.
Changing and ejecting the disk is done using always the update method, to change the value of the file attribute.
Table 6.701. Methods summary
| Name | Summary |
|---|---|
|
| Returns the information about this CDROM device. |
|
| Updates the information about this CDROM device. |
6.223.1. get GET
Returns the information about this CDROM device.
The information consists of cdrom attribute containing reference to the CDROM device, the virtual machine, and optionally the inserted disk.
If there is a disk inserted then the file attribute will contain a reference to the ISO image:
<cdrom href="..." id="00000000-0000-0000-0000-000000000000"> <file id="mycd.iso"/> <vm href="/ovirt-engine/api/vms/123" id="123"/> </cdrom>
If there is no disk inserted then the file attribute won’t be reported:
<cdrom href="..." id="00000000-0000-0000-0000-000000000000"> <vm href="/ovirt-engine/api/vms/123" id="123"/> </cdrom>
Table 6.702. Parameters summary
6.223.1.1. current
Indicates if the operation should return the information for the currently running virtual machine. This parameter is optional, and the default value is false.
6.223.2. update PUT
Updates the information about this CDROM device.
It allows to change or eject the disk by changing the value of the file attribute. For example, to insert or change the disk send a request like this:
PUT /ovirt-engine/api/vms/123/cdroms/00000000-0000-0000-0000-000000000000
The body should contain the new value for the file attribute:
<cdrom> <file id="mycd.iso"/> </cdrom>
The value of the id attribute, mycd.iso in this example, should correspond to a file available in an attached ISO storage domain.
To eject the disk use a file with an empty id:
<cdrom> <file id=""/> </cdrom>
By default the above operations change permanently the disk that will be visible to the virtual machine after the next boot, but they don’t have any effect on the currently running virtual machine. If you want to change the disk that is visible to the current running virtual machine, add the current=true parameter. For example, to eject the current disk send a request like this:
PUT /ovirt-engine/api/vms/123/cdroms/00000000-0000-0000-0000-000000000000?current=true
With a request body like this:
<cdrom> <file id=""/> </cdrom>
The changes made with the current=true parameter are never persisted, so they won’t have any effect after the virtual machine is rebooted.
Table 6.703. Parameters summary
6.223.2.1. current
Indicates if the update should apply to the currently running virtual machine, or to the virtual machine after the next boot. This parameter is optional, and the default value is false, which means that by default the update will have effect only after the next boot.
6.224. VmCdroms
Manages the CDROM devices of a virtual machine.
Currently virtual machines have exactly one CDROM device. No new devices can be added, and the existing one can’t be removed, thus there are no add or remove methods. Changing and ejecting CDROM disks is done with the update method of the service that manages the CDROM device.
Table 6.704. Methods summary
| Name | Summary |
|---|---|
|
| Returns the list of CDROM devices of the virtual machine. |
6.224.1. list GET
Returns the list of CDROM devices of the virtual machine.
Table 6.705. Parameters summary
6.224.1.1. max
Sets the maximum number of CDROMs to return. If not specified all the CDROMs are returned.
6.225. VmDisk
Table 6.706. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| Detach the disk from the virtual machine. |
|
|
6.225.1. activate POST
Table 6.707. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the activation should be performed asynchronously. |
6.225.2. deactivate POST
Table 6.708. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the deactivation should be performed asynchronously. |
6.225.3. export POST
6.225.4. get GET
Table 6.710. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.225.5. move POST
6.225.6. remove DELETE
Detach the disk from the virtual machine.
In version 3 of the API this used to also remove the disk completely from the system, but starting with version 4 it doesn’t. If you need to remove it completely use the remove method of the top level disk service.
Table 6.712. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.225.7. update PUT
6.226. VmDisks
Table 6.714. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.226.1. add POST
Table 6.715. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.226.2. list GET
Table 6.716. Parameters summary
6.226.2.1. max
Sets the maximum number of disks to return. If not specified all the disks are returned.
6.227. VmGraphicsConsole
Table 6.717. Methods summary
| Name | Summary |
|---|---|
|
| Gets graphics console configuration of the virtual machine. |
|
| |
|
|
Generates the file which is compatible with |
|
| Remove the graphics console from the virtual machine. |
|
| Generates a time-sensitive authentication token for accessing this virtual machine’s console. |
6.227.1. get GET
Gets graphics console configuration of the virtual machine.
Table 6.718. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The information about the graphics console of the virtual machine. | |
|
| In | Use the following query to obtain the current run-time configuration of the graphics console. |
6.227.1.1. current
Use the following query to obtain the current run-time configuration of the graphics console.
GET /ovit-engine/api/vms/123/graphicsconsoles/456?current=true
The default value is false.
6.227.2. proxyticket POST
Table 6.719. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the generation of the ticket should be performed asynchronously. | |
|
| Out |
6.227.3. remoteviewerconnectionfile POST
Generates the file which is compatible with remote-viewer client.
Use the following request to generate remote viewer connection file of the graphics console. Note that this action generates the file only if virtual machine is running.
POST /ovirt-engine/api/vms/123/graphicsconsoles/456/remoteviewerconnectionfile
The remoteviewerconnectionfile action does not take any action specific parameters, so the request body should contain an empty action:
<action/>
The response contains the file, which can be used with remote-viewer client.
<action>
<remote_viewer_connection_file>
[virt-viewer]
type=spice
host=192.168.1.101
port=-1
password=123456789
delete-this-file=1
fullscreen=0
toggle-fullscreen=shift+f11
release-cursor=shift+f12
secure-attention=ctrl+alt+end
tls-port=5900
enable-smartcard=0
enable-usb-autoshare=0
usb-filter=null
tls-ciphers=DEFAULT
host-subject=O=local,CN=example.com
ca=...
</remote_viewer_connection_file>
</action>E.g., to fetch the content of remote viewer connection file and save it into temporary file, user can use oVirt Python SDK as follows:
# Find the virtual machine:
vm = vms_service.list(search='name=myvm')[0]
# Locate the service that manages the virtual machine, as that is where
# the locators are defined:
vm_service = vms_service.vm_service(vm.id)
# Find the graphic console of the virtual machine:
graphics_consoles_service = vm_service.graphics_consoles_service()
graphics_console = graphics_consoles_service.list()[0]
# Generate the remote viewer connection file:
console_service = graphics_consoles_service.console_service(graphics_console.id)
remote_viewer_connection_file = console_service.remote_viewer_connection_file()
# Write the content to file "/tmp/remote_viewer_connection_file.vv"
path = "/tmp/remote_viewer_connection_file.vv"
with open(path, "w") as f:
f.write(remote_viewer_connection_file)When you create the remote viewer connection file, then you can connect to virtual machine graphic console, as follows:
#!/bin/sh -ex remote-viewer --ovirt-ca-file=/etc/pki/ovirt-engine/ca.pem /tmp/remote_viewer_connection_file.vv
Table 6.720. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
Contains the file which is compatible with |
6.227.3.1. remote_viewer_connection_file
Contains the file which is compatible with remote-viewer client.
User can use the content of this attribute to create a file, which can be passed to remote-viewer client to connect to virtual machine graphic console.
6.227.4. remove DELETE
Remove the graphics console from the virtual machine.
Table 6.721. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.227.5. ticket POST
Generates a time-sensitive authentication token for accessing this virtual machine’s console.
POST /ovirt-engine/api/vms/123/graphicsconsoles/456/ticket
The client-provided action optionally includes a desired ticket value and/or an expiry time in seconds.
In any case, the response specifies the actual ticket value and expiry used.
<action>
<ticket>
<value>abcd12345</value>
<expiry>120</expiry>
</ticket>
</action>Table 6.722. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The generated ticket that can be used to access this console. |
6.228. VmGraphicsConsoles
Table 6.723. Methods summary
| Name | Summary |
|---|---|
|
| Add new graphics console to the virtual machine. |
|
| Lists all the configured graphics consoles of the virtual machine. |
6.228.1. add POST
Add new graphics console to the virtual machine.
Table 6.724. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.228.2. list GET
Lists all the configured graphics consoles of the virtual machine.
Table 6.725. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The list of graphics consoles of the virtual machine. | |
|
| In | Use the following query to obtain the current run-time configuration of the graphics consoles. | |
|
| In | Sets the maximum number of consoles to return. |
6.228.2.1. current
Use the following query to obtain the current run-time configuration of the graphics consoles.
GET /ovirt-engine/api/vms/123/graphicsconsoles?current=true
The default value is false.
6.228.2.2. max
Sets the maximum number of consoles to return. If not specified all the consoles are returned.
6.229. VmHostDevice
A service to manage individual host device attached to a virtual machine.
Table 6.726. Methods summary
| Name | Summary |
|---|---|
|
| Retrieve information about particular host device attached to given virtual machine. |
|
| Remove the attachment of this host device from given virtual machine. |
6.229.1. get GET
Retrieve information about particular host device attached to given virtual machine.
Example:
GET /ovirt-engine/api/vms/123/hostdevices/456
<host_device href="/ovirt-engine/api/hosts/543/devices/456" id="456">
<name>pci_0000_04_00_0</name>
<capability>pci</capability>
<iommu_group>30</iommu_group>
<placeholder>true</placeholder>
<product id="0x13ba">
<name>GM107GL [Quadro K2200]</name>
</product>
<vendor id="0x10de">
<name>NVIDIA Corporation</name>
</vendor>
<host href="/ovirt-engine/api/hosts/543" id="543"/>
<parent_device href="/ovirt-engine/api/hosts/543/devices/456" id="456">
<name>pci_0000_00_03_0</name>
</parent_device>
<vm href="/ovirt-engine/api/vms/123" id="123"/>
</host_device>Table 6.727. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | Retrieved information about the host device attached to given virtual machine. |
6.229.2. remove DELETE
Remove the attachment of this host device from given virtual machine.
In case this device serves as an IOMMU placeholder, it cannot be removed (remove will result only in setting its placeholder flag to true). Note that all IOMMU placeholder devices will be removed automatically as soon as there will be no more non-placeholder devices (all devices from given IOMMU group are detached).
DELETE /ovirt-engine/api/vms/123/hostdevices/456
Table 6.728. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.230. VmHostDevices
A service to manage host devices attached to a virtual machine.
Table 6.729. Methods summary
| Name | Summary |
|---|---|
|
| Attach target device to given virtual machine. |
|
| List the host devices assigned to given virtual machine. |
6.230.1. add POST
Attach target device to given virtual machine.
Example:
POST /ovirt-engine/api/vms/123/hostdevices
With request body of type HostDevice, for example
<host_device id="123" />
A necessary precondition for a successful host device attachment is that the virtual machine must be pinned to exactly one host. The device ID is then taken relative to this host.
Attachment of a PCI device that is part of a bigger IOMMU group will result in attachment of the remaining devices from that IOMMU group as "placeholders". These devices are then identified using the placeholder attribute of the HostDevice type set to true.
In case you want attach a device that already serves as an IOMMU placeholder, simply issue an explicit Add operation for it, and its placeholder flag will be cleared, and the device will be accessible to the virtual machine.
Table 6.730. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The host device to be attached to given virtual machine. |
6.230.2. list GET
List the host devices assigned to given virtual machine.
Table 6.731. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | Retrieved list of host devices attached to given virtual machine. | |
|
| In | Sets the maximum number of devices to return. |
6.230.2.1. max
Sets the maximum number of devices to return. If not specified all the devices are returned.
6.231. VmNic
Table 6.732. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| |
|
| |
|
| Removes the NIC. |
|
| Updates the NIC. |
6.231.1. activate POST
Table 6.733. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the activation should be performed asynchronously. |
6.231.2. deactivate POST
Table 6.734. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the deactivation should be performed asynchronously. |
6.231.3. get GET
Table 6.735. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.231.4. remove DELETE
Removes the NIC.
For example, to remove the NIC with id 456 from the virtual machine with id 123 send a request like this:
DELETE /ovirt-engine/api/vms/123/nics/456
The hotplugging feature only supports virtual machine operating systems with hotplugging operations. Example operating systems include:
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 5
- Windows Server 2008 and
- Windows Server 2003
Table 6.736. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.231.5. update PUT
Updates the NIC.
For example, to update the NIC having with 456 belonging to virtual the machine with id 123 send a request like this:
PUT /ovirt-engine/api/vms/123/nics/456
With a request body like this:
<nic> <name>mynic</name> <interface>e1000</interface> <vnic_profile id='789'/> </nic>
The hotplugging feature only supports virtual machine operating systems with hotplugging operations. Example operating systems include:
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 5
- Windows Server 2008 and
- Windows Server 2003
6.232. VmNics
Table 6.738. Methods summary
| Name | Summary |
|---|---|
|
| Adds a NIC to the virtual machine. |
|
|
6.232.1. add POST
Adds a NIC to the virtual machine.
The following example adds a network interface named mynic using virtio and the ovirtmgmt network to the virtual machine.
POST /ovirt-engine/api/vms/123/nics
<nic>
<interface>virtio</interface>
<name>mynic</name>
<network>
<name>ovirtmgmt</name>
</network>
</nic>
The following example sends that request using curl:
curl \
--request POST \
--header "Version: 4" \
--header "Content-Type: application/xml" \
--header "Accept: application/xml" \
--user "admin@internal:mypassword" \
--cacert /etc/pki/ovirt-engine/ca.pem \
--data '
<nic>
<name>mynic</name>
<network>
<name>ovirtmgmt</name>
</network>
</nic>
' \
https://myengine.example.com/ovirt-engine/api/vms/123/nicsThe hotplugging feature only supports virtual machine operating systems with hotplugging operations. Example operating systems include:
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 5
- Windows Server 2008 and
- Windows Server 2003
Table 6.739. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.232.2. list GET
Table 6.740. Parameters summary
6.232.2.1. max
Sets the maximum number of NICs to return. If not specified all the NICs are returned.
6.233. VmNumaNode
Table 6.741. Methods summary
| Name | Summary |
|---|---|
|
| |
|
| Removes a virtual NUMA node. |
|
| Updates a virtual NUMA node. |
6.233.1. get GET
Table 6.742. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.233.2. remove DELETE
Removes a virtual NUMA node.
An example of removing a virtual NUMA node:
DELETE /ovirt-engine/api/vms/123/numanodes/456
Table 6.743. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.233.3. update PUT
Updates a virtual NUMA node.
An example of pinning a virtual NUMA node to a physical NUMA node on the host:
PUT /ovirt-engine/api/vms/123/numanodes/456
The request body should contain the following:
<vm_numa_node>
<numa_node_pins>
<numa_node_pin>
<index>0</index>
</numa_node_pin>
</numa_node_pins>
</vm_numa_node>Table 6.744. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out |
6.234. VmNumaNodes
Table 6.745. Methods summary
| Name | Summary |
|---|---|
|
| Creates a new virtual NUMA node for the virtual machine. |
|
| Lists virtual NUMA nodes of a virtual machine. |
6.234.1. add POST
Creates a new virtual NUMA node for the virtual machine.
An example of creating a NUMA node:
POST /ovirt-engine/api/vms/c7ecd2dc/numanodes Accept: application/xml Content-type: application/xml
The request body can contain the following:
<vm_numa_node>
<cpu>
<cores>
<core>
<index>0</index>
</core>
</cores>
</cpu>
<index>0</index>
<memory>1024</memory>
</vm_numa_node>Table 6.746. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.234.2. list GET
Lists virtual NUMA nodes of a virtual machine.
Table 6.747. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of nodes to return. | |
|
| Out |
6.234.2.1. max
Sets the maximum number of nodes to return. If not specified all the nodes are returned.
6.235. VmPool
A service to manage a virtual machines pool.
Table 6.748. Methods summary
| Name | Summary |
|---|---|
|
| This operation allocates a virtual machine in the virtual machine pool. |
|
| Get the virtual machine pool. |
|
| Removes a virtual machine pool. |
|
| Update the virtual machine pool. |
6.235.1. allocatevm POST
This operation allocates a virtual machine in the virtual machine pool.
POST /ovirt-engine/api/vmpools/123/allocatevm
The allocate virtual machine action does not take any action specific parameters, so the request body should contain an empty action:
<action/>
Table 6.749. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the allocation should be performed asynchronously. |
6.235.2. get GET
Get the virtual machine pool.
GET /ovirt-engine/api/vmpools/123
You will get a XML response like that one:
<vm_pool id="123"> <actions>...</actions> <name>MyVmPool</name> <description>MyVmPool description</description> <link href="/ovirt-engine/api/vmpools/123/permissions" rel="permissions"/> <max_user_vms>1</max_user_vms> <prestarted_vms>0</prestarted_vms> <size>100</size> <stateful>false</stateful> <type>automatic</type> <use_latest_template_version>false</use_latest_template_version> <cluster id="123"/> <template id="123"/> <vm id="123">...</vm> ... </vm_pool>
6.235.3. remove DELETE
Removes a virtual machine pool.
DELETE /ovirt-engine/api/vmpools/123
Table 6.751. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.235.4. update PUT
Update the virtual machine pool.
PUT /ovirt-engine/api/vmpools/123
The name, description, size, prestarted_vms and max_user_vms attributes can be updated after the virtual machine pool has been created.
<vmpool> <name>VM_Pool_B</name> <description>Virtual Machine Pool B</description> <size>3</size> <prestarted_vms>1</size> <max_user_vms>2</size> </vmpool>
6.236. VmPools
Provides read-write access to virtual machines pools.
Table 6.753. Methods summary
| Name | Summary |
|---|---|
|
| Creates a new virtual machine pool. |
|
| Get a list of available virtual machines pools. |
6.236.1. add POST
Creates a new virtual machine pool.
A new pool requires the name, cluster and template attributes. Identify the cluster and template with the id or name nested attributes:
POST /ovirt-engine/api/vmpools
With the following body:
<vmpool> <name>mypool</name> <cluster id="123"/> <template id="456"/> </vmpool>
Table 6.754. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | Pool to add. |
6.236.2. list GET
Get a list of available virtual machines pools.
GET /ovirt-engine/api/vmpools
You will receive the following response:
<vm_pools>
<vm_pool id="123">
...
</vm_pool>
...
</vm_pools>Table 6.755. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In |
Indicates if the search performed using the | |
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| In | Sets the maximum number of pools to return. | |
|
| Out | Retrieved pools. | |
|
| In | A query string used to restrict the returned pools. |
6.236.2.1. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.236.2.2. max
Sets the maximum number of pools to return. If this value is not specified, all of the pools are returned.
6.237. VmReportedDevice
Table 6.756. Methods summary
| Name | Summary |
|---|---|
|
|
6.237.1. get GET
Table 6.757. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.238. VmReportedDevices
Table 6.758. Methods summary
| Name | Summary |
|---|---|
|
|
6.238.1. list GET
Table 6.759. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of devices to return. | |
|
| Out |
6.238.1.1. max
Sets the maximum number of devices to return. If not specified all the devices are returned.
6.239. VmSession
Table 6.760. Methods summary
| Name | Summary |
|---|---|
|
|
6.239.1. get GET
Table 6.761. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.240. VmSessions
Provides information about virtual machine user sessions.
Table 6.762. Methods summary
| Name | Summary |
|---|---|
|
| Lists all user sessions for this virtual machine. |
6.240.1. list GET
Lists all user sessions for this virtual machine.
For example, to retrieve the session information for virtual machine 123 send a request like this:
GET /ovirt-engine/api/vms/123/sessions
The response body will contain something like this:
<sessions>
<session href="/ovirt-engine/api/vms/123/sessions/456" id="456">
<console_user>true</console_user>
<ip>
<address>192.168.122.1</address>
</ip>
<user href="/ovirt-engine/api/users/789" id="789"/>
<vm href="/ovirt-engine/api/vms/123" id="123"/>
</session>
...
</sessions>Table 6.763. Parameters summary
6.240.1.1. max
Sets the maximum number of sessions to return. If not specified all the sessions are returned.
6.241. VmWatchdog
A service managing a watchdog on virtual machines.
Table 6.764. Methods summary
| Name | Summary |
|---|---|
|
| Returns the information about the watchdog. |
|
| Removes the watchdog from the virtual machine. |
|
| Updates the information about the watchdog. |
6.241.1. get GET
Returns the information about the watchdog.
Table 6.765. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out | The information about the watchdog. |
6.241.1.1. watchdog
The information about the watchdog.
The information consists of model element, action element and the reference to the virtual machine. It may look like this:
<watchdogs>
<watchdog href="/ovirt-engine/api/vms/123/watchdogs/00000000-0000-0000-0000-000000000000" id="00000000-0000-0000-0000-000000000000">
<vm href="/ovirt-engine/api/vms/123" id="123"/>
<action>poweroff</action>
<model>i6300esb</model>
</watchdog>
</watchdogs>6.241.2. remove DELETE
Removes the watchdog from the virtual machine.
For example, to remove a watchdog from a virtual machine, send a request like this:
DELETE /ovirt-engine/api/vms/123/watchdogs/00000000-0000-0000-0000-000000000000
Table 6.766. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.241.3. update PUT
Updates the information about the watchdog.
You can update the information using action and model elements.
For example, to update a watchdog, send a request like this:
PUT /ovirt-engine/api/vms/123/watchdogs <watchdog> <action>reset</action> </watchdog>
with response body:
<watchdog href="/ovirt-engine/api/vms/123/watchdogs/00000000-0000-0000-0000-000000000000" id="00000000-0000-0000-0000-000000000000"> <vm href="/ovirt-engine/api/vms/123" id="123"/> <action>reset</action> <model>i6300esb</model> </watchdog>
Table 6.767. Parameters summary
6.241.3.1. watchdog
The information about the watchdog.
The request data must contain at least one of model and action elements. The response data contains complete information about the updated watchdog.
6.242. VmWatchdogs
Lists the watchdogs of a virtual machine.
Table 6.768. Methods summary
| Name | Summary |
|---|---|
|
| Adds new watchdog to the virtual machine. |
|
| The list of watchdogs of the virtual machine. |
6.242.1. add POST
Adds new watchdog to the virtual machine.
For example, to add a watchdog to a virtual machine, send a request like this:
POST /ovirt-engine/api/vms/123/watchdogs <watchdog> <action>poweroff</action> <model>i6300esb</model> </watchdog>
with response body:
<watchdog href="/ovirt-engine/api/vms/123/watchdogs/00000000-0000-0000-0000-000000000000" id="00000000-0000-0000-0000-000000000000"> <vm href="/ovirt-engine/api/vms/123" id="123"/> <action>poweroff</action> <model>i6300esb</model> </watchdog>
Table 6.769. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The information about the watchdog. |
6.242.1.1. watchdog
The information about the watchdog.
The request data must contain model element (such as i6300esb) and action element (one of none, reset, poweroff, dump, pause). The response data additionally contains references to the added watchdog and to the virtual machine.
6.242.2. list GET
The list of watchdogs of the virtual machine.
Table 6.770. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of watchdogs to return. | |
|
| Out | The information about the watchdog. |
6.242.2.1. max
Sets the maximum number of watchdogs to return. If not specified all the watchdogs are returned.
6.242.2.2. watchdogs
The information about the watchdog.
The information consists of model element, action element and the reference to the virtual machine. It may look like this:
<watchdogs>
<watchdog href="/ovirt-engine/api/vms/123/watchdogs/00000000-0000-0000-0000-000000000000" id="00000000-0000-0000-0000-000000000000">
<vm href="/ovirt-engine/api/vms/123" id="123"/>
<action>poweroff</action>
<model>i6300esb</model>
</watchdog>
</watchdogs>6.243. Vms
Table 6.771. Methods summary
| Name | Summary |
|---|---|
|
| Creates a new virtual machine. |
|
|
6.243.1. add POST
Creates a new virtual machine.
The virtual machine can be created in different ways:
- From a template. In this case the identifier or name of the template must be provided. For example, using a plain shell script and XML:
#!/bin/sh -ex
url="https://engine.example.com/ovirt-engine/api"
user="admin@internal"
password="..."
curl \
--verbose \
--cacert /etc/pki/ovirt-engine/ca.pem \
--user "${user}:${password}" \
--request POST \
--header "Version: 4" \
--header "Content-Type: application/xml" \
--header "Accept: application/xml" \
--data '
<vm>
<name>myvm</name>
<template>
<name>Blank</name>
</template>
<cluster>
<name>mycluster</name>
</cluster>
</vm>
' \
"${url}/vms"- From a snapshot. In this case the identifier of the snapshot has to be provided. For example, using a plain shel script and XML:
#!/bin/sh -ex
url="https://engine.example.com/ovirt-engine/api"
user="admin@internal"
password="..."
curl \
--verbose \
--cacert /etc/pki/ovirt-engine/ca.pem \
--user "${user}:${password}" \
--request POST \
--header "Content-Type: application/xml" \
--header "Accept: application/xml" \
--data '
<vm>
<name>myvm</name>
<snapshots>
<snapshot id="266742a5-6a65-483c-816d-d2ce49746680"/>
</snapshots>
<cluster>
<name>mycluster</name>
</cluster>
</vm>
' \
"${url}/vms"
When creating a virtual machine from a template or from a snapshot it is usually useful to explicitly indicate in what storage domain to create the disks for the virtual machine. If the virtual machine is created from a template then this is achieved passing a set of disk_attachment elements that indicate the mapping:
<vm>
...
<disk_attachments>
<disk_attachment>
<disk id="8d4bd566-6c86-4592-a4a7-912dbf93c298">
<storage_domains>
<storage_domain id="9cb6cb0a-cf1d-41c2-92ca-5a6d665649c9"/>
</storage_domains>
</disk>
<disk_attachment>
</disk_attachments>
</vm>
When the virtual machine is created from a snapshot this set of disks is slightly different, it uses the image_id attribute instead of id.
<vm>
...
<disk_attachments>
<disk_attachment>
<disk>
<image_id>8d4bd566-6c86-4592-a4a7-912dbf93c298</image_id>
<storage_domains>
<storage_domain id="9cb6cb0a-cf1d-41c2-92ca-5a6d665649c9"/>
</storage_domains>
</disk>
<disk_attachment>
</disk_attachments>
</vm>
It is possible to specify additional virtual machine parameters in the XML description, e.g. a virtual machine of desktop type, with 2 GiB of RAM and additional description can be added sending a request body like the following:
<vm> <name>myvm</name> <description>My Desktop Virtual Machine</description> <type>desktop</type> <memory>2147483648</memory> ... </vm>
A bootable CDROM device can be set like this:
<vm>
...
<os>
<boot dev="cdrom"/>
</os>
</vm>
In order to boot from CDROM, you first need to insert a disk, as described in the CDROM service. Then booting from that CDROM can be specified using the os.boot.devices attribute:
<vm>
...
<os>
<boot>
<devices>
<device>cdrom</device>
</devices>
</boot>
</os>
</vm>In all cases the name or identifier of the cluster where the virtual machine will be created is mandatory.
Table 6.772. Parameters summary
6.243.1.1. clone
Specifies if the virtual machine should be independent of the template.
When a virtual machine is created from a template by default the disks of the virtual machine depend on the disks of the template, they are using the copy on write mechanism so that only the differences from the template take up real storage space. If this parameter is specified and the value is true then the disks of the created virtual machine will be cloned, and independent of the template. For example, to create an independent virtual machine, send a request like this:
POST /ovirt-engine/vms?clone=true
With a request body like this:
<vm>
<name>myvm<name>
<template>
<name>mytemplate<name>
</template>
<cluster>
<name>mycluster<name>
</cluster>
</vm>
When this parameter is true the permissions of the template will also be copied, as when using clone_permissions=true.
6.243.1.2. clone_permissions
Specifies if the permissions of the template should be copied to the virtual machine.
If this optional parameter is provided, and its values is true then the permissions of the template (only the direct ones, not the inherited ones) will be copied to the created virtual machine. For example, to create a virtual machine from the mytemplate template copying its permissions, send a request like this:
POST /ovirt-engine/api/vms?clone_permissions=true
With a request body like this:
<vm>
<name>myvm<name>
<template>
<name>mytemplate<name>
</template>
<cluster>
<name>mycluster<name>
</cluster>
</vm>6.243.2. list GET
Table 6.773. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if all the attributes of the virtual machines should be included in the response. | |
|
| In |
Indicates if the search performed using the | |
|
| In | Indicates if the results should be filtered according to the permissions of the user. | |
|
| In | The maximum number of results to return. | |
|
| In | A query string used to restrict the returned virtual machines. | |
|
| Out |
6.243.2.1. all_content
Indicates if all the attributes of the virtual machines should be included in the response.
By default the following attributes are excluded:
-
console -
initialization.configuration.data- The OVF document describing the virtual machine. -
rng_source -
soundcard -
virtio_scsi
For example, to retrieve the complete representation of the virtual machines send a request like this:
GET /ovirt-engine/api/vms?all_content=true
The reason for not including these attributes is performance: they are seldom used and they require additional queries to the database. So try to use the this parameter only when it is really needed.
6.243.2.2. case_sensitive
Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.
6.244. VnicProfile
This service manages a vNIC profile.
Table 6.774. Methods summary
| Name | Summary |
|---|---|
|
| Retrieves details about a vNIC profile. |
|
| Removes the vNIC profile. |
|
| Updates details of a vNIC profile. |
6.244.1. get GET
Retrieves details about a vNIC profile.
Table 6.775. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| Out |
6.244.2. remove DELETE
Removes the vNIC profile.
Table 6.776. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.244.3. update PUT
Updates details of a vNIC profile.
Table 6.777. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the update should be performed asynchronously. | |
|
| In/Out | The vNIC profile that is being updated. |
6.245. VnicProfiles
This service manages the collection of all vNIC profiles.
Table 6.778. Methods summary
| Name | Summary |
|---|---|
|
| Add a vNIC profile. |
|
| List all vNIC profiles. |
6.245.1. add POST
Add a vNIC profile.
For example to add vNIC profile 123 to network 456 send a request to:
POST /ovirt-engine/api/networks/456/vnicprofiles
With the following body:
<vnic_profile id="123">
<name>new_vNIC_name</name>
<pass_through>
<mode>disabled</mode>
</pass_through>
<port_mirroring>false</port_mirroring>
</vnic_profile>Please note that there is a default network filter to each VNIC profile. For more details of how the default network filter is calculated please refer to the documentation in NetworkFilters.
The output of creating a new VNIC profile depends in the body arguments that were given. In case no network filter was given, the default network filter will be configured. For example:
<vnic_profile href="/ovirt-engine/api/vnicprofiles/123" id="123">
<name>new_vNIC_name</name>
<link href="/ovirt-engine/api/vnicprofiles/123/permissions" rel="permissions"/>
<pass_through>
<mode>disabled</mode>
</pass_through>
<port_mirroring>false</port_mirroring>
<network href="/ovirt-engine/api/networks/456" id="456"/>
<network_filter href="/ovirt-engine/api/networkfilters/789" id="789"/>
</vnic_profile>In case an empty network filter was given, no network filter will be configured for the specific VNIC profile regardless of the VNIC profile’s default network filter. For example:
<vnic_profile> <name>no_network_filter</name> <network_filter/> </vnic_profile>
In case that a specific valid network filter id was given, the VNIC profile will be configured with the given network filter regardless of the VNIC profiles’s default network filter. For example:
<vnic_profile> <name>user_choice_network_filter</name> <network_filter id= "0000001b-001b-001b-001b-0000000001d5"/> </vnic_profile>
Table 6.779. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out | The vNIC profile that is being added. |
6.245.2. list GET
List all vNIC profiles.
Table 6.780. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Sets the maximum number of profiles to return. | |
|
| Out | The list of all vNIC profiles. |
6.245.2.1. max
Sets the maximum number of profiles to return. If not specified all the profiles are returned.
6.246. Weight
Table 6.781. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.246.1. get GET
6.246.2. remove DELETE
Table 6.783. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In | Indicates if the remove should be performed asynchronously. |
6.247. Weights
Table 6.784. Methods summary
| Name | Summary |
|---|---|
|
| |
|
|
6.247.1. add POST
Table 6.785. Parameters summary
| Name | Type | Direction | Summary |
|---|---|---|---|
|
| In/Out |
6.247.2. list GET
Table 6.786. Parameters summary
6.247.2.1. max
Sets the maximum number of weights to return. If not specified all the weights are returned.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.