This reference documentation describes the xml-rpc methods exposed by OpenNebula. Each description consists of the method name and the input and output values.
All xml-rpc responses share a common structure.
Type | Data Type | Description |
OUT | Boolean | True or false whenever is successful or not. |
OUT | String | If an error occurs this is the error message. |
OUT | Int | Error code. |
The output will always consist of three values. The first and third ones are fixed, but the second one will contain the String error message only in case of failure. If the method is successful, the returned value may be of another Data Type.
The Error Code will contain one of the following values:
Value | Code | |
0x0000 | SUCCESS | Success response. |
0x0100 | AUTHENTICATION | User could not be authenticated. |
0x0200 | AUTHORIZATION | User is not authorized to perform the requested action. |
0x0400 | NO_EXISTS | The requested resource does not exist. |
0x0800 | ACTION | |
0x1000 | XML_RPC_API | |
0x2000 | INTERNAL | |
All methods expect a session string associated to the connected user as the first parameter. It has to be formed with the contents of the ONE_AUTH file, which will be <username>:<password>
with the default 'core' auth driver.
Each XML-RPC request has to be authenticated and authorized. See the Auth Subsystem documentation for more information.
The information strings returned by the one.*.info
methods are XML-formatted. The complete XML Schemas (XSD) reference is included at the end of this page. We encourage you to use the -x
option of the command line interface to collect sample outputs from your own infrastructure.
The methods that accept XML templates require the root element to be TEMPLATE. For instance, this template:
NAME = abc
MEMORY = 1024
ATT1 = value1
Can be also given to OpenNebula with the following XML:
<TEMPLATE>
<NAME>abc</NAME>
<MEMORY>1024</MEMORY>
<ATT1>value1</ATT1>
</TEMPLATE>
inlinetoc
Authorization Requests Reference
For each XML-RPC request, the session token is authenticated, and after that the Request Manager generates an authorization request that can include more than one operation. The following tables document these requests.
onevm
The deploy action requires the user issuing the command to have VM:ADMIN rights. This user will usually be the scheduler with the oneadmin credentials.
The scheduler deploys VMs to the Hosts over which the VM owner has MANAGE rights.
onetemplate
onehost
onehost sync is not performed by the core, it is done by the ruby command onehost.
onecluster
onegroup
onevnet
oneuser
onedatastore
oneimage
oneacl
oneacct
documents
system
Actions for Templates Management
one.template.allocate
Type | Data Type | Description |
IN | String | The session string. |
IN | String | A string containing the template contents. Syntax can be the usual “attribute=value” or XML. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The allocated resource ID / The error string. |
OUT | Int | Error code. |
one.template.clone
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The ID of the template to be cloned. |
IN | String | Name for the new template. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The new template ID / The error string. |
OUT | Int | Error code. |
one.template.delete
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.template.instantiate
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | Name for the new VM instance. If it is an empty string, OpenNebula will assign one automatically. |
IN | Boolean | False to create the VM on pending (default), True to create it on hold. |
IN | String | A string containing an extra template to be merged with the one being instantiated. It can be empty. Syntax can be the usual “attribute=value” or XML. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The new virtual machine ID / The error string. |
OUT | Int | Error code. |
one.template.update
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new template contents. Syntax can be the usual “attribute=value” or XML. |
IN | Int | Update type: 0: replace the whole template. 1: Merge new template with the existing one. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.template.chmod
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | USER USE bit. If set to -1, it will not change. |
IN | Int | USER MANAGE bit. If set to -1, it will not change. |
IN | Int | USER ADMIN bit. If set to -1, it will not change. |
IN | Int | GROUP USE bit. If set to -1, it will not change. |
IN | Int | GROUP MANAGE bit. If set to -1, it will not change. |
IN | Int | GROUP ADMIN bit. If set to -1, it will not change. |
IN | Int | OTHER USE bit. If set to -1, it will not change. |
IN | Int | OTHER MANAGE bit. If set to -1, it will not change. |
IN | Int | OTHER ADMIN bit. If set to -1, it will not change. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.template.chown
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | The User ID of the new owner. If set to -1, the owner is not changed. |
IN | Int | The Group ID of the new group. If set to -1, the group is not changed. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.template.rename
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new name. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The VM ID / The error string. |
OUT | Int | Error code. |
one.template.info
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
one.templatepool.info
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | Filter flag
- < = -3: Connected user's resources
- -2: All resources
- -1: Connected user's and his group's resources
- > = 0: UID User's Resources |
IN | Int | Range start ID. Can be -1. |
IN | Int | Range end ID. Can be -1. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
The range can be used to retrieve a subset of the pool, from the 'start' to the 'end' ID. To retrieve the complete pool, use (-1, -1)
; to retrieve all the pool from a specific ID to the last one, use (<id>, -1)
, and to retrieve the first elements up to an ID, use (0, <id>)
.
Actions for Virtual Machine Management
The VM Life Cycle is explained in this diagram:.
It contains all the LifeCycleManager states, and the transitions triggered by the onevm commands. It is intended to be consulted by developers.
The simplified diagram used in the Virtual Machine Instances documentation uses a smaller number of state names. These names are the ones used by onevm list, e.g. prolog, prolog_migrate and prolog_resume are all presented as “prol”. It is intended as a reference for end-users.
one.vm.allocate
Type | Data Type | Description |
IN | String | The session string. |
IN | String | A string containing the template for the vm. Syntax can be the usual “attribute=value” or XML. |
IN | Boolean | False to create the VM on pending (default), True to create it on hold. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The allocated resource ID / The error string. |
OUT | Int | Error code. |
one.vm.deploy
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | The Host ID of the target host where the VM will be deployed. |
IN | Boolean | true to enforce the Host capacity is not overcommitted. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The VM ID / The error string. |
OUT | Int | Error code. |
one.vm.action
Type | Data Type | Description |
IN | String | The session string. |
IN | String | the action name to be performed, see below. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The VM ID / The error string. |
OUT | Int | Error code. |
The action String must be one of the following:
Action | Description |
shutdown | |
shutdown-hard | |
hold | |
release | |
stop | |
suspend | |
resume | |
boot | |
delete | |
delete-recreate | |
reboot | |
reboot-hard | |
resched | |
unresched | |
poweroff | |
poweroff-hard | |
undeploy | |
undeploy-hard | |
one.vm.migrate
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | the target host id (hid) where we want to migrate the vm. |
IN | Boolean | if true we are indicating that we want livemigration, otherwise false. |
IN | Boolean | true to enforce the Host capacity is not overcommitted. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The VM ID / The error string. |
OUT | Int | Error code. |
one.vm.savedisk
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | Disk ID of the disk we want to save. |
IN | String | Name for the new Image where the disk will be saved. |
IN | String | Type for the new Image. If it is an empty string, then the default one will be used. See the existing types in the Image template reference. |
IN | Boolean | True to save the disk immediately, false will perform the operation when the VM shuts down. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The new allocated Image ID / The error string. |
OUT | Int | Error code. |
one.vm.attach
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | A string containing a single DISK vector attribute. Syntax can be the usual “attribute=value” or XML. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The VM ID / The error string. |
OUT | Int | Error code. |
one.vm.detach
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | The disk ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The VM ID / The error string. |
OUT | Int | Error code. |
one.vm.attachnic
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | A string containing a single NIC vector attribute. Syntax can be the usual “attribute=value” or XML. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The VM ID / The error string. |
OUT | Int | Error code. |
one.vm.detachnic
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | The nic ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The VM ID / The error string. |
OUT | Int | Error code. |
one.vm.chmod
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | USER USE bit. If set to -1, it will not change. |
IN | Int | USER MANAGE bit. If set to -1, it will not change. |
IN | Int | USER ADMIN bit. If set to -1, it will not change. |
IN | Int | GROUP USE bit. If set to -1, it will not change. |
IN | Int | GROUP MANAGE bit. If set to -1, it will not change. |
IN | Int | GROUP ADMIN bit. If set to -1, it will not change. |
IN | Int | OTHER USE bit. If set to -1, it will not change. |
IN | Int | OTHER MANAGE bit. If set to -1, it will not change. |
IN | Int | OTHER ADMIN bit. If set to -1, it will not change. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.vm.chown
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | The User ID of the new owner. If set to -1, the owner is not changed. |
IN | Int | The Group ID of the new group. If set to -1, the group is not changed. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.vm.rename
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new name. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The VM ID / The error string. |
OUT | Int | Error code. |
one.vm.snapshotcreate
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new snapshot name. It can be empty. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The new snapshot ID / The error string. |
OUT | Int | Error code. |
one.vm.snapshotrevert
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | The snapshot ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The VM ID / The error string. |
OUT | Int | Error code. |
one.vm.snapshotdelete
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | The snapshot ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The VM ID / The error string. |
OUT | Int | Error code. |
one.vm.resize
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | Template containing the new capacity elements CPU, VCPU, MEMORY. If one of them is not present, or its value is 0, it will not be resized. |
IN | Boolean | true to enforce the Host capacity is not overcommitted. This parameter is only acknoledged for users in the oneadmin group, Host capacity will be always enforced for regular users. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The VM ID / The error string. |
OUT | Int | Error code. |
one.vm.update
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new user template contents. Syntax can be the usual “attribute=value” or XML. |
IN | Int | Update type: 0: Replace the whole template. 1: Merge new template with the existing one. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.vm.recover
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Boolean | Recover the VM by succeeding (true) of failing (false) the pending action |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.vm.info
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
one.vm.monitoring
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The monitoring information string / The error string. |
OUT | Int | Error code. |
The monitoring information returned is a list of VM elements. Each VM element contains the complete xml of the VM with the updated information returned by the poll action.
For example:
<MONITORING_DATA>
<VM>
...
<LAST_POLL>123</LAST_POLL>
...
</VM>
<VM>
...
<LAST_POLL>456</LAST_POLL>
...
</VM>
</MONITORING_DATA>
one.vmpool.info
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | Filter flag
- < = -3: Connected user's resources
- -2: All resources
- -1: Connected user's and his group's resources
- > = 0: UID User's Resources |
IN | Int | Range start ID. Can be -1. |
IN | Int | Range end ID. Can be -1. |
IN | Int | VM state to filter by. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
The range can be used to retrieve a subset of the pool, from the 'start' to the 'end' ID. To retrieve the complete pool, use (-1, -1)
; to retrieve all the pool from a specific ID to the last one, use (<id>, -1)
, and to retrieve the first elements up to an ID, use (0, <id>)
.
The state filter can be one of the following:
Value | State |
-2 | Any state, including DONE |
-1 | Any state, except DONE |
0 | INIT |
1 | PENDING |
2 | HOLD |
3 | ACTIVE |
4 | STOPPED |
5 | SUSPENDED |
6 | DONE |
7 | FAILED |
one.vmpool.monitoring
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | Filter flag
- < = -3: Connected user's resources
- -2: All resources
- -1: Connected user's and his group's resources
- > = 0: UID User's Resources |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
See one.vm.monitoring.
Sample output:
<MONITORING_DATA>
<VM>
<ID>0</ID>
<LAST_POLL>123</LAST_POLL>
...
</VM>
<VM>
<ID>0</ID>
<LAST_POLL>456</LAST_POLL>
...
</VM>
<VM>
<ID>3</ID>
<LAST_POLL>123</LAST_POLL>
...
</VM>
<VM>
<ID>3</ID>
<LAST_POLL>456</LAST_POLL>
...
</VM>
</MONITORING_DATA>
one.vmpool.accounting
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | Filter flag
- < = -3: Connected user's resources
- -2: All resources
- -1: Connected user's and his group's resources
- > = 0: UID User's Resources |
IN | Int | Start time for the time interval. Can be -1, in which case the time interval won't have a left boundary. |
IN | Int | End time for the time interval. Can be -1, in which case the time interval won't have a right boundary. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
The XML output is explained in detail in the accounting''oneacct'' guide.
Actions for Hosts Management
one.host.allocate
Type | Data Type | Description |
IN | String | The session string. |
IN | String | Hostname of the machine we want to add |
IN | String | The name of the information manager (im_mad_name), this values are taken from the oned.conf with the tag name IM_MAD (name) |
IN | String | The name of the virtual machine manager mad name (vmm_mad_name), this values are taken from the oned.conf with the tag name VM_MAD (name) |
IN | String | The name of the virtual network manager mad name (vnm_mad_name), see the Networking Subsystem documentation |
IN | Int | The cluster ID. If it is -1, this host won't be added to any cluster. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The allocated Host ID / The error string. |
OUT | Int | Error code. |
one.host.delete
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.host.enable
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The Host ID. |
IN | Boolean | Set it to true/false to enable or disable the target Host. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.host.update
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new template contents. Syntax can be the usual “attribute=value” or XML. |
IN | Int | Update type: 0: Replace the whole template. 1: Merge new template with the existing one. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.host.info
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
one.host.monitoring
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The monitoring information string / The error string. |
OUT | Int | Error code. |
The monitoring information returned is a list of HOST elements. Each HOST element contains the complete xml of the host with the updated information returned by the poll action.
For example:
<MONITORING_DATA>
<HOST>
...
<LAST_MON_TIME>123</LAST_MON_TIME>
...
</HOST>
<HOST>
...
<LAST_MON_TIME>456</LAST_MON_TIME>
...
</HOST>
</MONITORING_DATA>
one.hostpool.info
Type | Data Type | Description |
IN | String | The session string. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
one.hostpool.monitoring
Type | Data Type | Description |
IN | String | The session string. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
See one.host.monitoring.
Sample output:
<MONITORING_DATA>
<HOST>
<ID>0</ID>
<LAST_MON_TIME>123</LAST_MON_TIME>
...
</HOST>
<HOST>
<ID>0</ID>
<LAST_MON_TIME>456</LAST_MON_TIME>
...
</HOST>
<HOST>
<ID>3</ID>
<LAST_MON_TIME>123</LAST_MON_TIME>
...
</HOST>
<HOST>
<ID>3</ID>
<LAST_MON_TIME>456</LAST_MON_TIME>
...
</HOST>
</MONITORING_DATA>
Actions for Cluster Management
one.cluster.allocate
Type | Data Type | Description |
IN | String | The session string. |
IN | String | Name for the new cluster. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The allocated cluster ID / The error string. |
OUT | Int | Error code. |
one.cluster.delete
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.cluster.update
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new template contents. Syntax can be the usual “attribute=value” or XML. |
IN | Int | Update type: 0: Replace the whole template. 1: Merge new template with the existing one. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.cluster.addhost
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The cluster ID. |
IN | Int | The host ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.cluster.delhost
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The cluster ID. |
IN | Int | The host ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.cluster.adddatastore
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The cluster ID. |
IN | Int | The datastore ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.cluster.deldatastore
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The cluster ID. |
IN | Int | The datastore ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.cluster.addvnet
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The cluster ID. |
IN | Int | The vnet ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.cluster.delvnet
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The cluster ID. |
IN | Int | The vnet ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.cluster.info
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
one.clusterpool.info
Type | Data Type | Description |
IN | String | The session string. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
Actions for Virtual Network Management
one.vn.allocate
Type | Data Type | Description |
IN | String | The session string. |
IN | String | A string containing the template of the virtual network. Syntax can be the usual “attribute=value” or XML. |
IN | Int | The cluster ID. If it is -1, this virtual network won't be added to any cluster. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The allocated resource ID / The error string. |
OUT | Int | Error code. |
one.vn.delete
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.vn.addleases
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | template of the lease to add. Syntax can be the usual “attribute=value” or XML, see below. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
Examples of valid templates:
LEASES=[IP=192.168.0.5]
LEASES=[IP=192.168.0.5, MAC=50:20:20:20:20:20]
<TEMPLATE>
<LEASES>
<IP>192.168.0.5</IP>
</LEASES>
</TEMPLATE>
<TEMPLATE>
<LEASES>
<IP>192.168.0.5</IP>
<MAC>MAC=50:20:20:20:20:20</MAC>
</LEASES>
</TEMPLATE>
one.vn.rmleases
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | template of the lease to remove. Syntax can be the usual “attribute=value” or XML, see one.vn.addleases. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.vn.hold
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | template of the lease to hold, e.g. “LEASES=[IP=192.168.0.5]”. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.vn.release
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | template of the lease to release, e.g. “LEASES=[IP=192.168.0.5]”. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.vn.update
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new template contents. Syntax can be the usual “attribute=value” or XML. |
IN | Int | Update type: 0: Replace the whole template. 1: Merge new template with the existing one. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.vn.chmod
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | USER USE bit. If set to -1, it will not change. |
IN | Int | USER MANAGE bit. If set to -1, it will not change. |
IN | Int | USER ADMIN bit. If set to -1, it will not change. |
IN | Int | GROUP USE bit. If set to -1, it will not change. |
IN | Int | GROUP MANAGE bit. If set to -1, it will not change. |
IN | Int | GROUP ADMIN bit. If set to -1, it will not change. |
IN | Int | OTHER USE bit. If set to -1, it will not change. |
IN | Int | OTHER MANAGE bit. If set to -1, it will not change. |
IN | Int | OTHER ADMIN bit. If set to -1, it will not change. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.vn.chown
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | The User ID of the new owner. If set to -1, the owner is not changed. |
IN | Int | The Group ID of the new group. If set to -1, the group is not changed. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.vn.rename
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new name. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The VM ID / The error string. |
OUT | Int | Error code. |
one.vn.info
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
one.vnpool.info
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | Filter flag
- < = -3: Connected user's resources
- -2: All resources
- -1: Connected user's and his group's resources
- > = 0: UID User's Resources |
IN | Int | Range start ID. Can be -1. |
IN | Int | Range end ID. Can be -1. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
The range can be used to retrieve a subset of the pool, from the 'start' to the 'end' ID. To retrieve the complete pool, use (-1, -1)
; to retrieve all the pool from a specific ID to the last one, use (<id>, -1)
, and to retrieve the first elements up to an ID, use (0, <id>)
.
Actions for Datastore Management
one.datastore.allocate
Type | Data Type | Description |
IN | String | The session string. |
IN | String | A string containing the template of the datastore. Syntax can be the usual “attribute=value” or XML. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The allocated resource ID / The error string. |
OUT | Int | Error code. |
one.datastore.delete
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.datastore.update
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new template contents. Syntax can be the usual “attribute=value” or XML. |
IN | Int | Update type: 0: Replace the whole template. 1: Merge new template with the existing one. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.datastore.chmod
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | USER USE bit. If set to -1, it will not change. |
IN | Int | USER MANAGE bit. If set to -1, it will not change. |
IN | Int | USER ADMIN bit. If set to -1, it will not change. |
IN | Int | GROUP USE bit. If set to -1, it will not change. |
IN | Int | GROUP MANAGE bit. If set to -1, it will not change. |
IN | Int | GROUP ADMIN bit. If set to -1, it will not change. |
IN | Int | OTHER USE bit. If set to -1, it will not change. |
IN | Int | OTHER MANAGE bit. If set to -1, it will not change. |
IN | Int | OTHER ADMIN bit. If set to -1, it will not change. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.datastore.chown
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | The User ID of the new owner. If set to -1, the owner is not changed. |
IN | Int | The Group ID of the new group. If set to -1, the group is not changed. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.datastore.info
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
one.datastorepool.info
Type | Data Type | Description |
IN | String | The session string. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
Actions for Image Management
one.image.allocate
Type | Data Type | Description |
IN | String | The session string. |
IN | String | A string containing the template of the image. Syntax can be the usual “attribute=value” or XML. |
IN | Int | The datastore ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The allocated resource ID / The error string. |
OUT | Int | Error code. |
one.image.clone
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The ID of the image to be cloned. |
IN | String | Name for the new image. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The new image ID / The error string. |
OUT | Int | Error code. |
one.image.delete
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.image.enable
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The Image ID. |
IN | Boolean | True for enabling, false for disabling. |
OUT | Boolean | true or false whenever is successful or not. |
OUT | Int/String | The Image ID / The error string. |
OUT | Int | Error code. |
one.image.persistent
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The Image ID. |
IN | Boolean | True for persistent, false for non-persisent. |
OUT | Boolean | true or false whenever is successful or not. |
OUT | Int/String | The Image ID / The error string. |
OUT | Int | Error code. |
one.image.chtype
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The Image ID. |
IN | String | New type for the Image. See the existing types in the Image template reference. |
OUT | Boolean | true or false whenever is successful or not. |
OUT | Int/String | The Image ID / The error string. |
OUT | Int | Error code. |
one.image.update
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new template contents. Syntax can be the usual “attribute=value” or XML. |
IN | Int | Update type: 0: Replace the whole template. 1: Merge new template with the existing one. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.image.chmod
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | USER USE bit. If set to -1, it will not change. |
IN | Int | USER MANAGE bit. If set to -1, it will not change. |
IN | Int | USER ADMIN bit. If set to -1, it will not change. |
IN | Int | GROUP USE bit. If set to -1, it will not change. |
IN | Int | GROUP MANAGE bit. If set to -1, it will not change. |
IN | Int | GROUP ADMIN bit. If set to -1, it will not change. |
IN | Int | OTHER USE bit. If set to -1, it will not change. |
IN | Int | OTHER MANAGE bit. If set to -1, it will not change. |
IN | Int | OTHER ADMIN bit. If set to -1, it will not change. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.image.chown
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | The User ID of the new owner. If set to -1, the owner is not changed. |
IN | Int | The Group ID of the new group. If set to -1, the group is not changed. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.image.rename
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new name. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The VM ID / The error string. |
OUT | Int | Error code. |
one.image.info
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
one.imagepool.info
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | Filter flag
- < = -3: Connected user's resources
- -2: All resources
- -1: Connected user's and his group's resources
- > = 0: UID User's Resources |
IN | Int | Range start ID. Can be -1. |
IN | Int | Range end ID. Can be -1. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
The range can be used to retrieve a subset of the pool, from the 'start' to the 'end' ID. To retrieve the complete pool, use (-1, -1)
; to retrieve all the pool from a specific ID to the last one, use (<id>, -1)
, and to retrieve the first elements up to an ID, use (0, <id>)
.
Actions for User Management
one.user.allocate
Type | Data Type | Description |
IN | String | The session string. |
IN | String | username for the new user |
IN | String | password for the new user |
IN | String | authentication driver for the new user. If it is an empty string, then the default ('core') is used |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The allocated User ID / The error string. |
OUT | Int | Error code. |
one.user.delete
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.user.passwd
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new password |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The User ID / The error string. |
OUT | Int | Error code. |
one.user.update
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new template contents. Syntax can be the usual “attribute=value” or XML. |
IN | Int | Update type: 0: Replace the whole template. 1: Merge new template with the existing one. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.user.chauth
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new authentication driver. |
IN | String | The new password. If it is an empty string, the password is not changed. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The User ID / The error string. |
OUT | Int | Error code. |
one.user.quota
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new quota template contents. Syntax can be the usual “attribute=value” or XML. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.user.chgrp
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The User ID. |
IN | Int | The Group ID of the new group. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The User ID / The error string. |
OUT | Int | Error code. |
one.user.info
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. If it is -1, then the connected user's own info info is returned |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
one.userpool.info
Type | Data Type | Description |
IN | String | The session string. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
one.userquota.info
Type | Data Type | Description |
IN | String | The session string. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The quota template contents / The error string. |
OUT | Int | Error code. |
one.userquota.update
Type | Data Type | Description |
IN | String | The session string. |
IN | String | The new quota template contents. Syntax can be the usual “attribute=value” or XML. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The quota template contents / The error string. |
OUT | Int | Error code. |
Actions for Group Management
one.group.allocate
Type | Data Type | Description |
IN | String | The session string. |
IN | String | Name for the new group. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The allocated Group ID / The error string. |
OUT | Int | Error code. |
one.group.delete
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.group.info
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. If it is -1, then the connected user's group info info is returned |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
one.group.quota
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new quota template contents. Syntax can be the usual “attribute=value” or XML. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.grouppool.info
Type | Data Type | Description |
IN | String | The session string. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
one.groupquota.info
Type | Data Type | Description |
IN | String | The session string. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The quota template contents / The error string. |
OUT | Int | Error code. |
one.groupquota.update
Type | Data Type | Description |
IN | String | The session string. |
IN | String | The new quota template contents. Syntax can be the usual “attribute=value” or XML. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The quota template contents / The error string. |
OUT | Int | Error code. |
Actions for ACL Rules Management
one.acl.addrule
Description: Adds a new
ACL rule.
Parameters
Type | Data Type | Description |
IN | String | The session string. |
IN | String | User component of the new rule. A string containing a hex number. |
IN | String | Resource component of the new rule. A string containing a hex number. |
IN | String | Rights component of the new rule. A string containing a hex number. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The allocated ACL rule ID / The error string. |
OUT | Int | Error code. |
To build the hex. numbers required to create a new rule we recommend you to read the ruby or java code.
one.acl.delrule
Description: Deletes an
ACL rule.
Parameters
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | ACL rule ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The ACL rule ID / The error string. |
OUT | Int | Error code. |
one.acl.info
Description: Returns the complete
ACL rule set.
Parameters
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | ACL rule ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
Actions for Document Management
one.document.allocate
Type | Data Type | Description |
IN | String | The session string. |
IN | String | A string containing the document template contents. Syntax can be the usual “attribute=value” or XML. |
IN | Int | The document type (*). |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The allocated resource ID / The error string. |
OUT | Int | Error code. |
(*) Type is an integer value used to allow dynamic pools compartmentalization.
Let's say you want to store documents representing Chef recipes, and EC2 security groups; you would allocate documents of each kind with a different type. This type is then used in the one.documentpool.info method to filter the results.
one.document.clone
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The ID of the document to be cloned. |
IN | String | Name for the new document. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The new document ID / The error string. |
OUT | Int | Error code. |
one.document.delete
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.document.update
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new document template contents. Syntax can be the usual “attribute=value” or XML. |
IN | Int | Update type: 0: Replace the whole template. 1: Merge new template with the existing one. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.document.chmod
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | USER USE bit. If set to -1, it will not change. |
IN | Int | USER MANAGE bit. If set to -1, it will not change. |
IN | Int | USER ADMIN bit. If set to -1, it will not change. |
IN | Int | GROUP USE bit. If set to -1, it will not change. |
IN | Int | GROUP MANAGE bit. If set to -1, it will not change. |
IN | Int | GROUP ADMIN bit. If set to -1, it will not change. |
IN | Int | OTHER USE bit. If set to -1, it will not change. |
IN | Int | OTHER MANAGE bit. If set to -1, it will not change. |
IN | Int | OTHER ADMIN bit. If set to -1, it will not change. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.document.chown
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | Int | The User ID of the new owner. If set to -1, the owner is not changed. |
IN | Int | The Group ID of the new group. If set to -1, the group is not changed. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The resource ID / The error string. |
OUT | Int | Error code. |
one.document.rename
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
IN | String | The new name. |
OUT | Boolean | true or false whenever is successful or not |
OUT | Int/String | The VM ID / The error string. |
OUT | Int | Error code. |
one.document.info
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | The object ID. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
one.documentpool.info
Type | Data Type | Description |
IN | String | The session string. |
IN | Int | Filter flag
- < = -3: Connected user's resources
- -2: All resources
- -1: Connected user's and his group's resources
- > = 0: UID User's Resources |
IN | Int | Range start ID. Can be -1. |
IN | Int | Range end ID. Can be -1. |
IN | Int | The document type. See one.document.allocate |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The information string / The error string. |
OUT | Int | Error code. |
The range can be used to retrieve a subset of the pool, from the 'start' to the 'end' ID. To retrieve the complete pool, use (-1, -1)
; to retrieve all the pool from a specific ID to the last one, use (<id>, -1)
, and to retrieve the first elements up to an ID, use (0, <id>)
.
System Methods
one.system.version
Type | Data Type | Description |
IN | String | The session string. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The OpenNebula version, e.g. “3.8.0” |
OUT | Int | Error code. |
one.system.config
Type | Data Type | Description |
IN | String | The session string. |
OUT | Boolean | true or false whenever is successful or not |
OUT | String | The loaded oned.conf file, in XML form |
OUT | Int | Error code. |
XSD Reference
The XML schemas describe the XML returned by the one.*.info methods
Schemas for Cluster
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
<xs:element name="CLUSTER">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="SYSTEM_DS" type="xs:integer"/>
<xs:element name="HOSTS">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DATASTORES">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VNETS">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TEMPLATE" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
<xs:include schemaLocation="cluster.xsd"/>
<xs:element name="CLUSTER_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="CLUSTER" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Schemas for Datastore
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://opennebula.org/XMLSchema" elementFormDefault="qualified" targetNamespace="http://opennebula.org/XMLSchema">
<xs:element name="DATASTORE">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="UID" type="xs:integer"/>
<xs:element name="GID" type="xs:integer"/>
<xs:element name="UNAME" type="xs:string"/>
<xs:element name="GNAME" type="xs:string"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="PERMISSIONS" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="OWNER_U" type="xs:integer"/>
<xs:element name="OWNER_M" type="xs:integer"/>
<xs:element name="OWNER_A" type="xs:integer"/>
<xs:element name="GROUP_U" type="xs:integer"/>
<xs:element name="GROUP_M" type="xs:integer"/>
<xs:element name="GROUP_A" type="xs:integer"/>
<xs:element name="OTHER_U" type="xs:integer"/>
<xs:element name="OTHER_M" type="xs:integer"/>
<xs:element name="OTHER_A" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DS_MAD" type="xs:string"/>
<xs:element name="TM_MAD" type="xs:string"/>
<xs:element name="BASE_PATH" type="xs:string"/>
<xs:element name="TYPE" type="xs:integer"/>
<xs:element name="DISK_TYPE" type="xs:integer"/>
<xs:element name="CLUSTER_ID" type="xs:integer"/>
<xs:element name="CLUSTER" type="xs:string"/>
<xs:element name="TOTAL_MB" type="xs:integer"/>
<xs:element name="FREE_MB" type="xs:integer"/>
<xs:element name="USED_MB" type="xs:integer"/>
<xs:element name="IMAGES">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TEMPLATE" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
<xs:include schemaLocation="datastore.xsd"/>
<xs:element name="DATASTORE_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="DATASTORE" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Schemas for Group
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
<xs:element name="GROUP">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="USERS">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DATASTORE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="DATASTORE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="IMAGES" type="xs:string"/>
<xs:element name="IMAGES_USED" type="xs:string"/>
<xs:element name="SIZE" type="xs:string"/>
<xs:element name="SIZE_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NETWORK_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="NETWORK" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="LEASES" type="xs:string"/>
<xs:element name="LEASES_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VM_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="VM" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="CPU" type="xs:string"/>
<xs:element name="CPU_USED" type="xs:string"/>
<xs:element name="MEMORY" type="xs:string"/>
<xs:element name="MEMORY_USED" type="xs:string"/>
<xs:element name="VMS" type="xs:string"/>
<xs:element name="VMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IMAGE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="IMAGE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="RVMS" type="xs:string"/>
<xs:element name="RVMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DEFAULT_GROUP_QUOTAS">
<xs:complexType>
<xs:sequence>
<xs:element name="DATASTORE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="DATASTORE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="IMAGES" type="xs:string"/>
<xs:element name="IMAGES_USED" type="xs:string"/>
<xs:element name="SIZE" type="xs:string"/>
<xs:element name="SIZE_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NETWORK_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="NETWORK" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="LEASES" type="xs:string"/>
<xs:element name="LEASES_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VM_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="VM" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="CPU" type="xs:string"/>
<xs:element name="CPU_USED" type="xs:string"/>
<xs:element name="MEMORY" type="xs:string"/>
<xs:element name="MEMORY_USED" type="xs:string"/>
<xs:element name="VMS" type="xs:string"/>
<xs:element name="VMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IMAGE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="IMAGE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="RVMS" type="xs:string"/>
<xs:element name="RVMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
<xs:element name="GROUP_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element name="GROUP" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="USERS">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DATASTORE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="DATASTORE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="IMAGES" type="xs:string"/>
<xs:element name="IMAGES_USED" type="xs:string"/>
<xs:element name="SIZE" type="xs:string"/>
<xs:element name="SIZE_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NETWORK_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="NETWORK" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="LEASES" type="xs:string"/>
<xs:element name="LEASES_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VM_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="VM" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="CPU" type="xs:string"/>
<xs:element name="CPU_USED" type="xs:string"/>
<xs:element name="MEMORY" type="xs:string"/>
<xs:element name="MEMORY_USED" type="xs:string"/>
<xs:element name="VMS" type="xs:string"/>
<xs:element name="VMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IMAGE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="IMAGE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="RVMS" type="xs:string"/>
<xs:element name="RVMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DEFAULT_GROUP_QUOTAS" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="DATASTORE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="DATASTORE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="IMAGES" type="xs:string"/>
<xs:element name="IMAGES_USED" type="xs:string"/>
<xs:element name="SIZE" type="xs:string"/>
<xs:element name="SIZE_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NETWORK_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="NETWORK" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="LEASES" type="xs:string"/>
<xs:element name="LEASES_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VM_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="VM" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="CPU" type="xs:string"/>
<xs:element name="CPU_USED" type="xs:string"/>
<xs:element name="MEMORY" type="xs:string"/>
<xs:element name="MEMORY_USED" type="xs:string"/>
<xs:element name="VMS" type="xs:string"/>
<xs:element name="VMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IMAGE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="IMAGE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="RVMS" type="xs:string"/>
<xs:element name="RVMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Schemas for Host
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://opennebula.org/XMLSchema" elementFormDefault="qualified" targetNamespace="http://opennebula.org/XMLSchema">
<xs:element name="HOST">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="NAME" type="xs:string"/>
<!-- STATE values
INIT = 0 Initial state for enabled hosts
MONITORING_MONITORED = 1 Monitoring the host (from monitored)
MONITORED = 2 The host has been successfully monitored
ERROR = 3 An error ocurrer while monitoring the host
DISABLED = 4 The host is disabled won't be monitored
MONITORING_ERROR = 5 Monitoring the host (from error)
MONITORING_INIT = 6 Monitoring the host (from init)
MONITORING_DISABLED = 7 Monitoring the host (from disabled)
-->
<xs:element name="STATE" type="xs:integer"/>
<xs:element name="IM_MAD" type="xs:string"/>
<xs:element name="VM_MAD" type="xs:string"/>
<xs:element name="VN_MAD" type="xs:string"/>
<xs:element name="LAST_MON_TIME" type="xs:integer"/>
<xs:element name="CLUSTER_ID" type="xs:integer"/>
<xs:element name="CLUSTER" type="xs:string"/>
<xs:element name="HOST_SHARE">
<xs:complexType>
<xs:sequence>
<xs:element name="DISK_USAGE" type="xs:integer"/>
<xs:element name="MEM_USAGE" type="xs:integer"/>
<!-- ^^ KB, Usage of MEMORY calculated by ONE as the summatory MEMORY requested by all VMs running in the host -->
<xs:element name="CPU_USAGE" type="xs:integer"/>
<!-- ^^ Percentage, Usage of CPU calculated by ONE as the summatory CPU requested by all VMs running in the host -->
<xs:element name="MAX_DISK" type="xs:integer"/>
<xs:element name="MAX_MEM" type="xs:integer"/>
<!-- ^^ KB, Total memory in the host -->
<xs:element name="MAX_CPU" type="xs:integer"/>
<!-- ^^ Percentage, Total CPU in the host (# cores * 100) -->
<xs:element name="FREE_DISK" type="xs:integer"/>
<xs:element name="FREE_MEM" type="xs:integer"/>
<!-- ^^ KB, Free MEMORY returned by the probes -->
<xs:element name="FREE_CPU" type="xs:integer"/>
<!-- ^^ Percentage, Free CPU as returned by the probes -->
<xs:element name="USED_DISK" type="xs:integer"/>
<xs:element name="USED_MEM" type="xs:integer"/>
<!-- ^^ KB, Memory used by all host processes (including VMs) over a total of MAX_MEM -->
<xs:element name="USED_CPU" type="xs:integer"/>
<!-- ^^ Percentage of CPU used by all host processes (including VMs) over a total of # cores * 100 -->
<xs:element name="RUNNING_VMS" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VMS">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TEMPLATE" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
<xs:include schemaLocation="host.xsd"/>
<xs:element name="HOST_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="HOST" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Schemas for Image
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://opennebula.org/XMLSchema" elementFormDefault="qualified" targetNamespace="http://opennebula.org/XMLSchema">
<xs:element name="IMAGE">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="UID" type="xs:integer"/>
<xs:element name="GID" type="xs:integer"/>
<xs:element name="UNAME" type="xs:string"/>
<xs:element name="GNAME" type="xs:string"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="PERMISSIONS" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="OWNER_U" type="xs:integer"/>
<xs:element name="OWNER_M" type="xs:integer"/>
<xs:element name="OWNER_A" type="xs:integer"/>
<xs:element name="GROUP_U" type="xs:integer"/>
<xs:element name="GROUP_M" type="xs:integer"/>
<xs:element name="GROUP_A" type="xs:integer"/>
<xs:element name="OTHER_U" type="xs:integer"/>
<xs:element name="OTHER_M" type="xs:integer"/>
<xs:element name="OTHER_A" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TYPE" type="xs:integer"/>
<xs:element name="DISK_TYPE" type="xs:integer"/>
<xs:element name="PERSISTENT" type="xs:integer"/>
<xs:element name="REGTIME" type="xs:integer"/>
<xs:element name="SOURCE" type="xs:string"/>
<xs:element name="PATH" type="xs:string"/>
<xs:element name="FSTYPE" type="xs:string"/>
<xs:element name="SIZE" type="xs:integer"/>
<!-- STATE values,
INIT = 0, Initialization state
READY = 1, Image ready to use
USED = 2, Image in use
DISABLED = 3, Image can not be instantiated by a VM
LOCKED = 4, FS operation for the Image in process
ERROR = 5, Error state the operation FAILED
CLONE = 6, Image is being cloned
DELETE = 7, DS is deleting the image
USED_PERS = 8, Image is in use and persistent
-->
<xs:element name="STATE" type="xs:integer"/>
<xs:element name="RUNNING_VMS" type="xs:integer"/>
<xs:element name="CLONING_OPS" type="xs:integer"/>
<xs:element name="CLONING_ID" type="xs:integer"/>
<xs:element name="DATASTORE_ID" type="xs:integer"/>
<xs:element name="DATASTORE" type="xs:string"/>
<xs:element name="VMS">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CLONES">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TEMPLATE" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
<xs:include schemaLocation="image.xsd"/>
<xs:element name="IMAGE_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="IMAGE" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Schemas for User
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
<xs:element name="USER">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="GID" type="xs:integer"/>
<xs:element name="GNAME" type="xs:string"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="PASSWORD" type="xs:string"/>
<xs:element name="AUTH_DRIVER" type="xs:string"/>
<xs:element name="ENABLED" type="xs:integer"/>
<xs:element name="TEMPLATE" type="xs:anyType"/>
<xs:element name="DATASTORE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="DATASTORE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="IMAGES" type="xs:string"/>
<xs:element name="IMAGES_USED" type="xs:string"/>
<xs:element name="SIZE" type="xs:string"/>
<xs:element name="SIZE_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NETWORK_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="NETWORK" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="LEASES" type="xs:string"/>
<xs:element name="LEASES_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VM_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="VM" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="CPU" type="xs:string"/>
<xs:element name="CPU_USED" type="xs:string"/>
<xs:element name="MEMORY" type="xs:string"/>
<xs:element name="MEMORY_USED" type="xs:string"/>
<xs:element name="VMS" type="xs:string"/>
<xs:element name="VMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IMAGE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="IMAGE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="RVMS" type="xs:string"/>
<xs:element name="RVMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DEFAULT_USER_QUOTAS">
<xs:complexType>
<xs:sequence>
<xs:element name="DATASTORE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="DATASTORE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="IMAGES" type="xs:string"/>
<xs:element name="IMAGES_USED" type="xs:string"/>
<xs:element name="SIZE" type="xs:string"/>
<xs:element name="SIZE_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NETWORK_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="NETWORK" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="LEASES" type="xs:string"/>
<xs:element name="LEASES_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VM_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="VM" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="CPU" type="xs:string"/>
<xs:element name="CPU_USED" type="xs:string"/>
<xs:element name="MEMORY" type="xs:string"/>
<xs:element name="MEMORY_USED" type="xs:string"/>
<xs:element name="VMS" type="xs:string"/>
<xs:element name="VMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IMAGE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="IMAGE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="RVMS" type="xs:string"/>
<xs:element name="RVMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
<xs:include schemaLocation="user.xsd"/>
<xs:element name="USER_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element name="USER" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="GID" type="xs:integer"/>
<xs:element name="GNAME" type="xs:string"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="PASSWORD" type="xs:string"/>
<xs:element name="AUTH_DRIVER" type="xs:string"/>
<xs:element name="ENABLED" type="xs:integer"/>
<xs:element name="TEMPLATE" type="xs:anyType"/>
<xs:element name="DATASTORE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="DATASTORE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="IMAGES" type="xs:string"/>
<xs:element name="IMAGES_USED" type="xs:string"/>
<xs:element name="SIZE" type="xs:string"/>
<xs:element name="SIZE_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NETWORK_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="NETWORK" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="LEASES" type="xs:string"/>
<xs:element name="LEASES_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VM_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="VM" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="CPU" type="xs:string"/>
<xs:element name="CPU_USED" type="xs:string"/>
<xs:element name="MEMORY" type="xs:string"/>
<xs:element name="MEMORY_USED" type="xs:string"/>
<xs:element name="VMS" type="xs:string"/>
<xs:element name="VMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IMAGE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="IMAGE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="RVMS" type="xs:string"/>
<xs:element name="RVMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DEFAULT_USER_QUOTAS">
<xs:complexType>
<xs:sequence>
<xs:element name="DATASTORE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="DATASTORE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="IMAGES" type="xs:string"/>
<xs:element name="IMAGES_USED" type="xs:string"/>
<xs:element name="SIZE" type="xs:string"/>
<xs:element name="SIZE_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NETWORK_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="NETWORK" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="LEASES" type="xs:string"/>
<xs:element name="LEASES_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VM_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="VM" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="CPU" type="xs:string"/>
<xs:element name="CPU_USED" type="xs:string"/>
<xs:element name="MEMORY" type="xs:string"/>
<xs:element name="MEMORY_USED" type="xs:string"/>
<xs:element name="VMS" type="xs:string"/>
<xs:element name="VMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IMAGE_QUOTA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="IMAGE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="RVMS" type="xs:string"/>
<xs:element name="RVMS_USED" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Schemas for Virtual Machine
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
<xs:element name="VM">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="UID" type="xs:integer"/>
<xs:element name="GID" type="xs:integer"/>
<xs:element name="UNAME" type="xs:string"/>
<xs:element name="GNAME" type="xs:string"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="PERMISSIONS" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="OWNER_U" type="xs:integer"/>
<xs:element name="OWNER_M" type="xs:integer"/>
<xs:element name="OWNER_A" type="xs:integer"/>
<xs:element name="GROUP_U" type="xs:integer"/>
<xs:element name="GROUP_M" type="xs:integer"/>
<xs:element name="GROUP_A" type="xs:integer"/>
<xs:element name="OTHER_U" type="xs:integer"/>
<xs:element name="OTHER_M" type="xs:integer"/>
<xs:element name="OTHER_A" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LAST_POLL" type="xs:integer"/>
<!-- STATE values,
see http://opennebula.org/_media/documentation:rel3.6:states-complete.png
INIT = 0
PENDING = 1
HOLD = 2
ACTIVE = 3 In this state, the Life Cycle Manager state is relevant
STOPPED = 4
SUSPENDED = 5
DONE = 6
FAILED = 7
POWEROFF = 8
UNDEPLOYED = 9
-->
<xs:element name="STATE" type="xs:integer"/>
<!-- LCM_STATE values, this sub-state is relevant only when STATE is
ACTIVE (4)
LCM_INIT = 0,
PROLOG = 1,
BOOT = 2,
RUNNING = 3,
MIGRATE = 4,
SAVE_STOP = 5,
SAVE_SUSPEND = 6,
SAVE_MIGRATE = 7,
PROLOG_MIGRATE = 8,
PROLOG_RESUME = 9,
EPILOG_STOP = 10,
EPILOG = 11,
SHUTDOWN = 12,
CANCEL = 13,
FAILURE = 14,
CLEANUP_RESUBMIT = 15,
UNKNOWN = 16,
HOTPLUG = 17,
SHUTDOWN_POWEROFF = 18,
BOOT_UNKNOWN = 19,
BOOT_POWEROFF = 20,
BOOT_SUSPENDED = 21,
BOOT_STOPPED = 22,
CLEANUP_DELETE = 23,
HOTPLUG_SNAPSHOT = 24,
HOTPLUG_NIC = 25,
HOTPLUG_SAVEAS = 26,
HOTPLUG_SAVEAS_POWEROFF = 27,
HOTPLUG_SAVEAS_SUSPENDED = 28,
SHUTDOWN_UNDEPLOY = 29,
EPILOG_UNDEPLOY = 30,
PROLOG_UNDEPLOY = 31,
BOOT_UNDEPLOY = 32
-->
<xs:element name="LCM_STATE" type="xs:integer"/>
<xs:element name="RESCHED" type="xs:integer"/>
<xs:element name="STIME" type="xs:integer"/>
<xs:element name="ETIME" type="xs:integer"/>
<xs:element name="DEPLOY_ID" type="xs:string"/>
<!-- MEMORY consumption in kilobytes -->
<xs:element name="MEMORY" type="xs:integer"/>
<!-- Percentage of 1 CPU consumed (two fully consumed cpu is 200) -->
<xs:element name="CPU" type="xs:integer"/>
<!-- NET_TX: Sent bytes to the network -->
<xs:element name="NET_TX" type="xs:integer"/>
<!-- NET_RX: Received bytes from the network -->
<xs:element name="NET_RX" type="xs:integer"/>
<xs:element name="TEMPLATE" type="xs:anyType"/>
<xs:element name="USER_TEMPLATE" type="xs:anyType"/>
<xs:element name="HISTORY_RECORDS">
<xs:complexType>
<xs:sequence>
<xs:element name="HISTORY" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="OID" type="xs:integer"/>
<xs:element name="SEQ" type="xs:integer"/>
<xs:element name="HOSTNAME" type="xs:string"/>
<xs:element name="HID" type="xs:integer"/>
<xs:element name="STIME" type="xs:integer"/>
<xs:element name="ETIME" type="xs:integer"/>
<xs:element name="VMMMAD" type="xs:string"/>
<xs:element name="VNMMAD" type="xs:string"/>
<xs:element name="TMMAD" type="xs:string"/>
<xs:element name="DS_LOCATION" type="xs:string"/>
<xs:element name="DS_ID" type="xs:integer"/>
<xs:element name="PSTIME" type="xs:integer"/>
<xs:element name="PETIME" type="xs:integer"/>
<xs:element name="RSTIME" type="xs:integer"/>
<xs:element name="RETIME" type="xs:integer"/>
<xs:element name="ESTIME" type="xs:integer"/>
<xs:element name="EETIME" type="xs:integer"/>
<!-- REASON values:
NONE = 0 History record is not closed yet
ERROR = 1 History record was closed because of an error
USER = 2 History record was closed because of a user action
-->
<xs:element name="REASON" type="xs:integer"/>
<!-- ACTION values:
NONE_ACTION = 0
MIGRATE_ACTION = 1
LIVE_MIGRATE_ACTION = 2
SHUTDOWN_ACTION = 3
SHUTDOWN_HARD_ACTION = 4
UNDEPLOY_ACTION = 5
UNDEPLOY_HARD_ACTION = 6
HOLD_ACTION = 7
RELEASE_ACTION = 8
STOP_ACTION = 9
SUSPEND_ACTION = 10
RESUME_ACTION = 11
BOOT_ACTION = 12
DELETE_ACTION = 13
DELETE_RECREATE_ACTION = 14
REBOOT_ACTION = 15
REBOOT_HARD_ACTION = 16
RESCHED_ACTION = 17
UNRESCHED_ACTION = 18
POWEROFF_ACTION = 19
POWEROFF_HARD_ACTION = 20
-->
<xs:element name="ACTION" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified"
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
<xs:include schemaLocation="vm.xsd"/>
<xs:element name="VM_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="VM" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Schemas for Virtual Machine Template
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://opennebula.org/XMLSchema" elementFormDefault="qualified" targetNamespace="http://opennebula.org/XMLSchema">
<xs:element name="VMTEMPLATE">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="UID" type="xs:integer"/>
<xs:element name="GID" type="xs:integer"/>
<xs:element name="UNAME" type="xs:string"/>
<xs:element name="GNAME" type="xs:string"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="PERMISSIONS" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="OWNER_U" type="xs:integer"/>
<xs:element name="OWNER_M" type="xs:integer"/>
<xs:element name="OWNER_A" type="xs:integer"/>
<xs:element name="GROUP_U" type="xs:integer"/>
<xs:element name="GROUP_M" type="xs:integer"/>
<xs:element name="GROUP_A" type="xs:integer"/>
<xs:element name="OTHER_U" type="xs:integer"/>
<xs:element name="OTHER_M" type="xs:integer"/>
<xs:element name="OTHER_A" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="REGTIME" type="xs:integer"/>
<xs:element name="TEMPLATE" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
<xs:include schemaLocation="vmtemplate.xsd"/>
<xs:element name="VMTEMPLATE_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="VMTEMPLATE" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Schemas for Virtual Network
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
<xs:element name="VNET">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="UID" type="xs:integer"/>
<xs:element name="GID" type="xs:integer"/>
<xs:element name="UNAME" type="xs:string"/>
<xs:element name="GNAME" type="xs:string"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="PERMISSIONS" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="OWNER_U" type="xs:integer"/>
<xs:element name="OWNER_M" type="xs:integer"/>
<xs:element name="OWNER_A" type="xs:integer"/>
<xs:element name="GROUP_U" type="xs:integer"/>
<xs:element name="GROUP_M" type="xs:integer"/>
<xs:element name="GROUP_A" type="xs:integer"/>
<xs:element name="OTHER_U" type="xs:integer"/>
<xs:element name="OTHER_M" type="xs:integer"/>
<xs:element name="OTHER_A" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CLUSTER_ID" type="xs:integer"/>
<xs:element name="CLUSTER" type="xs:string"/>
<xs:element name="TYPE" type="xs:integer"/>
<xs:element name="BRIDGE" type="xs:string"/>
<xs:element name="VLAN" type="xs:integer"/>
<xs:element name="PHYDEV" type="xs:string"/>
<xs:element name="VLAN_ID" type="xs:string"/>
<xs:element name="GLOBAL_PREFIX" type="xs:string"/>
<xs:element name="SITE_PREFIX" type="xs:string"/>
<xs:element name="RANGE" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="IP_START" type="xs:string"/>
<xs:element name="IP_END" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TOTAL_LEASES" type="xs:integer"/>
<xs:element name="TEMPLATE" type="xs:anyType"/>
<xs:element name="LEASES" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element name="LEASE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="MAC" type="xs:string"/>
<xs:element name="IP" type="xs:string"/>
<xs:element name="IP6_LINK" type="xs:string"/>
<xs:element name="IP6_SITE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="IP6_GLOBAL" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="USED" type="xs:integer"/>
<xs:element name="VID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
<xs:include schemaLocation="vnet.xsd"/>
<xs:element name="VNET_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="VNET" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Schemas for Accounting
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
<xs:element name="HISTORY_RECORDS">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="HISTORY" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="HISTORY">
<xs:complexType>
<xs:sequence>
<xs:element name="OID" type="xs:integer"/>
<xs:element name="SEQ" type="xs:integer"/>
<xs:element name="HOSTNAME" type="xs:string"/>
<xs:element name="HID" type="xs:integer"/>
<xs:element name="STIME" type="xs:integer"/>
<xs:element name="ETIME" type="xs:integer"/>
<xs:element name="VMMMAD" type="xs:string"/>
<xs:element name="VNMMAD" type="xs:string"/>
<xs:element name="TMMAD" type="xs:string"/>
<xs:element name="DS_LOCATION" type="xs:string"/>
<xs:element name="DS_ID" type="xs:integer"/>
<xs:element name="PSTIME" type="xs:integer"/>
<xs:element name="PETIME" type="xs:integer"/>
<xs:element name="RSTIME" type="xs:integer"/>
<xs:element name="RETIME" type="xs:integer"/>
<xs:element name="ESTIME" type="xs:integer"/>
<xs:element name="EETIME" type="xs:integer"/>
<!-- REASON values:
NONE = 0 History record is not closed yet
ERROR = 1 History record was closed because of an error
USER = 2 History record was closed because of a user action
-->
<xs:element name="REASON" type="xs:integer"/>
<!-- ACTION values:
NONE_ACTION = 0
MIGRATE_ACTION = 1
LIVE_MIGRATE_ACTION = 2
SHUTDOWN_ACTION = 3
SHUTDOWN_HARD_ACTION = 4
UNDEPLOY_ACTION = 5
UNDEPLOY_HARD_ACTION = 6
HOLD_ACTION = 7
RELEASE_ACTION = 8
STOP_ACTION = 9
SUSPEND_ACTION = 10
RESUME_ACTION = 11
BOOT_ACTION = 12
DELETE_ACTION = 13
DELETE_RECREATE_ACTION = 14
REBOOT_ACTION = 15
REBOOT_HARD_ACTION = 16
RESCHED_ACTION = 17
UNRESCHED_ACTION = 18
POWEROFF_ACTION = 19
POWEROFF_HARD_ACTION = 20
-->
<xs:element name="ACTION" type="xs:integer"/>
<xs:element name="VM">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="UID" type="xs:integer"/>
<xs:element name="GID" type="xs:integer"/>
<xs:element name="UNAME" type="xs:string"/>
<xs:element name="GNAME" type="xs:string"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="PERMISSIONS" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="OWNER_U" type="xs:integer"/>
<xs:element name="OWNER_M" type="xs:integer"/>
<xs:element name="OWNER_A" type="xs:integer"/>
<xs:element name="GROUP_U" type="xs:integer"/>
<xs:element name="GROUP_M" type="xs:integer"/>
<xs:element name="GROUP_A" type="xs:integer"/>
<xs:element name="OTHER_U" type="xs:integer"/>
<xs:element name="OTHER_M" type="xs:integer"/>
<xs:element name="OTHER_A" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LAST_POLL" type="xs:integer"/>
<!-- STATE values,
see http://opennebula.org/documentation:documentation:api#actions_for_virtual_machine_management
INIT = 0
PENDING = 1
HOLD = 2
ACTIVE = 3 In this state, the Life Cycle Manager state is relevant
STOPPED = 4
SUSPENDED = 5
DONE = 6
FAILED = 7
POWEROFF = 8
UNDEPLOYED = 9
-->
<xs:element name="STATE" type="xs:integer"/>
<!-- LCM_STATE values, this sub-state is relevant only when STATE is
ACTIVE (4)
LCM_INIT = 0,
PROLOG = 1,
BOOT = 2,
RUNNING = 3,
MIGRATE = 4,
SAVE_STOP = 5,
SAVE_SUSPEND = 6,
SAVE_MIGRATE = 7,
PROLOG_MIGRATE = 8,
PROLOG_RESUME = 9,
EPILOG_STOP = 10,
EPILOG = 11,
SHUTDOWN = 12,
CANCEL = 13,
FAILURE = 14,
CLEANUP_RESUBMIT = 15,
UNKNOWN = 16,
HOTPLUG = 17,
SHUTDOWN_POWEROFF = 18,
BOOT_UNKNOWN = 19,
BOOT_POWEROFF = 20,
BOOT_SUSPENDED = 21,
BOOT_STOPPED = 22,
CLEANUP_DELETE = 23,
HOTPLUG_SNAPSHOT = 24,
HOTPLUG_NIC = 25,
HOTPLUG_SAVEAS = 26,
HOTPLUG_SAVEAS_POWEROFF = 27,
HOTPLUG_SAVEAS_SUSPENDED = 28,
SHUTDOWN_UNDEPLOY = 29,
EPILOG_UNDEPLOY = 30,
PROLOG_UNDEPLOY = 31,
BOOT_UNDEPLOY = 32
-->
<xs:element name="LCM_STATE" type="xs:integer"/>
<xs:element name="RESCHED" type="xs:integer"/>
<xs:element name="STIME" type="xs:integer"/>
<xs:element name="ETIME" type="xs:integer"/>
<xs:element name="DEPLOY_ID" type="xs:string"/>
<!-- MEMORY consumption in kilobytes -->
<xs:element name="MEMORY" type="xs:integer"/>
<!-- Percentage of 1 CPU consumed (two fully consumed cpu is 200) -->
<xs:element name="CPU" type="xs:integer"/>
<!-- NET_TX: Sent bytes to the network -->
<xs:element name="NET_TX" type="xs:integer"/>
<!-- NET_RX: Received bytes from the network -->
<xs:element name="NET_RX" type="xs:integer"/>
<xs:element name="TEMPLATE" type="xs:anyType"/>
<xs:element name="USER_TEMPLATE" type="xs:anyType"/>
<xs:element name="HISTORY_RECORDS">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>