Red Hat Training
A Red Hat training course is available for Red Hat Virtualization
Chapter 7. Types
This section enumerates all the data types that are available in the API.
7.1. AccessProtocol enum
Table 7.1. Values summary
Name | Summary |
---|---|
| |
| |
|
7.2. Action struct
Table 7.2. Attributes summary
Name | Type | Summary |
---|---|---|
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| Free text containing comments about this object. | |
| ||
| ||
| ||
| A human-readable description in plain text. | |
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| A unique identifier. | |
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| A human-readable name in plain text. | |
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
7.3. AffinityGroup struct
An affinity group represents a group of virtual machines with a defined relationship.
Table 7.3. Attributes summary
Name | Type | Summary |
---|---|---|
| Free text containing comments about this object. | |
| A human-readable description in plain text. | |
| Specifies whether the affinity group uses hard or soft enforcement of the affinity applied to virtual machines that are members of that affinity group. | |
| Specifies the affinity rule applied between virtual machines and hosts that are members of this affinity group. | |
| A unique identifier. | |
| A human-readable name in plain text. | |
| Specifies whether the affinity group applies positive affinity or negative affinity to virtual machines that are members of that affinity group. | |
| Specifies the affinity rule applied to virtual machines that are members of this affinity group. |
7.3.1. enforcing
Specifies whether the affinity group uses hard or soft enforcement of the affinity applied to virtual machines that are members of that affinity group.
Please note that this attribute has been deprecated since version 4.1 of the engine, and will be removed in the future. Use the vms_rule
attribute from now on.
7.3.2. positive
Specifies whether the affinity group applies positive affinity or negative affinity to virtual machines that are members of that affinity group.
Please note that this attribute has been deprecated since version 4.1 of the engine, and will be removed in the future. Use the vms_rule
attribute from now on.
7.4. AffinityLabel struct
The affinity label can influence virtual machine scheduling. It is most frequently used to create a sub-cluster from the available hosts.
Table 7.5. Attributes summary
Name | Type | Summary |
---|---|---|
| Free text containing comments about this object. | |
| A human-readable description in plain text. | |
| A unique identifier. | |
| A human-readable name in plain text. | |
|
The |
7.4.1. read_only
The read_only
property marks a label that can not be modified. This is usually the case when listing internally-generated labels.
7.5. AffinityRule struct
Generic rule definition for affinity group. Each supported resource type (virtual machine, host) is controlled by a separate rule. This allows expressing of rules like: no affinity between defined virtual machines, but hard affinity between defined virtual machines and virtual hosts.
Table 7.7. Attributes summary
Name | Type | Summary |
---|---|---|
| Specifies whether the affinity group uses this rule or not. | |
| Specifies whether the affinity group uses hard or soft enforcement of the affinity applied to the resources that are controlled by this rule. | |
| Specifies whether the affinity group applies positive affinity or negative affinity to the resources that are controlled by this rule. |
7.5.1. enabled
Specifies whether the affinity group uses this rule or not. This attribute is optional during creation and is considered to be true
when it is not provided. In case this attribute is not provided to the update operation, it is considered to be true
if AffinityGroup positive
attribute is set as well. The backend enabled
value will be preserved when both enabled
and positive
attributes are missing.
7.5.2. enforcing
Specifies whether the affinity group uses hard or soft enforcement of the affinity applied to the resources that are controlled by this rule. This argument is mandatory if the rule is enabled and is ignored when the rule is disabled.
7.5.3. positive
Specifies whether the affinity group applies positive affinity or negative affinity to the resources that are controlled by this rule. This argument is mandatory if the rule is enabled and is ignored when the rule is disabled.
7.6. Agent struct
Type representing a fence agent.
Table 7.8. Attributes summary
Name | Type | Summary |
---|---|---|
| Fence agent address. | |
| Free text containing comments about this object. | |
| Specifies whether the agent should be used concurrently or sequentially. | |
| A human-readable description in plain text. | |
| Specifies whether the options should be encrypted. | |
| A unique identifier. | |
| A human-readable name in plain text. | |
| Fence agent options (comma-delimited list of key-value pairs). | |
| The order of this agent if used with other agents. | |
| Fence agent password. | |
| Fence agent port. | |
| Fence agent type. | |
| Fence agent user name. |
Table 7.9. Links summary
Name | Type | Summary |
---|---|---|
| Reference to the host service. |
7.6.1. host
Reference to the host service. Each fence agent belongs to a single host.
7.7. AgentConfiguration struct
7.8. Api struct
This type contains the information returned by the root service of the API.
To get that information send a request like this:
GET /ovirt-engine/api
The result will be like this:
<api> <link rel="hosts" href="/ovirt-engine/api/hosts"/> <link rel="vms" href="/ovirt-engine/api/vms"/> ... <product_info> <name>oVirt Engine</name> <vendor>ovirt.org</vendor> <version> <build>0</build> <full_version>4.1.0_master</full_version> <major>4</major> <minor>1</minor> <revision>0</revision> </version> </product_info> <special_objects> <link rel="templates/blank" href="..."/> <link rel="tags/root" href="..."/> </special_objects> <summary> <vms> <total>10</total> <active>3</active> </vms> <hosts> <total>2</total> <active>2</active> </hosts> <users> <total>8</total> <active>2</active> </users> <storage_domains> <total>2</total> <active>2</active> </storage_domains> </summary> <time>2016-12-12T12:22:25.866+01:00</time> </api>
Table 7.11. Attributes summary
Name | Type | Summary |
---|---|---|
| Information about the product, such as its name, the name of the vendor, and the version. | |
| References to special objects, such as the blank template and the root of the hierarchy of tags. | |
| A summary containing the total number of relevant objects, such as virtual machines, hosts, and storage domains. | |
| The date and time when this information was generated. |
7.9. ApiSummary struct
A summary containing the total number of relevant objects, such as virtual machines, hosts, and storage domains.
Table 7.12. Attributes summary
Name | Type | Summary |
---|---|---|
| The summary of hosts. | |
| The summary of storage domains. | |
| The summary of users. | |
| The summary of virtual machines. |
7.10. ApiSummaryItem struct
This type contains an item of the API summary. Each item contains the total and active number of some kind of object.
7.11. Application struct
Table 7.14. Attributes summary
Table 7.15. Links summary
Name | Type | Summary |
---|---|---|
|
7.12. Architecture enum
Table 7.16. Values summary
Name | Summary |
---|---|
| |
| |
|
7.13. AuthorizedKey struct
Table 7.17. Attributes summary
Table 7.18. Links summary
Name | Type | Summary |
---|---|---|
|
7.14. AutoNumaStatus enum
Table 7.19. Values summary
Name | Summary |
---|---|
| |
| |
|
7.15. Balance struct
Table 7.20. Attributes summary
Table 7.21. Links summary
Name | Type | Summary |
---|---|---|
| ||
|
7.16. Bios struct
Table 7.22. Attributes summary
Name | Type | Summary |
---|---|---|
|
7.17. BlockStatistic struct
Table 7.23. Attributes summary
Name | Type | Summary |
---|---|---|
|
7.18. Bonding struct
Represents a network interfaces bond.
Table 7.24. Attributes summary
7.18.1. ad_partner_mac
The ad_partner_mac
property of the partner bond in mode 4. Bond mode 4 is the 802.3ad standard, which is also called dynamic link aggregation. See Wikipedia and Presentation for more information. ad_partner_mac
is the MAC address of the system (switch) at the other end of a bond. This parameter is read-only. Setting it will have no effect on the bond. It is retrieved from /sys/class/net/bondX/bonding/ad_partner_mac
file on the system where the bond is located.
7.18.2. options
A list of option elements for a bonded interface. Each option contains property name and value attributes. Only required when adding bonded interfaces.
7.18.3. slaves
A list of slave NICs for a bonded interface. Only required when adding bonded interfaces.
Table 7.25. Links summary
Name | Type | Summary |
---|---|---|
|
The |
7.18.4. active_slave
The active_slave
property of the bond in modes that support it (active-backup, balance-alb and balance-tlb). See Linux documentation for further details. This parameter is read-only. Setting it will have no effect on the bond. It is retrieved from /sys/class/net/bondX/bonding/active_slave
file on the system where the bond is located.
For example:
GET /ovirt-engine/api/hosts/123/nics/321
Will respond:
<host_nic href="/ovirt-engine/api/hosts/123/nics/321" id="321"> ... <bonding> <slaves> <host_nic href="/ovirt-engine/api/hosts/123/nics/456" id="456" /> ... </slaves> <active_slave href="/ovirt-engine/api/hosts/123/nics/456" id="456" /> </bonding> ... </host_nic>
7.19. Bookmark struct
7.20. Boot struct
Table 7.27. Attributes summary
Name | Type | Summary |
---|---|---|
|
7.21. BootDevice enum
Table 7.28. Values summary
Name | Summary |
---|---|
| |
| |
|
7.22. BootMenu struct
Table 7.29. Attributes summary
Name | Type | Summary |
---|---|---|
|
7.23. BootProtocol enum
Defines the options of the IP address assignment method to a NIC.
Table 7.30. Values summary
Name | Summary |
---|---|
| Stateless address auto-configuration. |
| Dynamic host configuration protocol. |
| No address configuration. |
| Statically-defined address, mask and gateway. |
7.23.1. autoconf
Stateless address auto-configuration.
The mechanism is defined by RFC 4862. Please refer to this wikipedia article for more information.
The value is valid for IPv6 addresses only.
7.23.2. dhcp
Dynamic host configuration protocol.
Please refer to this wikipedia article for more information.
7.24. BrickProfileDetail struct
Table 7.31. Attributes summary
Name | Type | Summary |
---|---|---|
|
Table 7.32. Links summary
Name | Type | Summary |
---|---|---|
|
7.25. Cdrom struct
Table 7.33. Attributes summary
Table 7.34. Links summary
Name | Type | Summary |
---|---|---|
| Optionally references to an instance type the device is used by. | |
| Optionally references to a template the device is used by. | |
|
Don’t use this element, use | |
| References to the virtual machines that are using this device. |
7.25.1. vms
References to the virtual machines that are using this device. A device may be used by several virtual machines; for example, a shared disk my be used simultaneously by two or more virtual machines.
7.26. Certificate struct
Table 7.35. Attributes summary
7.27. CloudInit struct
Table 7.36. Attributes summary
Name | Type | Summary |
---|---|---|
| ||
| ||
| ||
| ||
| ||
| ||
|
7.28. Cluster struct
Type representation of a cluster.
A JSON representation of a cluster
{ "cluster" : [ { "ballooning_enabled" : "false", "cpu" : { "architecture" : "x86_64", "type" : "Intel SandyBridge Family" }, "custom_scheduling_policy_properties" : { "property" : [ { "name" : "HighUtilization", "value" : "80" }, { "name" : "CpuOverCommitDurationMinutes", "value" : "2" } ] }, "error_handling" : { "on_error" : "migrate" }, "fencing_policy" : { "enabled" : "true", "skip_if_connectivity_broken" : { "enabled" : "false", "threshold" : "50" }, "skip_if_gluster_bricks_up" : "false", "skip_if_gluster_quorum_not_met" : "false", "skip_if_sd_active" : { "enabled" : "false" } }, "gluster_service" : "false", "ha_reservation" : "false", "ksm" : { "enabled" : "true", "merge_across_nodes" : "true" }, "maintenance_reason_required" : "false", "memory_policy" : { "over_commit" : { "percent" : "100" }, "transparent_hugepages" : { "enabled" : "true" } }, "migration" : { "auto_converge" : "inherit", "bandwidth" : { "assignment_method" : "auto" }, "compressed" : "inherit", "policy" : { "id" : "00000000-0000-0000-0000-000000000000" } }, "optional_reason" : "false", "required_rng_sources" : { "required_rng_source" : [ "random" ] }, "switch_type" : "legacy", "threads_as_cores" : "false", "trusted_service" : "false", "tunnel_migration" : "false", "version" : { "major" : "4", "minor" : "1" }, "virt_service" : "true", "data_center" : { "href" : "/ovirt-engine/api/datacenters/123", "id" : "123" }, "mac_pool" : { "href" : "/ovirt-engine/api/macpools/456", "id" : "456" }, "scheduling_policy" : { "href" : "/ovirt-engine/api/schedulingpolicies/789", "id" : "789" }, "actions" : { "link" : [ { "href" : "/ovirt-engine/api/clusters/234/resetemulatedmachine", "rel" : "resetemulatedmachine" } ] }, "name" : "Default", "description" : "The default server cluster", "href" : "/ovirt-engine/api/clusters/234", "id" : "234", "link" : [ { "href" : "/ovirt-engine/api/clusters/234/permissions", "rel" : "permissions" }, { "href" : "/ovirt-engine/api/clusters/234/cpuprofiles", "rel" : "cpuprofiles" }, { "href" : "/ovirt-engine/api/clusters/234/networkfilters", "rel" : "networkfilters" }, { "href" : "/ovirt-engine/api/clusters/234/networks", "rel" : "networks" }, { "href" : "/ovirt-engine/api/clusters/234/affinitygroups", "rel" : "affinitygroups" }, { "href" : "/ovirt-engine/api/clusters/234/glusterhooks", "rel" : "glusterhooks" }, { "href" : "/ovirt-engine/api/clusters/234/glustervolumes", "rel" : "glustervolumes" } ] } ] }
Table 7.37. Attributes summary
Name | Type | Summary |
---|---|---|
| ||
| Free text containing comments about this object. | |
| ||
| Custom scheduling policy properties of the cluster. | |
| A human-readable description in plain text. | |
| ||
| ||
| Custom fencing policy can be defined for a cluster. | |
| ||
| The name of the https://fedorahosted. | |
| ||
| A unique identifier. | |
| ||
| ||
| ||
| ||
| A human-readable name in plain text. | |
| ||
| Set of random number generator (RNG) sources required from each host in the cluster. | |
| ||
| ||
| Type of switch to be used by all networks in given cluster. | |
| ||
| ||
| ||
| The compatibility version of the cluster. | |
|
7.28.1. custom_scheduling_policy_properties
Custom scheduling policy properties of the cluster. These optional properties override the properties of the scheduling policy specified by the scheduling_policy
link, and apply only for this specific cluster.
For example, to update the custom properties of the cluster, send a request:
PUT /ovirt-engine/api/clusters/123
With a request body:
<cluster> <custom_scheduling_policy_properties> <property> <name>HighUtilization</name> <value>70</value> </property> </custom_scheduling_policy_properties> </cluster>
Update operations using the custom_scheduling_policy_properties
attribute will not update the the properties of the scheduling policy specified by the scheduling_policy
link, they will only be reflected on this specific cluster.
7.28.2. fencing_policy
Custom fencing policy can be defined for a cluster.
Here is an example:
PUT /ovirt-engine/api/cluster/123
With request body:
<cluster> <fencing_policy> <enabled>true</enabled> <skip_if_sd_active> <enabled>false</enabled> </skip_if_sd_active> <skip_if_connectivity_broken> <enabled>false</enabled> <threshold>50</threshold> </skip_if_connectivity_broken> </fencing_policy> </cluster>
7.28.3. gluster_tuned_profile
The name of the tuned profile to set on all the hosts in the cluster. This is not mandatory and relevant only for clusters with gluster service.
7.28.4. required_rng_sources
Set of random number generator (RNG) sources required from each host in the cluster.
When read, it returns the implicit urandom
(for cluster version 4.1 and higher) or random
(for cluster version 4.0 and lower) plus additional selected RNG sources. When written, the implicit urandom
and random
RNG sources cannot be removed.
Before version 4.1 of the engine, the set of required random number generators was completely controllable by the administrator; any source could be added or removed, including the random
source. But starting with version 4.1, the urandom
and random
sources will always be part of the set, and can’t be removed.
Engine version 4.1 introduces a new RNG source urandom
that replaces random
RNG source in clusters with compatibility version 4.1 or higher.
7.28.5. version
The compatibility version of the cluster.
All hosts in this cluster must support at least this compatibility version.
For example:
GET /ovirt-engine/api/clusters/123
Will respond:
<cluster> ... <version> <major>4</major> <minor>0</minor> </version> ... </cluster>
To update the compatibility version, use:
PUT /ovirt-engine/api/clusters/123
With a request body:
<cluster> <version> <major>4</major> <minor>1</minor> </version> </cluster>
In order to update the cluster compatibility version, all hosts in the cluster must support the new compatibility version.
Table 7.38. Links summary
Name | Type | Summary |
---|---|---|
| ||
| ||
| ||
| ||
| ||
| A reference to the MAC pool used by this cluster. | |
| ||
| ||
| ||
| ||
| Reference to the default scheduling policy used by this cluster. |
7.28.6. scheduling_policy
Reference to the default scheduling policy used by this cluster.
The scheduling policy properties are taken by default from the referenced scheduling policy, but they are overridden by the properties specified in the custom_scheduling_policy_properties
attribute for this cluster.
7.29. ClusterLevel struct
Describes the capabilities supported by a specific cluster level.
Table 7.39. Attributes summary
Name | Type | Summary |
---|---|---|
| Free text containing comments about this object. | |
| The CPU types supported by this cluster level. | |
| A human-readable description in plain text. | |
| A unique identifier. | |
| A human-readable name in plain text. | |
| The permits supported by this cluster level. |
7.30. Configuration struct
Table 7.40. Attributes summary
Name | Type | Summary |
---|---|---|
| The document describing the virtual machine. | |
|
7.30.1. data
The document describing the virtual machine.
Example of the OVF document:
<?xml version='1.0' encoding='UTF-8'?> <ovf:Envelope xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1/" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ovf:version="3.5.0.0"> <References/> <Section xsi:type="ovf:NetworkSection_Type"> <Info>List of networks</Info> <Network ovf:name="Network 1"/> </Section> <Section xsi:type="ovf:DiskSection_Type"> <Info>List of Virtual Disks</Info> </Section> <Content ovf:id="out" xsi:type="ovf:VirtualSystem_Type"> <CreationDate>2014/12/03 04:25:45</CreationDate> <ExportDate>2015/02/09 14:12:24</ExportDate> <DeleteProtected>false</DeleteProtected> <SsoMethod>guest_agent</SsoMethod> <IsSmartcardEnabled>false</IsSmartcardEnabled> <TimeZone>Etc/GMT</TimeZone> <default_boot_sequence>0</default_boot_sequence> <Generation>1</Generation> <VmType>1</VmType> <MinAllocatedMem>1024</MinAllocatedMem> <IsStateless>false</IsStateless> <IsRunAndPause>false</IsRunAndPause> <AutoStartup>false</AutoStartup> <Priority>1</Priority> <CreatedByUserId>fdfc627c-d875-11e0-90f0-83df133b58cc</CreatedByUserId> <IsBootMenuEnabled>false</IsBootMenuEnabled> <IsSpiceFileTransferEnabled>true</IsSpiceFileTransferEnabled> <IsSpiceCopyPasteEnabled>true</IsSpiceCopyPasteEnabled> <Name>VM_export</Name> <TemplateId>00000000-0000-0000-0000-000000000000</TemplateId> <TemplateName>Blank</TemplateName> <IsInitilized>false</IsInitilized> <Origin>3</Origin> <DefaultDisplayType>1</DefaultDisplayType> <TrustedService>false</TrustedService> <OriginalTemplateId>00000000-0000-0000-0000-000000000000</OriginalTemplateId> <OriginalTemplateName>Blank</OriginalTemplateName> <UseLatestVersion>false</UseLatestVersion> <Section ovf:id="70b4d9a7-4f73-4def-89ca-24fc5f60e01a" ovf:required="false" xsi:type="ovf:OperatingSystemSection_Type"> <Info>Guest Operating System</Info> <Description>other</Description> </Section> <Section xsi:type="ovf:VirtualHardwareSection_Type"> <Info>1 CPU, 1024 Memory</Info> <System> <vssd:VirtualSystemType>ENGINE 3.5.0.0</vssd:VirtualSystemType> </System> <Item> <rasd:Caption>1 virtual cpu</rasd:Caption> <rasd:Description>Number of virtual CPU</rasd:Description> <rasd:InstanceId>1</rasd:InstanceId> <rasd:ResourceType>3</rasd:ResourceType> <rasd:num_of_sockets>1</rasd:num_of_sockets> <rasd:cpu_per_socket>1</rasd:cpu_per_socket> </Item> <Item> <rasd:Caption>1024 MB of memory</rasd:Caption> <rasd:Description>Memory Size</rasd:Description> <rasd:InstanceId>2</rasd:InstanceId> <rasd:ResourceType>4</rasd:ResourceType> <rasd:AllocationUnits>MegaBytes</rasd:AllocationUnits> <rasd:VirtualQuantity>1024</rasd:VirtualQuantity> </Item> <Item> <rasd:Caption>USB Controller</rasd:Caption> <rasd:InstanceId>3</rasd:InstanceId> <rasd:ResourceType>23</rasd:ResourceType> <rasd:UsbPolicy>DISABLED</rasd:UsbPolicy> </Item> </Section> </Content> </ovf:Envelope>
7.31. ConfigurationType enum
Table 7.41. Values summary
Name | Summary |
---|---|
|
7.32. Console struct
Table 7.42. Attributes summary
Name | Type | Summary |
---|---|---|
|
7.33. Core struct
7.34. Cpu struct
Table 7.44. Attributes summary
Name | Type | Summary |
---|---|---|
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
7.35. CpuMode enum
Table 7.45. Values summary
Name | Summary |
---|---|
| |
| |
|
7.36. CpuProfile struct
Table 7.46. Attributes summary
Table 7.47. Links summary
Name | Type | Summary |
---|---|---|
| ||
| ||
|
7.37. CpuTopology struct
7.38. CpuTune struct
Table 7.49. Attributes summary
Name | Type | Summary |
---|---|---|
|
7.39. CpuType struct
Describes a supported CPU type.
Table 7.50. Attributes summary
Name | Type | Summary |
---|---|---|
| The architecture of the CPU. | |
| The level of the CPU type. | |
|
The name of the CPU type, for example |
7.40. CreationStatus enum
Table 7.51. Values summary
Name | Summary |
---|---|
| |
| |
| |
|
7.41. CustomProperty struct
7.42. DataCenter struct
Table 7.53. Attributes summary
Name | Type | Summary |
---|---|---|
| Free text containing comments about this object. | |
| A human-readable description in plain text. | |
| A unique identifier. | |
| ||
| A human-readable name in plain text. | |
| ||
| ||
| ||
| ||
| The compatibility version of the data center. |
7.42.1. version
The compatibility version of the data center.
All clusters in this data center must already be set to at least this compatibility version.
For example:
GET /ovirt-engine/api/datacenters/123
Will respond:
<data_center> ... <version> <major>4</major> <minor>0</minor> </version> ... </data_center>
To update the compatibility version, use:
PUT /ovirt-engine/api/datacenters/123
With a request body:
<data_center> <version> <major>4</major> <minor>1</minor> </version> </data_center>
Table 7.54. Links summary
Name | Type | Summary |
---|---|---|
| Reference to clusters inside this data center. | |
| Reference to ISCSI bonds used by this data center. | |
| Reference to the MAC pool used by this data center. | |
| Reference to networks attached to this data center. | |
| Reference to permissions assigned to this data center. | |
| Reference to quality of service used by this data center. | |
| Reference to quotas assigned to this data center. | |
| Reference to storage domains attached to this data center. |
7.43. DataCenterStatus enum
Table 7.55. Values summary
Name | Summary |
---|---|
| |
| |
| |
| |
| |
|
7.44. Device struct
A device wraps links to potential parents of a device.
Table 7.56. Attributes summary
Table 7.57. Links summary
Name | Type | Summary |
---|---|---|
| Optionally references to an instance type the device is used by. | |
| Optionally references to a template the device is used by. | |
|
Don’t use this element, use | |
| References to the virtual machines that are using this device. |
7.44.1. vms
References to the virtual machines that are using this device. A device may be used by several virtual machines; for example, a shared disk my be used simultaneously by two or more virtual machines.
7.45. Disk struct
Represents a virtual disk device.
Table 7.58. Attributes summary
Name | Type | Summary |
---|---|---|
| Indicates if the disk is visible to the virtual machine. | |
| The actual size of the disk, in bytes. | |
| ||
| Indicates if the disk is marked as bootable. | |
| Free text containing comments about this object. | |
| A human-readable description in plain text. | |
| The underlying storage format. | |
| A unique identifier. | |
| ||
| The initial size of a sparse image disk created on block storage, in bytes. | |
| The type of interface driver used to connect the disk device to the virtual machine. | |
| ||
| ||
| A human-readable name in plain text. | |
| Indicates if disk errors should not cause virtual machine to be paused and, instead, disk errors should be propagated to the the guest operating system. | |
| The virtual size of the disk, in bytes. | |
| The underlying QCOW version of a QCOW volume. | |
| Indicates if the disk is in read-only mode. | |
| ||
| Indicates if the disk can be attached to multiple virtual machines. | |
| Indicates if the physical storage for the disk should not be preallocated. | |
| The status of the disk device. | |
| ||
| ||
| Indicates if the disk’s blocks will be read back as zeros after it is deleted: - On block storage, the disk will be zeroed and only then deleted. |
7.45.1. active
Indicates if the disk is visible to the virtual machine.
When adding a disk attachment to a virtual machine, the server accepts requests that don’t contain this attribute, but the effect is then 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 this attribute with the desired value.
7.45.2. actual_size
The actual size of the disk, in bytes.
The actual size is the number of bytes actually used by the disk, and it will be smaller than the provisioned size for disks that use the cow
format.
7.45.3. bootable
Indicates if the disk is marked as bootable.
This attribute only makes sense for disks that are actually connected to virtual machines, and in version 4 of the API it has been moved to the DiskAttachment type. It is preserved here only for backwards compatibility, and it will be removed in the future.
7.45.4. initial_size
The initial size of a sparse image disk created on block storage, in bytes.
The initial size is the number of bytes a sparse disk is initially allocated with when created on block storage. The initial size will be smaller than the provisioned size. If not specified the default initial size used by the system will be allocated.
7.45.5. interface
The type of interface driver used to connect the disk device to the virtual machine.
This attribute only makes sense for disks that are actually connected to virtual machines, and in version 4 of the API it has been moved to the DiskAttachment type. It is preserved here only for backwards compatibility, and it will be removed in the future.
7.45.6. provisioned_size
The virtual size of the disk, in bytes.
This attribute is mandatory when creating a new disk.
7.45.7. qcow_version
The underlying QCOW version of a QCOW volume. The QCOW version specifies to the qemu which qemu version the volume supports. This field can be updated using the update API and will be reported only for QCOW volumes, it is determined by the storage domain’s version which the disk is created on. Storage domains with version lower than V4 support QCOW2 volumes, while V4 storage domains also support QCOW2v3. For more information about features of the different QCOW versions, see here.
7.45.8. shareable
Indicates if the disk can be attached to multiple virtual machines.
7.45.9. wipe_after_delete
Indicates if the disk’s blocks will be read back as zeros after it is deleted:
- On block storage, the disk will be zeroed and only then deleted.
- On file storage, since the file system already guarantees that previously removed blocks are read back as zeros, the disk will be deleted immediately.
Table 7.59. Links summary
Name | Type | Summary |
---|---|---|
| ||
| Optionally references to an instance type the device is used by. | |
| ||
| ||
| ||
| ||
| Statistics exposed by the disk. | |
| ||
| The storage domains associated with this disk. | |
| Optionally references to a template the device is used by. | |
|
Don’t use this element, use | |
| References to the virtual machines that are using this device. |
7.45.10. statistics
Statistics exposed by the disk. For example:
<statistics> <statistic href="/ovirt-engine/api/disks/123/statistics/456" id="456"> <name>data.current.read</name> <description>Read data rate</description> <kind>gauge</kind> <type>decimal</type> <unit>bytes_per_second</unit> <values> <value> <datum>1052</datum> </value> </values> <disk href="/ovirt-engine/api/disks/123" id="123"/> </statistic> ... </statistics>
These statistics aren’t directly included when the disk is retrieved, only a link. To obtain the statistics follow that link:
GET /ovirt-engine/api/disks/123/statistics
7.45.11. storage_domains
The storage domains associated with this disk.
Only required when the first disk is being added to a virtual machine that was not itself created from a template.
7.45.12. vms
References to the virtual machines that are using this device. A device may be used by several virtual machines; for example, a shared disk my be used simultaneously by two or more virtual machines.
7.46. DiskAttachment struct
Describes how a disk is attached to a virtual machine.
Table 7.60. Attributes summary
Name | Type | Summary |
---|---|---|
| Defines whether the disk is active in the virtual machine it’s attached to. | |
| Defines whether the disk is bootable. | |
| Free text containing comments about this object. | |
| A human-readable description in plain text. | |
| A unique identifier. | |
| The type of interface driver used to connect the disk device to the virtual machine. | |
| The logical name of the virtual machine’s disk, as seen from inside the virtual machine. | |
| A human-readable name in plain text. | |
| Defines whether the virtual machine passes discard commands to the storage. | |
| Indicates whether the disk is connected to the virtual machine as read only. | |
| Defines whether SCSI reservation is enabled for this disk. |
7.46.1. active
Defines whether the disk is active in the virtual machine it’s attached to.
A disk attached to a virtual machine in an active status is connected to the virtual machine at run time and can be used.
7.46.2. logical_name
The logical name of the virtual machine’s disk, as seen from inside the virtual machine.
The logical name of a disk is reported only when the guest agent is installed and running inside the virtual machine.
For example, if the guest operating system is Linux and the disk is connected via a VirtIO interface, the logical name will be reported as /dev/vda
:
<disk_attachment> ... <logical_name>/dev/vda</logical_name> </disk_attachment>
If the guest operating system is Windows, the logical name will be reported as \\.\PHYSICALDRIVE0
.
7.46.3. read_only
Indicates whether the disk is connected to the virtual machine as read only.
When adding a new disk attachment the default value is false
.
<disk_attachment> ... <read_only>true</read_only> </disk_attachment>
7.46.4. uses_scsi_reservation
Defines whether SCSI reservation is enabled for this disk.
Virtual machines with VIRTIO-SCSI passthrough enabled can set persistent SCSI reservations on disks. If they set persistent SCSI reservations, those virtual machines cannot be migrated to a different host because they would lose access to the disk, because SCSI reservations are specific to SCSI initiators, and therefore hosts. This scenario cannot be automatically detected. To avoid migrating these virtual machines, the user can set this attribute to true
, to indicate the virtual machine is using SCSI reservations.
7.47. DiskFormat enum
The underlying storage format of disks.
Table 7.62. Values summary
Name | Summary |
---|---|
| The Copy On Write format allows snapshots, with a small performance overhead. |
| The raw format does not allow snapshots, but offers improved performance. |
7.48. DiskInterface enum
Table 7.63. Values summary
Name | Summary |
---|---|
| |
| |
| |
|
7.49. DiskProfile struct
Table 7.64. Attributes summary
Table 7.65. Links summary
Name | Type | Summary |
---|---|---|
| ||
| ||
|
7.50. DiskSnapshot struct
Table 7.66. Attributes summary
Name | Type | Summary |
---|---|---|
| Indicates if the disk is visible to the virtual machine. | |
| The actual size of the disk, in bytes. | |
| ||
| Indicates if the disk is marked as bootable. | |
| Free text containing comments about this object. | |
| A human-readable description in plain text. | |
| The underlying storage format. | |
| A unique identifier. | |
| ||
| The initial size of a sparse image disk created on block storage, in bytes. | |
| The type of interface driver used to connect the disk device to the virtual machine. | |
| ||
| ||
| A human-readable name in plain text. | |
| Indicates if disk errors should not cause virtual machine to be paused and, instead, disk errors should be propagated to the the guest operating system. | |
| The virtual size of the disk, in bytes. | |
| The underlying QCOW version of a QCOW volume. | |
| Indicates if the disk is in read-only mode. | |
| ||
| Indicates if the disk can be attached to multiple virtual machines. | |
| Indicates if the physical storage for the disk should not be preallocated. | |
| The status of the disk device. | |
| ||
| ||
| Indicates if the disk’s blocks will be read back as zeros after it is deleted: - On block storage, the disk will be zeroed and only then deleted. |
7.50.1. active
Indicates if the disk is visible to the virtual machine.
When adding a disk attachment to a virtual machine, the server accepts requests that don’t contain this attribute, but the effect is then 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 this attribute with the desired value.
7.50.2. actual_size
The actual size of the disk, in bytes.
The actual size is the number of bytes actually used by the disk, and it will be smaller than the provisioned size for disks that use the cow
format.
7.50.3. bootable
Indicates if the disk is marked as bootable.
This attribute only makes sense for disks that are actually connected to virtual machines, and in version 4 of the API it has been moved to the DiskAttachment type. It is preserved here only for backwards compatibility, and it will be removed in the future.
7.50.4. initial_size
The initial size of a sparse image disk created on block storage, in bytes.
The initial size is the number of bytes a sparse disk is initially allocated with when created on block storage. The initial size will be smaller than the provisioned size. If not specified the default initial size used by the system will be allocated.
7.50.5. interface
The type of interface driver used to connect the disk device to the virtual machine.
This attribute only makes sense for disks that are actually connected to virtual machines, and in version 4 of the API it has been moved to the DiskAttachment type. It is preserved here only for backwards compatibility, and it will be removed in the future.
7.50.6. provisioned_size
The virtual size of the disk, in bytes.
This attribute is mandatory when creating a new disk.
7.50.7. qcow_version
The underlying QCOW version of a QCOW volume. The QCOW version specifies to the qemu which qemu version the volume supports. This field can be updated using the update API and will be reported only for QCOW volumes, it is determined by the storage domain’s version which the disk is created on. Storage domains with version lower than V4 support QCOW2 volumes, while V4 storage domains also support QCOW2v3. For more information about features of the different QCOW versions, see here.
7.50.8. shareable
Indicates if the disk can be attached to multiple virtual machines.
7.50.9. wipe_after_delete
Indicates if the disk’s blocks will be read back as zeros after it is deleted:
- On block storage, the disk will be zeroed and only then deleted.
- On file storage, since the file system already guarantees that previously removed blocks are read back as zeros, the disk will be deleted immediately.
Table 7.67. Links summary
Name | Type | Summary |
---|---|---|
| ||
| ||
| Optionally references to an instance type the device is used by. | |
| ||
| ||
| ||
| ||
| Statistics exposed by the disk. | |
| ||
| The storage domains associated with this disk. | |
| Optionally references to a template the device is used by. | |
|
Don’t use this element, use | |
| References to the virtual machines that are using this device. |
7.50.10. statistics
Statistics exposed by the disk. For example:
<statistics> <statistic href="/ovirt-engine/api/disks/123/statistics/456" id="456"> <name>data.current.read</name> <description>Read data rate</description> <kind>gauge</kind> <type>decimal</type> <unit>bytes_per_second</unit> <values> <value> <datum>1052</datum> </value> </values> <disk href="/ovirt-engine/api/disks/123" id="123"/> </statistic> ... </statistics>
These statistics aren’t directly included when the disk is retrieved, only a link. To obtain the statistics follow that link:
GET /ovirt-engine/api/disks/123/statistics
7.50.11. storage_domains
The storage domains associated with this disk.
Only required when the first disk is being added to a virtual machine that was not itself created from a template.
7.50.12. vms
References to the virtual machines that are using this device. A device may be used by several virtual machines; for example, a shared disk my be used simultaneously by two or more virtual machines.
7.51. DiskStatus enum
Table 7.68. Values summary
Name | Summary |
---|---|
| |
| |
|
7.52. DiskStorageType enum
Table 7.69. Values summary
Name | Summary |
---|---|
| |
| |
|
7.53. DiskType enum
Table 7.70. Values summary
Name | Summary |
---|---|
| |
|
7.54. Display struct
Table 7.71. Attributes summary
Name | Type | Summary |
---|---|---|
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
7.55. DisplayType enum
Table 7.72. Values summary
Name | Summary |
---|---|
| |
|
7.56. Dns struct
Represents the DNS resolver configuration.
7.57. DnsResolverConfiguration struct
Represents the DNS resolver configuration.
Table 7.74. Attributes summary
Name | Type | Summary |
---|---|---|
| Array of addresses of name servers. |
7.57.1. name_servers
Array of addresses of name servers. Either IPv4 or IPv6 addresses may be specified.
7.58. Domain struct
This type represents a directory service domain.
Table 7.75. Attributes summary
Table 7.76. Links summary
7.58.1. users
A reference to a list of all users in the directory service. This information is used to add new users to the Red Hat Virtualization environment.
7.59. EntityExternalStatus enum
Type representing an external entity status.
Table 7.77. Values summary
Name | Summary |
---|---|
| The external entity status is erroneous. |
| The external entity has an issue that causes failures. |
| There external entity status is okay but with some information that might be relevant. |
| The external entity status is okay. |
| The external entity status is okay but with an issue that might require attention. |
7.59.1. error
The external entity status is erroneous. This might require a moderate attention.
7.59.2. failure
The external entity has an issue that causes failures. This might require immediate attention.
7.60. EntityProfileDetail struct
Table 7.78. Attributes summary
Name | Type | Summary |
---|---|---|
|
7.61. ErrorHandling struct
Table 7.79. Attributes summary
Name | Type | Summary |
---|---|---|
|
7.62. Event struct
Type representing an event.
Table 7.80. Attributes summary
Name | Type | Summary |
---|---|---|
| The event code. | |
| Free text containing comments about this object. | |
| The event correlation identifier. | |
| Free text representing custom event data. | |
| A custom event identifier. | |
| A human-readable description in plain text. | |
| Defines the flood rate. | |
| A unique identifier. | |
| A human-readable name in plain text. | |
| Free text identifying the origin of the event. | |
| The event severity. | |
| The event time. |
7.62.1. correlation_id
The event correlation identifier. Used in order to correlate several events together.
7.62.2. flood_rate
Defines the flood rate. This prevents flooding in case an event appeared more than once in the defined rate. Defaults is 30 seconds.
Table 7.81. Links summary
Name | Type | Summary |
---|---|---|
| Reference to the cluster service. | |
| Reference to the data center service. | |
| Reference to the host service. | |
| Reference to the storage domain service. | |
| Reference to the template service. | |
| Reference to the user service. | |
| Reference to the virtual machine service. |
7.62.3. cluster
Reference to the cluster service. Event can be associated with a cluster.
7.62.4. data_center
Reference to the data center service. Event can be associated with a data center.
7.62.5. host
Reference to the host service. Event can be associated with a host.
7.62.6. storage_domain
Reference to the storage domain service. Event can be associated with a storage domain.
7.62.7. template
Reference to the template service. Event can be associated with a template.
7.62.8. user
Reference to the user service. Event can be associated with a user.
7.62.9. vm
Reference to the virtual machine service. Event can be associated with a virtual machine.
7.63. ExternalComputeResource struct
Table 7.82. Attributes summary
Table 7.83. Links summary
Name | Type | Summary |
---|---|---|
|
7.64. ExternalDiscoveredHost struct
Table 7.84. Attributes summary
Table 7.85. Links summary
Name | Type | Summary |
---|---|---|
|
7.65. ExternalHost struct
Table 7.86. Attributes summary
Table 7.87. Links summary
Name | Type | Summary |
---|---|---|
|
7.66. ExternalHostGroup struct
Table 7.88. Attributes summary
Name | Type | Summary |
---|---|---|
| ||
| Free text containing comments about this object. | |
| A human-readable description in plain text. | |
| ||
| A unique identifier. | |
| A human-readable name in plain text. | |
| ||
|
Table 7.89. Links summary
Name | Type | Summary |
---|---|---|
|
7.67. ExternalHostProvider struct
Table 7.90. Attributes summary
Name | Type | Summary |
---|---|---|
| Defines the external provider authentication URL address. | |
| Free text containing comments about this object. | |
| A human-readable description in plain text. | |
| A unique identifier. | |
| A human-readable name in plain text. | |
| Defines password for the user during the authentication process. | |
| Array of provider name/value properties. | |
| Defines whether provider authentication is required or not. | |
| Defines URL address of the external provider. | |
| Defines user name to be used during authentication process. |
7.67.1. requires_authentication
Defines whether provider authentication is required or not.
If authentication is required, both username
and password
attributes will be used during authentication.
Table 7.91. Links summary
Name | Type | Summary |
---|---|---|
| ||
| ||
| ||
| ||
|
7.68. ExternalProvider struct
Represents an external provider.
Table 7.92. Attributes summary
Name | Type | Summary |
---|---|---|
| Defines the external provider authentication URL address. | |
| Free text containing comments about this object. | |
| A human-readable description in plain text. | |
| A unique identifier. | |
| A human-readable name in plain text. | |
| Defines password for the user during the authentication process. | |
| Array of provider name/value properties. | |
| Defines whether provider authentication is required or not. | |
| Defines URL address of the external provider. | |
| Defines user name to be used during authentication process. |
7.68.1. requires_authentication
Defines whether provider authentication is required or not.
If authentication is required, both username
and password
attributes will be used during authentication.
7.69. ExternalStatus enum
Table 7.93. Values summary
Name | Summary |
---|---|
| |
| |
| |
| |
|
7.70. ExternalSystemType enum
Represents the type of the external system that is associated with the step
.
Table 7.94. Values summary
Name | Summary |
---|---|
|
Represents |
|
Represents |
7.71. ExternalVmImport struct
Describes the parameters for the virtual machine import operation from an external system.
Table 7.95. Attributes summary
Name | Type | Summary |
---|---|---|
| The name of the virtual machine to be imported, as is defined within the external system. | |
| The password to authenticate against the external hypervisor system. | |
| The type of external virtual machine provider. | |
|
Specifies the disk allocation policy of the resulting virtual machine: | |
|
The URL to be passed to the | |
| The username to authenticate against the external hypervisor system. |
7.71.1. url
The URL to be passed to the virt-v2v
tool for conversion.
Example:
vpx://wmware_user@vcenter-host/DataCenter/Cluster/esxi-host?no_verify=1
More examples can be found at http://libguestfs.org/virt-v2v.1.html.
Table 7.96. Links summary
Name | Type | Summary |
---|---|---|
| Specifies the target cluster for the resulting virtual machine. | |
| Optional. | |
| Optional. | |
| Optional. | |
| Optional. | |
| Specifies the target storage domain for converted disks. | |
| The virtual machine entity used to specify a name for the newly created virtual machine. |
7.71.2. cpu_profile
Optional. Specifies the CPU profile of the resulting virtual machine.
7.71.3. drivers_iso
Optional. The name of the ISO containing drivers that can be used during the virt-v2v
conversion process.
7.71.4. host
Optional. Specifies the host (using host’s ID) to be used for the conversion process. If not specified, one is selected automatically.
7.71.5. quota
Optional. Specifies the quota that will be applied to the resulting virtual machine.
7.71.6. vm
The virtual machine entity used to specify a name for the newly created virtual machine.
If a name is not specified, the source virtual machine name will be used.
7.72. ExternalVmProviderType enum
Describes the type of external hypervisor system.
Table 7.97. Values summary
Name | Summary |
---|---|
| |
| |
|