Add initial OpenNebula XML-RPC Api Integration

This commit is contained in:
Timothée Floure 2021-02-11 14:34:40 +01:00
parent 6938d7083c
commit ae52442bd6
Signed by: tfloure
GPG Key ID: 4502C902C00A1E12
85 changed files with 6963 additions and 1 deletions

View File

@ -0,0 +1,43 @@
defmodule Mix.Tasks.GenerateOpenNebulaRecords do
use Mix.Task
@moduledoc """
Generate erlang records from OpenNebula's XSD templates. Inspired from
http://codesinger.blogspot.com/2015/12/elixir-erlang-records-and-erlsom-xml.html
"""
@opennebula_release "5.12"
@shortdoc "Generate erlang records from OpenNebula's XSD templates"
def run(_) do
priv_dir = to_string(:code.priv_dir(:recycledcloud))
xsd_dir = Path.join([priv_dir, "opennebula", @opennebula_release, "xsd-src"])
hrl_dir = Path.join([priv_dir, "opennebula", @opennebula_release, "xsd-records"])
files = xsd_dir
|> File.ls!()
|> Enum.filter(fn filename -> String.ends_with?(filename, ".xsd") end)
|> Enum.sort()
# Delete existing hrl headers.
if File.exists?(hrl_dir) do
File.rm_rf!(hrl_dir)
end
File.mkdir_p(hrl_dir)
for xsd_filename <- files do
hrl_filename = String.replace_trailing(xsd_filename, ".xsd", ".hrl")
xsd_file = Path.join([xsd_dir, xsd_filename]) |> String.to_charlist
hrl_file = Path.join([hrl_dir, hrl_filename]) |> String.to_charlist
IO.write "> Processing #{xsd_filename}... "
try do
:erlsom.write_xsd_hrl_file(xsd_file, hrl_file, [])
IO.puts "OK"
catch
e -> IO.puts "Error: #{inspect(e)}"
end
end
end
end

View File

@ -0,0 +1,44 @@
defmodule RecycledCloud.OpenNebula do
@moduledoc """
OpenNebula XML-RPC Interface.
See http://docs.opennebula.io/5.12/integration/system_interfaces/api.html for details.
"""
# OpenNebula daemon.
@endpoint "/RPC2"
defp get_opennebula_config(key) do
Application.get_env(:recycledcloud, :opennebula, []) |> Keyword.get(key)
end
##
# Related to XML-RPC calls
defp get_auth_string() do
"#{get_opennebula_config(:user)}:#{get_opennebula_config(:password)}"
end
defp post!(call, endpoint) do
url = get_opennebula_config(:server) <> endpoint
opts = []
headers = []
body = call |> XMLRPC.encode!
response = HTTPoison.post!(url, body, headers, opts).body |> XMLRPC.decode!
case response do
%{fault_code: _, fault_string: err} -> {:error, err}
%{param: [false, err | _]} -> {:error, err}
%{param: [true, result | _]} -> {:ok, result}
end
end
def query(method, params) do
call = %XMLRPC.MethodCall{
method_name: method,
params: [get_auth_string() | params]
}
call |> post!(@endpoint)
end
end

View File

@ -0,0 +1,96 @@
defmodule RecycledCloud.OpenNebula.Schema do
@moduledoc """
Helpers used to process OpenNebula's XSD schema.
,.
/,,;';;. ,;;;.. ,,;. '
.','' `::;:' ``;;;;' `..'
` ,,/' ,,//
Here be dragons! We import the records from Erlang header files (.hrl)
generated by erlsom as macros in the Records module. The only way I found to
programatically call a macro (apply/3 only works with functions) is by
playing around with the AST to template said call...
I'm not fond of this as it makes things more complex than I would like them
to be, but likely the easiest way to user erlsom's data binder from elixir
(and it's not *that* bad). The ideal would be to generate elixir structs from
source XSD files, but it would take much more work.
Heavily inspired from Gary Poster's:
http://codesinger.blogspot.com/2015/12/elixir-erlang-records-and-erlsom-xml.html
I stole the dragon art from ASCII.co.uk.
"""
require Logger
alias RecycledCloud.OpenNebula.Schema
alias RecycledCloud.OpenNebula.Schema.Records
@opennebula_release "5.12"
##
# Data-binding: access and extract XSD models.
defp get_raw(type, object) do
priv_dir = :code.priv_dir(:recycledcloud) |> to_string
{data_dir, extension} = case type do
:xsd -> {"xsd-src", ".xsd"}
:hrl -> {"xsd-records", ".hrl"}
end
raw_path = [priv_dir, "opennebula", @opennebula_release, data_dir, object <> extension]
raw_path |> Path.join()
end
def get_xsd_for(object), do: get_raw(:xsd, object)
def get_hrl_for(object), do: get_raw(:hrl, object)
def generate_model_for(object) do
{:ok, model} = object
|> get_xsd_for()
|> :erlsom.compile_xsd_file()
model
end
##
# Data-binding: transform erlsom records to Elixir maps.
def scan(raw, object_type) do
{:ok, data, _rest} = :erlsom.scan(raw, Records.get_model_for(object_type))
data
end
defp transform_value({k, v}), do: {k, map_record(v)}
# Here be dragons! See moduledoc.
def map_record(data) when is_tuple(data) do
schema = elem(data, 0)
if schema in Keyword.keys(Schema.Records.__info__(:macros)) do
call = quote do
require RecycledCloud.OpenNebula.Schema.Records
RecycledCloud.OpenNebula.Schema.Records."XSD"(:data)
end
replace = fn
:XSD, {model, data} -> {model, {model, data}}
:data, {model, data} -> {data, {model, data}}
node, stubs -> {node, stubs}
end
{{inserted, _raw}, []} = call
|> Macro.prewalk({schema, Macro.escape(data)}, replace)
|> Code.eval_quoted()
Enum.into(inserted, Map.new, &transform_value/1)
else
Logger.debug("Ignoring unknown OpenNebula Model #{schema}.")
data
end
end
def map_record(data = [first | _rest]) when is_integer(first), do:
List.to_string(data)
def map_record(:undefined), do: nil
def map_record(data), do: data
end

View File

@ -0,0 +1,26 @@
defmodule RecycledCloud.OpenNebula.Schema.Records do
@moduledoc """
Here we define XSD template into something we can play with (Records).
Records are not usually used in elixir except for integrating with erlang
code - which is what we're doing right now: the records are defined in .hrl
(erlang headers) by erlsom.
See RecycledCloud.OpenNebula.Schema module for details.
"""
require Record
alias RecycledCloud.OpenNebula.Schema
@models %{
"vm" => Schema.generate_model_for("vm"),
"vm_pool" => Schema.generate_model_for("vm_pool")
}
def get_model_for(object), do: Map.get(@models, object)
for {name, record} <- Record.extract_all(from: Schema.get_hrl_for("vm")) do
Record.defrecord name, record
end
Record.defrecord :VM_POOL, Record.extract(:VM_POOL, from: Schema.get_hrl_for("vm_pool"))
end

View File

@ -0,0 +1,46 @@
defmodule RecycledCloud.OpenNebula.VM do
@moduledoc """
OpenNebula VM: http://docs.opennebula.io/5.12/integration/system_interfaces/api.html#one-vm-info
"""
alias RecycledCloud.OpenNebula, as: ONE
alias RecycledCloud.OpenNebula.Schema
@states [
{:any, -2},
{:any_except_done, -1},
{:init, 0},
{:pending, 1},
{:hold, 2},
{:active, 3},
{:stopped, 4},
{:suspended, 5},
{:done, 6},
{:failure, 7},
{:poweroff, 8},
{:undeployed, 9},
{:cloning, 10},
{:cloning_failure, 11}
]
def state_for(state) when is_atom(state) do
@states |> Keyword.get(state)
end
def state_for(state) when is_integer(state) do
case Enum.find(@states, fn {atom, value} -> value == state end) do
{atom, _value} -> atom
nil -> nil
end
end
def get(id) do
case ONE.query("one.vm.info", [id]) do
{:ok, raw} ->
data = raw
|> Schema.scan("vm")
|> Schema.map_record
{:ok, data}
{:error, err} -> {:error, err}
end
end
end

View File

@ -0,0 +1,53 @@
defmodule RecycledCloud.OpenNebula.VMPool do
@moduledoc """
OpenNebula VM Pool: http://docs.opennebula.io/5.12/integration/system_interfaces/api.html#one-vmpool-info
"""
alias RecycledCloud.OpenNebula, as: ONE
alias RecycledCloud.OpenNebula.Schema
# Filters ressourses.
# (user) ID >= 0 matches an user's resources.
@filter_flags [
{:user_primary_group, -4},
{:user, -3},
{:all, -2},
{:user_and_groups, -1}
]
def get(%{filter_flag: filter_flag} = params) when is_atom(filter_flag) do
params
|> Map.put(:filter_flag, Keyword.get(@filter_flags, filter_flag))
|> get()
end
def get(%{range_start: :infinite} = params) do
params |> Map.put(:range_start, -1) |> get()
end
def get(%{range_end: :infinite} = params) do
params |> Map.put(:range_end, -1) |> get()
end
def get(%{state_filter: state} = params) when is_atom(state) do
params |> Map.put(:state_filter, ONE.VM.state_for(state)) |> get()
end
def get(%{
filter_flag: filter_flag,
range_start: range_start,
range_end: range_end,
state_filter: state,
kv_filter: kv_filter
}) do
params = [filter_flag, range_start, range_end, state, kv_filter]
case ONE.query("one.vmpool.info", params) do
{:ok, raw} ->
data = raw
|> Schema.scan("vm_pool")
|> Schema.map_record
{:ok, data}
{:error, err} -> {:error, err}
end
end
end

View File

@ -62,7 +62,8 @@ defmodule RecycledCloud.MixProject do
{:xmlrpc, "~> 1.4"},
{:httpoison, "~> 1.8"},
{:the_big_username_blacklist, "~> 0.1"},
{:credo, "~> 1.5", only: [:dev, :test], runtime: false}
{:credo, "~> 1.5", only: [:dev, :test], runtime: false},
{:erlsom, "~> 1.5"}
]
end

View File

@ -0,0 +1,127 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('HISTORY', {anyAttribs :: anyAttribs(),
'OID' :: integer(),
'SEQ' :: integer(),
'HOSTNAME' :: string(),
'HID' :: integer(),
'CID' :: integer(),
'STIME' :: integer(),
'ETIME' :: integer(),
'VM_MAD' :: string(),
'TM_MAD' :: string(),
'DS_ID' :: integer(),
'PSTIME' :: integer(),
'PETIME' :: integer(),
'RSTIME' :: integer(),
'RETIME' :: integer(),
'ESTIME' :: integer(),
'EETIME' :: integer(),
'ACTION' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'REQUEST_ID' :: string(),
'VM' :: 'HISTORY/VM'()}).
-type 'HISTORY'() :: #'HISTORY'{}.
-record('HISTORY/VM', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'UNAME' :: string(),
'GNAME' :: string(),
'NAME' :: string(),
'PERMISSIONS' :: 'HISTORY/VM/PERMISSIONS'() | undefined,
'LAST_POLL' :: integer(),
'STATE' :: integer(),
'LCM_STATE' :: integer(),
'PREV_STATE' :: integer(),
'PREV_LCM_STATE' :: integer(),
'RESCHED' :: integer(),
'STIME' :: integer(),
'ETIME' :: integer(),
'DEPLOY_ID' :: string(),
'MONITORING' :: string(),
'TEMPLATE' :: string(),
'USER_TEMPLATE' :: string(),
'HISTORY_RECORDS' :: string(),
'SNAPSHOTS' :: ['HISTORY/VM/SNAPSHOTS'()] | undefined}).
-type 'HISTORY/VM'() :: #'HISTORY/VM'{}.
-record('HISTORY/VM/SNAPSHOTS', {anyAttribs :: anyAttribs(),
'ALLOW_ORPHANS' :: string(),
'CURRENT_BASE' :: integer(),
'DISK_ID' :: integer(),
'NEXT_SNAPSHOT' :: integer(),
'SNAPSHOT' :: ['HISTORY/VM/SNAPSHOTS/SNAPSHOT'()] | undefined}).
-type 'HISTORY/VM/SNAPSHOTS'() :: #'HISTORY/VM/SNAPSHOTS'{}.
-record('HISTORY/VM/SNAPSHOTS/SNAPSHOT', {anyAttribs :: anyAttribs(),
'ACTIVE' :: string() | undefined,
'CHILDREN' :: string() | undefined,
'DATE' :: integer(),
'ID' :: integer(),
'NAME' :: string() | undefined,
'PARENT' :: integer(),
'SIZE' :: integer()}).
-type 'HISTORY/VM/SNAPSHOTS/SNAPSHOT'() :: #'HISTORY/VM/SNAPSHOTS/SNAPSHOT'{}.
-record('HISTORY/VM/PERMISSIONS', {anyAttribs :: anyAttribs(),
'OWNER_U' :: integer(),
'OWNER_M' :: integer(),
'OWNER_A' :: integer(),
'GROUP_U' :: integer(),
'GROUP_M' :: integer(),
'GROUP_A' :: integer(),
'OTHER_U' :: integer(),
'OTHER_M' :: integer(),
'OTHER_A' :: integer()}).
-type 'HISTORY/VM/PERMISSIONS'() :: #'HISTORY/VM/PERMISSIONS'{}.
-record('HISTORY_RECORDS', {anyAttribs :: anyAttribs(),
'HISTORY_RECORDS/SEQ1' :: 'HISTORY_RECORDS/SEQ1'() | undefined}).
-type 'HISTORY_RECORDS'() :: #'HISTORY_RECORDS'{}.
-record('HISTORY_RECORDS/SEQ1', {anyAttribs :: anyAttribs(),
'HISTORY' :: ['HISTORY'()] | undefined}).
-type 'HISTORY_RECORDS/SEQ1'() :: #'HISTORY_RECORDS/SEQ1'{}.

View File

@ -0,0 +1,50 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('ACL_POOL', {anyAttribs :: anyAttribs(),
'ACL_POOL/SEQ1' :: 'ACL_POOL/SEQ1'() | undefined}).
-type 'ACL_POOL'() :: #'ACL_POOL'{}.
-record('ACL_POOL/SEQ1', {anyAttribs :: anyAttribs(),
'ACL' :: ['ACL_POOL/SEQ1/ACL'()] | undefined}).
-type 'ACL_POOL/SEQ1'() :: #'ACL_POOL/SEQ1'{}.
-record('ACL_POOL/SEQ1/ACL', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'USER' :: string(),
'RESOURCE' :: string(),
'RIGHTS' :: string(),
'ZONE' :: string(),
'STRING' :: string()}).
-type 'ACL_POOL/SEQ1/ACL'() :: #'ACL_POOL/SEQ1/ACL'{}.

View File

@ -0,0 +1,56 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('CLUSTER', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'NAME' :: string(),
'HOSTS' :: 'CLUSTER/HOSTS'(),
'DATASTORES' :: 'CLUSTER/DATASTORES'(),
'VNETS' :: 'CLUSTER/VNETS'(),
'TEMPLATE' :: string()}).
-type 'CLUSTER'() :: #'CLUSTER'{}.
-record('CLUSTER/VNETS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'CLUSTER/VNETS'() :: #'CLUSTER/VNETS'{}.
-record('CLUSTER/DATASTORES', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'CLUSTER/DATASTORES'() :: #'CLUSTER/DATASTORES'{}.
-record('CLUSTER/HOSTS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'CLUSTER/HOSTS'() :: #'CLUSTER/HOSTS'{}.

View File

@ -0,0 +1,89 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('DATASTORE', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'UNAME' :: string(),
'GNAME' :: string(),
'NAME' :: string(),
'PERMISSIONS' :: 'DATASTORE/PERMISSIONS'() | undefined,
'DS_MAD' :: string(),
'TM_MAD' :: string(),
'BASE_PATH' :: string(),
'TYPE' :: integer(),
'DISK_TYPE' :: integer(),
'STATE' :: integer(),
'CLUSTERS' :: 'DATASTORE/CLUSTERS'(),
'TOTAL_MB' :: integer(),
'FREE_MB' :: integer(),
'USED_MB' :: integer(),
'IMAGES' :: 'DATASTORE/IMAGES'(),
'TEMPLATE' :: 'DATASTORE/TEMPLATE'()}).
-type 'DATASTORE'() :: #'DATASTORE'{}.
-record('DATASTORE/TEMPLATE', {anyAttribs :: anyAttribs(),
'VCENTER_DC_NAME' :: string() | undefined,
'VCENTER_DC_REF' :: string() | undefined,
'VCENTER_DS_NAME' :: string() | undefined,
'VCENTER_DS_REF' :: string() | undefined,
'VCENTER_HOST' :: string() | undefined,
'VCENTER_INSTANCE_ID' :: string() | undefined,
'#any' :: any()}).
-type 'DATASTORE/TEMPLATE'() :: #'DATASTORE/TEMPLATE'{}.
-record('DATASTORE/IMAGES', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'DATASTORE/IMAGES'() :: #'DATASTORE/IMAGES'{}.
-record('DATASTORE/CLUSTERS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'DATASTORE/CLUSTERS'() :: #'DATASTORE/CLUSTERS'{}.
-record('DATASTORE/PERMISSIONS', {anyAttribs :: anyAttribs(),
'OWNER_U' :: integer(),
'OWNER_M' :: integer(),
'OWNER_A' :: integer(),
'GROUP_U' :: integer(),
'GROUP_M' :: integer(),
'GROUP_A' :: integer(),
'OTHER_U' :: integer(),
'OTHER_M' :: integer(),
'OTHER_A' :: integer()}).
-type 'DATASTORE/PERMISSIONS'() :: #'DATASTORE/PERMISSIONS'{}.

View File

@ -0,0 +1,65 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('DOCUMENT', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'UNAME' :: string(),
'GNAME' :: string(),
'NAME' :: string(),
'TYPE' :: string(),
'PERMISSIONS' :: 'DOCUMENT/PERMISSIONS'() | undefined,
'LOCK' :: 'DOCUMENT/LOCK'() | undefined,
'TEMPLATE' :: string()}).
-type 'DOCUMENT'() :: #'DOCUMENT'{}.
-record('DOCUMENT/LOCK', {anyAttribs :: anyAttribs(),
'LOCKED' :: integer(),
'OWNER' :: integer(),
'TIME' :: integer(),
'REQ_ID' :: integer()}).
-type 'DOCUMENT/LOCK'() :: #'DOCUMENT/LOCK'{}.
-record('DOCUMENT/PERMISSIONS', {anyAttribs :: anyAttribs(),
'OWNER_U' :: integer(),
'OWNER_M' :: integer(),
'OWNER_A' :: integer(),
'GROUP_U' :: integer(),
'GROUP_M' :: integer(),
'GROUP_A' :: integer(),
'OTHER_U' :: integer(),
'OTHER_M' :: integer(),
'OTHER_A' :: integer()}).
-type 'DOCUMENT/PERMISSIONS'() :: #'DOCUMENT/PERMISSIONS'{}.

View File

@ -0,0 +1,201 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('GROUP', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'NAME' :: string(),
'TEMPLATE' :: string(),
'USERS' :: 'GROUP/USERS'(),
'ADMINS' :: 'GROUP/ADMINS'(),
'DATASTORE_QUOTA' :: 'GROUP/DATASTORE_QUOTA'() | undefined,
'NETWORK_QUOTA' :: 'GROUP/NETWORK_QUOTA'() | undefined,
'VM_QUOTA' :: 'GROUP/VM_QUOTA'() | undefined,
'IMAGE_QUOTA' :: 'GROUP/IMAGE_QUOTA'() | undefined,
'DEFAULT_GROUP_QUOTAS' :: 'GROUP/DEFAULT_GROUP_QUOTAS'()}).
-type 'GROUP'() :: #'GROUP'{}.
-record('GROUP/DEFAULT_GROUP_QUOTAS', {anyAttribs :: anyAttribs(),
'DATASTORE_QUOTA' :: 'GROUP/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA'() | undefined,
'NETWORK_QUOTA' :: 'GROUP/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA'() | undefined,
'VM_QUOTA' :: 'GROUP/DEFAULT_GROUP_QUOTAS/VM_QUOTA'() | undefined,
'IMAGE_QUOTA' :: 'GROUP/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA'() | undefined}).
-type 'GROUP/DEFAULT_GROUP_QUOTAS'() :: #'GROUP/DEFAULT_GROUP_QUOTAS'{}.
-record('GROUP/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA', {anyAttribs :: anyAttribs(),
'IMAGE' :: ['GROUP/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA/IMAGE'()] | undefined}).
-type 'GROUP/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA'() :: #'GROUP/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA'{}.
-record('GROUP/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA/IMAGE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'RVMS' :: string(),
'RVMS_USED' :: string()}).
-type 'GROUP/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA/IMAGE'() :: #'GROUP/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA/IMAGE'{}.
-record('GROUP/DEFAULT_GROUP_QUOTAS/VM_QUOTA', {anyAttribs :: anyAttribs(),
'VM' :: 'GROUP/DEFAULT_GROUP_QUOTAS/VM_QUOTA/VM'() | undefined}).
-type 'GROUP/DEFAULT_GROUP_QUOTAS/VM_QUOTA'() :: #'GROUP/DEFAULT_GROUP_QUOTAS/VM_QUOTA'{}.
-record('GROUP/DEFAULT_GROUP_QUOTAS/VM_QUOTA/VM', {anyAttribs :: anyAttribs(),
'CPU' :: string(),
'CPU_USED' :: string(),
'MEMORY' :: integer(),
'MEMORY_USED' :: integer(),
'RUNNING_CPU' :: string(),
'RUNNING_CPU_USED' :: string(),
'RUNNING_MEMORY' :: integer(),
'RUNNING_MEMORY_USED' :: integer(),
'RUNNING_VMS' :: integer(),
'RUNNING_VMS_USED' :: integer(),
'SYSTEM_DISK_SIZE' :: string(),
'SYSTEM_DISK_SIZE_USED' :: string(),
'VMS' :: integer(),
'VMS_USED' :: integer()}).
-type 'GROUP/DEFAULT_GROUP_QUOTAS/VM_QUOTA/VM'() :: #'GROUP/DEFAULT_GROUP_QUOTAS/VM_QUOTA/VM'{}.
-record('GROUP/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA', {anyAttribs :: anyAttribs(),
'NETWORK' :: ['GROUP/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA/NETWORK'()] | undefined}).
-type 'GROUP/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA'() :: #'GROUP/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA'{}.
-record('GROUP/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA/NETWORK', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'LEASES' :: string(),
'LEASES_USED' :: string()}).
-type 'GROUP/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA/NETWORK'() :: #'GROUP/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA/NETWORK'{}.
-record('GROUP/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA', {anyAttribs :: anyAttribs(),
'DATASTORE' :: ['GROUP/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA/DATASTORE'()] | undefined}).
-type 'GROUP/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA'() :: #'GROUP/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA'{}.
-record('GROUP/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA/DATASTORE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'IMAGES' :: string(),
'IMAGES_USED' :: string(),
'SIZE' :: string(),
'SIZE_USED' :: string()}).
-type 'GROUP/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA/DATASTORE'() :: #'GROUP/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA/DATASTORE'{}.
-record('GROUP/IMAGE_QUOTA', {anyAttribs :: anyAttribs(),
'IMAGE' :: ['GROUP/IMAGE_QUOTA/IMAGE'()] | undefined}).
-type 'GROUP/IMAGE_QUOTA'() :: #'GROUP/IMAGE_QUOTA'{}.
-record('GROUP/IMAGE_QUOTA/IMAGE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'RVMS' :: string(),
'RVMS_USED' :: string()}).
-type 'GROUP/IMAGE_QUOTA/IMAGE'() :: #'GROUP/IMAGE_QUOTA/IMAGE'{}.
-record('GROUP/VM_QUOTA', {anyAttribs :: anyAttribs(),
'VM' :: 'GROUP/VM_QUOTA/VM'() | undefined}).
-type 'GROUP/VM_QUOTA'() :: #'GROUP/VM_QUOTA'{}.
-record('GROUP/VM_QUOTA/VM', {anyAttribs :: anyAttribs(),
'CPU' :: string(),
'CPU_USED' :: string(),
'MEMORY' :: integer(),
'MEMORY_USED' :: integer(),
'RUNNING_CPU' :: string(),
'RUNNING_CPU_USED' :: string(),
'RUNNING_MEMORY' :: integer(),
'RUNNING_MEMORY_USED' :: integer(),
'RUNNING_VMS' :: integer(),
'RUNNING_VMS_USED' :: integer(),
'SYSTEM_DISK_SIZE' :: string(),
'SYSTEM_DISK_SIZE_USED' :: string(),
'VMS' :: integer(),
'VMS_USED' :: integer()}).
-type 'GROUP/VM_QUOTA/VM'() :: #'GROUP/VM_QUOTA/VM'{}.
-record('GROUP/NETWORK_QUOTA', {anyAttribs :: anyAttribs(),
'NETWORK' :: ['GROUP/NETWORK_QUOTA/NETWORK'()] | undefined}).
-type 'GROUP/NETWORK_QUOTA'() :: #'GROUP/NETWORK_QUOTA'{}.
-record('GROUP/NETWORK_QUOTA/NETWORK', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'LEASES' :: string(),
'LEASES_USED' :: string()}).
-type 'GROUP/NETWORK_QUOTA/NETWORK'() :: #'GROUP/NETWORK_QUOTA/NETWORK'{}.
-record('GROUP/DATASTORE_QUOTA', {anyAttribs :: anyAttribs(),
'DATASTORE' :: ['GROUP/DATASTORE_QUOTA/DATASTORE'()] | undefined}).
-type 'GROUP/DATASTORE_QUOTA'() :: #'GROUP/DATASTORE_QUOTA'{}.
-record('GROUP/DATASTORE_QUOTA/DATASTORE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'IMAGES' :: string(),
'IMAGES_USED' :: string(),
'SIZE' :: string(),
'SIZE_USED' :: string()}).
-type 'GROUP/DATASTORE_QUOTA/DATASTORE'() :: #'GROUP/DATASTORE_QUOTA/DATASTORE'{}.
-record('GROUP/ADMINS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'GROUP/ADMINS'() :: #'GROUP/ADMINS'{}.
-record('GROUP/USERS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'GROUP/USERS'() :: #'GROUP/USERS'{}.

View File

@ -0,0 +1,219 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('GROUP_POOL', {anyAttribs :: anyAttribs(),
choice :: 'GROUP_POOL/SEQ1'() | 'GROUP_POOL/SEQ1'() | 'GROUP_POOL/SEQ1'()}).
-type 'GROUP_POOL'() :: #'GROUP_POOL'{}.
-record('GROUP_POOL/SEQ1', {anyAttribs :: anyAttribs(),
choice :: [['GROUP_POOL/SEQ1/QUOTAS'()] | ['GROUP_POOL/SEQ1/GROUP'()]] | undefined,
'DEFAULT_GROUP_QUOTAS' :: 'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS'()}).
-type 'GROUP_POOL/SEQ1'() :: #'GROUP_POOL/SEQ1'{}.
-record('GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS', {anyAttribs :: anyAttribs(),
'DATASTORE_QUOTA' :: 'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA'() | undefined,
'NETWORK_QUOTA' :: 'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA'() | undefined,
'VM_QUOTA' :: 'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/VM_QUOTA'() | undefined,
'IMAGE_QUOTA' :: 'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA'() | undefined}).
-type 'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS'() :: #'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS'{}.
-record('GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA', {anyAttribs :: anyAttribs(),
'IMAGE' :: ['GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA/IMAGE'()] | undefined}).
-type 'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA'() :: #'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA'{}.
-record('GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA/IMAGE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'RVMS' :: string(),
'RVMS_USED' :: string()}).
-type 'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA/IMAGE'() :: #'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/IMAGE_QUOTA/IMAGE'{}.
-record('GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/VM_QUOTA', {anyAttribs :: anyAttribs(),
'VM' :: 'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/VM_QUOTA/VM'() | undefined}).
-type 'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/VM_QUOTA'() :: #'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/VM_QUOTA'{}.
-record('GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/VM_QUOTA/VM', {anyAttribs :: anyAttribs(),
'CPU' :: string(),
'CPU_USED' :: string(),
'MEMORY' :: string(),
'MEMORY_USED' :: string(),
'RUNNING_CPU' :: string(),
'RUNNING_CPU_USED' :: string(),
'RUNNING_MEMORY' :: string(),
'RUNNING_MEMORY_USED' :: string(),
'RUNNING_VMS' :: string(),
'RUNNING_VMS_USED' :: string(),
'SYSTEM_DISK_SIZE' :: string(),
'SYSTEM_DISK_SIZE_USED' :: string(),
'VMS' :: string(),
'VMS_USED' :: string()}).
-type 'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/VM_QUOTA/VM'() :: #'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/VM_QUOTA/VM'{}.
-record('GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA', {anyAttribs :: anyAttribs(),
'NETWORK' :: ['GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA/NETWORK'()] | undefined}).
-type 'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA'() :: #'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA'{}.
-record('GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA/NETWORK', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'LEASES' :: string(),
'LEASES_USED' :: string()}).
-type 'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA/NETWORK'() :: #'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/NETWORK_QUOTA/NETWORK'{}.
-record('GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA', {anyAttribs :: anyAttribs(),
'DATASTORE' :: ['GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA/DATASTORE'()] | undefined}).
-type 'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA'() :: #'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA'{}.
-record('GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA/DATASTORE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'IMAGES' :: string(),
'IMAGES_USED' :: string(),
'SIZE' :: string(),
'SIZE_USED' :: string()}).
-type 'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA/DATASTORE'() :: #'GROUP_POOL/SEQ1/DEFAULT_GROUP_QUOTAS/DATASTORE_QUOTA/DATASTORE'{}.
-record('GROUP_POOL/SEQ1/QUOTAS', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'DATASTORE_QUOTA' :: 'GROUP_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA'() | undefined,
'NETWORK_QUOTA' :: 'GROUP_POOL/SEQ1/QUOTAS/NETWORK_QUOTA'() | undefined,
'VM_QUOTA' :: 'GROUP_POOL/SEQ1/QUOTAS/VM_QUOTA'() | undefined,
'IMAGE_QUOTA' :: 'GROUP_POOL/SEQ1/QUOTAS/IMAGE_QUOTA'() | undefined}).
-type 'GROUP_POOL/SEQ1/QUOTAS'() :: #'GROUP_POOL/SEQ1/QUOTAS'{}.
-record('GROUP_POOL/SEQ1/QUOTAS/IMAGE_QUOTA', {anyAttribs :: anyAttribs(),
'IMAGE' :: ['GROUP_POOL/SEQ1/QUOTAS/IMAGE_QUOTA/IMAGE'()] | undefined}).
-type 'GROUP_POOL/SEQ1/QUOTAS/IMAGE_QUOTA'() :: #'GROUP_POOL/SEQ1/QUOTAS/IMAGE_QUOTA'{}.
-record('GROUP_POOL/SEQ1/QUOTAS/IMAGE_QUOTA/IMAGE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'RVMS' :: string(),
'RVMS_USED' :: string()}).
-type 'GROUP_POOL/SEQ1/QUOTAS/IMAGE_QUOTA/IMAGE'() :: #'GROUP_POOL/SEQ1/QUOTAS/IMAGE_QUOTA/IMAGE'{}.
-record('GROUP_POOL/SEQ1/QUOTAS/VM_QUOTA', {anyAttribs :: anyAttribs(),
'VM' :: 'GROUP_POOL/SEQ1/QUOTAS/VM_QUOTA/VM'() | undefined}).
-type 'GROUP_POOL/SEQ1/QUOTAS/VM_QUOTA'() :: #'GROUP_POOL/SEQ1/QUOTAS/VM_QUOTA'{}.
-record('GROUP_POOL/SEQ1/QUOTAS/VM_QUOTA/VM', {anyAttribs :: anyAttribs(),
'CPU' :: string(),
'CPU_USED' :: string(),
'MEMORY' :: string(),
'MEMORY_USED' :: string(),
'RUNNING_CPU' :: string(),
'RUNNING_CPU_USED' :: string(),
'RUNNING_MEMORY' :: string(),
'RUNNING_MEMORY_USED' :: string(),
'RUNNING_VMS' :: string(),
'RUNNING_VMS_USED' :: string(),
'SYSTEM_DISK_SIZE' :: string(),
'SYSTEM_DISK_SIZE_USED' :: string(),
'VMS' :: string(),
'VMS_USED' :: string()}).
-type 'GROUP_POOL/SEQ1/QUOTAS/VM_QUOTA/VM'() :: #'GROUP_POOL/SEQ1/QUOTAS/VM_QUOTA/VM'{}.
-record('GROUP_POOL/SEQ1/QUOTAS/NETWORK_QUOTA', {anyAttribs :: anyAttribs(),
'NETWORK' :: ['GROUP_POOL/SEQ1/QUOTAS/NETWORK_QUOTA/NETWORK'()] | undefined}).
-type 'GROUP_POOL/SEQ1/QUOTAS/NETWORK_QUOTA'() :: #'GROUP_POOL/SEQ1/QUOTAS/NETWORK_QUOTA'{}.
-record('GROUP_POOL/SEQ1/QUOTAS/NETWORK_QUOTA/NETWORK', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'LEASES' :: string(),
'LEASES_USED' :: string()}).
-type 'GROUP_POOL/SEQ1/QUOTAS/NETWORK_QUOTA/NETWORK'() :: #'GROUP_POOL/SEQ1/QUOTAS/NETWORK_QUOTA/NETWORK'{}.
-record('GROUP_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA', {anyAttribs :: anyAttribs(),
'DATASTORE' :: ['GROUP_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA/DATASTORE'()] | undefined}).
-type 'GROUP_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA'() :: #'GROUP_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA'{}.
-record('GROUP_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA/DATASTORE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'IMAGES' :: string(),
'IMAGES_USED' :: string(),
'SIZE' :: string(),
'SIZE_USED' :: string()}).
-type 'GROUP_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA/DATASTORE'() :: #'GROUP_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA/DATASTORE'{}.
-record('GROUP_POOL/SEQ1/GROUP', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'NAME' :: string(),
'TEMPLATE' :: string(),
'USERS' :: 'GROUP_POOL/SEQ1/GROUP/USERS'(),
'ADMINS' :: 'GROUP_POOL/SEQ1/GROUP/ADMINS'()}).
-type 'GROUP_POOL/SEQ1/GROUP'() :: #'GROUP_POOL/SEQ1/GROUP'{}.
-record('GROUP_POOL/SEQ1/GROUP/ADMINS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'GROUP_POOL/SEQ1/GROUP/ADMINS'() :: #'GROUP_POOL/SEQ1/GROUP/ADMINS'{}.
-record('GROUP_POOL/SEQ1/GROUP/USERS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'GROUP_POOL/SEQ1/GROUP/USERS'() :: #'GROUP_POOL/SEQ1/GROUP/USERS'{}.

View File

@ -0,0 +1,81 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('HOOK', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'NAME' :: string(),
'TYPE' :: string(),
'TEMPLATE' :: 'HOOK/TEMPLATE'(),
'HOOKLOG' :: 'HOOK/HOOKLOG'() | undefined}).
-type 'HOOK'() :: #'HOOK'{}.
-record('HOOK/HOOKLOG', {anyAttribs :: anyAttribs(),
'HOOK_EXECUTION_RECORD' :: ['HOOK/HOOKLOG/HOOK_EXECUTION_RECORD'()] | undefined}).
-type 'HOOK/HOOKLOG'() :: #'HOOK/HOOKLOG'{}.
-record('HOOK/HOOKLOG/HOOK_EXECUTION_RECORD', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined,
'HOOK_ID' :: integer(),
'EXECUTION_ID' :: integer(),
'TIMESTAMP' :: integer(),
'ARGUMENTS' :: string(),
'EXECUTION_RESULT' :: 'HOOK/HOOKLOG/HOOK_EXECUTION_RECORD/EXECUTION_RESULT'(),
'REMOTE_HOST' :: string() | undefined,
'RETRY' :: string() | undefined,
choice1 :: [any()] | undefined}).
-type 'HOOK/HOOKLOG/HOOK_EXECUTION_RECORD'() :: #'HOOK/HOOKLOG/HOOK_EXECUTION_RECORD'{}.
-record('HOOK/HOOKLOG/HOOK_EXECUTION_RECORD/EXECUTION_RESULT', {anyAttribs :: anyAttribs(),
'COMMAND' :: string(),
'STDOUT' :: string(),
'STDERR' :: string(),
'CODE' :: string()}).
-type 'HOOK/HOOKLOG/HOOK_EXECUTION_RECORD/EXECUTION_RESULT'() :: #'HOOK/HOOKLOG/HOOK_EXECUTION_RECORD/EXECUTION_RESULT'{}.
-record('HOOK/TEMPLATE', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined,
'ARGUMENTS' :: string() | undefined,
'ARGUMENTS_STDIN' :: string() | undefined,
'CALL' :: string() | undefined,
'COMMAND' :: string(),
'REMOTE' :: string() | undefined,
'RESOURCE' :: string() | undefined,
'STATE' :: string() | undefined,
'LCM_STATE' :: string() | undefined,
choice1 :: [any()] | undefined}).
-type 'HOOK/TEMPLATE'() :: #'HOOK/TEMPLATE'{}.

View File

@ -0,0 +1,35 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('HOOK_MESSAGE', {anyAttribs :: anyAttribs(),
'HOOK_TYPE' :: string(),
'CALL' :: string(),
'CALL_INFO' :: ['CALL_INFO'()] | undefined}).
-type 'HOOK_MESSAGE'() :: #'HOOK_MESSAGE'{}.

View File

@ -0,0 +1,34 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('HOOK_MESSAGE', {anyAttribs :: anyAttribs(),
'ARGUMENTS' :: string(),
'HOOK_ID' :: integer()}).
-type 'HOOK_MESSAGE'() :: #'HOOK_MESSAGE'{}.

View File

@ -0,0 +1,165 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('HOST', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'NAME' :: string(),
'STATE' :: integer(),
'PREV_STATE' :: integer(),
'IM_MAD' :: string(),
'VM_MAD' :: string(),
'CLUSTER_ID' :: integer(),
'CLUSTER' :: string(),
'HOST_SHARE' :: 'HOST/HOST_SHARE'(),
'VMS' :: 'HOST/VMS'(),
'TEMPLATE' :: 'HOST/TEMPLATE'(),
'MONITORING' :: 'HOST/MONITORING'()}).
-type 'HOST'() :: #'HOST'{}.
-record('HOST/MONITORING', {anyAttribs :: anyAttribs(),
'TIMESTAMP' :: integer() | undefined,
'ID' :: integer() | undefined,
'CAPACITY' :: 'HOST/MONITORING/CAPACITY'() | undefined,
'SYSTEM' :: 'HOST/MONITORING/SYSTEM'() | undefined}).
-type 'HOST/MONITORING'() :: #'HOST/MONITORING'{}.
-record('HOST/MONITORING/SYSTEM', {anyAttribs :: anyAttribs(),
'NETRX' :: integer() | undefined,
'NETTX' :: integer() | undefined}).
-type 'HOST/MONITORING/SYSTEM'() :: #'HOST/MONITORING/SYSTEM'{}.
-record('HOST/MONITORING/CAPACITY', {anyAttribs :: anyAttribs(),
'FREE_CPU' :: integer(),
'FREE_MEMORY' :: integer(),
'USED_CPU' :: integer(),
'USED_MEMORY' :: integer()}).
-type 'HOST/MONITORING/CAPACITY'() :: #'HOST/MONITORING/CAPACITY'{}.
-record('HOST/TEMPLATE', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined,
'VCENTER_CCR_REF' :: string() | undefined,
'VCENTER_DS_REF' :: [string()] | undefined,
'VCENTER_HOST' :: string() | undefined,
'VCENTER_INSTANCE_ID' :: string() | undefined,
'VCENTER_NAME' :: string() | undefined,
'VCENTER_PASSWORD' :: string() | undefined,
'VCENTER_RESOURCE_POOL_INFO' :: [string()] | undefined,
'VCENTER_USER' :: string() | undefined,
'VCENTER_VERSION' :: string() | undefined,
choice1 :: [any()] | undefined}).
-type 'HOST/TEMPLATE'() :: #'HOST/TEMPLATE'{}.
-record('HOST/VMS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'HOST/VMS'() :: #'HOST/VMS'{}.
-record('HOST/HOST_SHARE', {anyAttribs :: anyAttribs(),
'MEM_USAGE' :: integer(),
'CPU_USAGE' :: integer(),
'TOTAL_MEM' :: integer(),
'TOTAL_CPU' :: integer(),
'MAX_MEM' :: integer(),
'MAX_CPU' :: integer(),
'RUNNING_VMS' :: integer(),
'VMS_THREAD' :: integer(),
'DATASTORES' :: 'HOST/HOST_SHARE/DATASTORES'(),
'PCI_DEVICES' :: 'HOST/HOST_SHARE/PCI_DEVICES'(),
'NUMA_NODES' :: 'HOST/HOST_SHARE/NUMA_NODES'()}).
-type 'HOST/HOST_SHARE'() :: #'HOST/HOST_SHARE'{}.
-record('HOST/HOST_SHARE/NUMA_NODES', {anyAttribs :: anyAttribs(),
'NODE' :: ['HOST/HOST_SHARE/NUMA_NODES/NODE'()] | undefined}).
-type 'HOST/HOST_SHARE/NUMA_NODES'() :: #'HOST/HOST_SHARE/NUMA_NODES'{}.
-record('HOST/HOST_SHARE/NUMA_NODES/NODE', {anyAttribs :: anyAttribs(),
'CORE' :: ['HOST/HOST_SHARE/NUMA_NODES/NODE/CORE'()] | undefined,
'HUGEPAGE' :: ['HOST/HOST_SHARE/NUMA_NODES/NODE/HUGEPAGE'()] | undefined,
'MEMORY' :: 'HOST/HOST_SHARE/NUMA_NODES/NODE/MEMORY'(),
'NODE_ID' :: integer()}).
-type 'HOST/HOST_SHARE/NUMA_NODES/NODE'() :: #'HOST/HOST_SHARE/NUMA_NODES/NODE'{}.
-record('HOST/HOST_SHARE/NUMA_NODES/NODE/MEMORY', {anyAttribs :: anyAttribs(),
'DISTANCE' :: string(),
'FREE' :: integer(),
'TOTAL' :: integer(),
'USAGE' :: integer(),
'USED' :: integer()}).
-type 'HOST/HOST_SHARE/NUMA_NODES/NODE/MEMORY'() :: #'HOST/HOST_SHARE/NUMA_NODES/NODE/MEMORY'{}.
-record('HOST/HOST_SHARE/NUMA_NODES/NODE/HUGEPAGE', {anyAttribs :: anyAttribs(),
'FREE' :: integer(),
'PAGES' :: integer(),
'SIZE' :: integer(),
'USAGE' :: integer()}).
-type 'HOST/HOST_SHARE/NUMA_NODES/NODE/HUGEPAGE'() :: #'HOST/HOST_SHARE/NUMA_NODES/NODE/HUGEPAGE'{}.
-record('HOST/HOST_SHARE/NUMA_NODES/NODE/CORE', {anyAttribs :: anyAttribs(),
'CPUS' :: string(),
'DEDICATED' :: string(),
'FREE' :: integer(),
'ID' :: integer()}).
-type 'HOST/HOST_SHARE/NUMA_NODES/NODE/CORE'() :: #'HOST/HOST_SHARE/NUMA_NODES/NODE/CORE'{}.
-record('HOST/HOST_SHARE/PCI_DEVICES', {anyAttribs :: anyAttribs(),
'PCI' :: [string()] | undefined}).
-type 'HOST/HOST_SHARE/PCI_DEVICES'() :: #'HOST/HOST_SHARE/PCI_DEVICES'{}.
-record('HOST/HOST_SHARE/DATASTORES', {anyAttribs :: anyAttribs(),
'DISK_USAGE' :: integer(),
'FREE_DISK' :: integer(),
'MAX_DISK' :: integer(),
'USED_DISK' :: integer()}).
-type 'HOST/HOST_SHARE/DATASTORES'() :: #'HOST/HOST_SHARE/DATASTORES'{}.

View File

@ -0,0 +1,131 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('IMAGE', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'UNAME' :: string(),
'GNAME' :: string(),
'NAME' :: string(),
'LOCK' :: 'IMAGE/LOCK'() | undefined,
'PERMISSIONS' :: 'IMAGE/PERMISSIONS'() | undefined,
'TYPE' :: integer(),
'DISK_TYPE' :: integer(),
'PERSISTENT' :: integer(),
'REGTIME' :: integer(),
'SOURCE' :: string(),
'PATH' :: string(),
'FORMAT' :: string(),
'FS' :: string(),
'SIZE' :: integer(),
'STATE' :: integer(),
'RUNNING_VMS' :: integer(),
'CLONING_OPS' :: integer(),
'CLONING_ID' :: integer(),
'TARGET_SNAPSHOT' :: integer(),
'DATASTORE_ID' :: integer(),
'DATASTORE' :: string(),
'VMS' :: 'IMAGE/VMS'(),
'CLONES' :: 'IMAGE/CLONES'(),
'APP_CLONES' :: 'IMAGE/APP_CLONES'(),
'TEMPLATE' :: 'IMAGE/TEMPLATE'(),
'SNAPSHOTS' :: 'IMAGE/SNAPSHOTS'()}).
-type 'IMAGE'() :: #'IMAGE'{}.
-record('IMAGE/SNAPSHOTS', {anyAttribs :: anyAttribs(),
'ALLOW_ORPHANS' :: string(),
'CURRENT_BASE' :: integer(),
'NEXT_SNAPSHOT' :: string(),
'SNAPSHOT' :: ['IMAGE/SNAPSHOTS/SNAPSHOT'()] | undefined}).
-type 'IMAGE/SNAPSHOTS'() :: #'IMAGE/SNAPSHOTS'{}.
-record('IMAGE/SNAPSHOTS/SNAPSHOT', {anyAttribs :: anyAttribs(),
'CHILDREN' :: string() | undefined,
'ACTIVE' :: string() | undefined,
'DATE' :: integer(),
'ID' :: integer(),
'NAME' :: string() | undefined,
'PARENT' :: integer(),
'SIZE' :: integer()}).
-type 'IMAGE/SNAPSHOTS/SNAPSHOT'() :: #'IMAGE/SNAPSHOTS/SNAPSHOT'{}.
-record('IMAGE/TEMPLATE', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined,
'VCENTER_IMPORTED' :: string() | undefined,
choice1 :: [any()] | undefined}).
-type 'IMAGE/TEMPLATE'() :: #'IMAGE/TEMPLATE'{}.
-record('IMAGE/APP_CLONES', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'IMAGE/APP_CLONES'() :: #'IMAGE/APP_CLONES'{}.
-record('IMAGE/CLONES', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'IMAGE/CLONES'() :: #'IMAGE/CLONES'{}.
-record('IMAGE/VMS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'IMAGE/VMS'() :: #'IMAGE/VMS'{}.
-record('IMAGE/PERMISSIONS', {anyAttribs :: anyAttribs(),
'OWNER_U' :: integer(),
'OWNER_M' :: integer(),
'OWNER_A' :: integer(),
'GROUP_U' :: integer(),
'GROUP_M' :: integer(),
'GROUP_A' :: integer(),
'OTHER_U' :: integer(),
'OTHER_M' :: integer(),
'OTHER_A' :: integer()}).
-type 'IMAGE/PERMISSIONS'() :: #'IMAGE/PERMISSIONS'{}.
-record('IMAGE/LOCK', {anyAttribs :: anyAttribs(),
'LOCKED' :: integer(),
'OWNER' :: integer(),
'TIME' :: integer(),
'REQ_ID' :: integer()}).
-type 'IMAGE/LOCK'() :: #'IMAGE/LOCK'{}.

View File

@ -0,0 +1,66 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('MARKETPLACE', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'UNAME' :: string(),
'GNAME' :: string(),
'NAME' :: string(),
'MARKET_MAD' :: string(),
'ZONE_ID' :: string(),
'TOTAL_MB' :: integer(),
'FREE_MB' :: integer(),
'USED_MB' :: integer(),
'MARKETPLACEAPPS' :: 'MARKETPLACE/MARKETPLACEAPPS'(),
'PERMISSIONS' :: 'MARKETPLACE/PERMISSIONS'() | undefined,
'TEMPLATE' :: string()}).
-type 'MARKETPLACE'() :: #'MARKETPLACE'{}.
-record('MARKETPLACE/PERMISSIONS', {anyAttribs :: anyAttribs(),
'OWNER_U' :: integer(),
'OWNER_M' :: integer(),
'OWNER_A' :: integer(),
'GROUP_U' :: integer(),
'GROUP_M' :: integer(),
'GROUP_A' :: integer(),
'OTHER_U' :: integer(),
'OTHER_M' :: integer(),
'OTHER_A' :: integer()}).
-type 'MARKETPLACE/PERMISSIONS'() :: #'MARKETPLACE/PERMISSIONS'{}.
-record('MARKETPLACE/MARKETPLACEAPPS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'MARKETPLACE/MARKETPLACEAPPS'() :: #'MARKETPLACE/MARKETPLACEAPPS'{}.

View File

@ -0,0 +1,78 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('MARKETPLACEAPP', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'UNAME' :: string(),
'GNAME' :: string(),
'LOCK' :: 'MARKETPLACEAPP/LOCK'() | undefined,
'REGTIME' :: integer(),
'NAME' :: string(),
'ZONE_ID' :: string(),
'ORIGIN_ID' :: string(),
'SOURCE' :: string(),
'MD5' :: string(),
'SIZE' :: integer(),
'DESCRIPTION' :: string(),
'VERSION' :: string(),
'FORMAT' :: string(),
'APPTEMPLATE64' :: string(),
'MARKETPLACE_ID' :: integer(),
'MARKETPLACE' :: string(),
'STATE' :: integer(),
'TYPE' :: integer(),
'PERMISSIONS' :: 'MARKETPLACEAPP/PERMISSIONS'() | undefined,
'TEMPLATE' :: string()}).
-type 'MARKETPLACEAPP'() :: #'MARKETPLACEAPP'{}.
-record('MARKETPLACEAPP/PERMISSIONS', {anyAttribs :: anyAttribs(),
'OWNER_U' :: integer(),
'OWNER_M' :: integer(),
'OWNER_A' :: integer(),
'GROUP_U' :: integer(),
'GROUP_M' :: integer(),
'GROUP_A' :: integer(),
'OTHER_U' :: integer(),
'OTHER_M' :: integer(),
'OTHER_A' :: integer()}).
-type 'MARKETPLACEAPP/PERMISSIONS'() :: #'MARKETPLACEAPP/PERMISSIONS'{}.
-record('MARKETPLACEAPP/LOCK', {anyAttribs :: anyAttribs(),
'LOCKED' :: integer(),
'OWNER' :: integer(),
'TIME' :: integer(),
'REQ_ID' :: integer()}).
-type 'MARKETPLACEAPP/LOCK'() :: #'MARKETPLACEAPP/LOCK'{}.

View File

@ -0,0 +1,310 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('OPENNEBULA_CONFIGURATION', {anyAttribs :: anyAttribs(),
'API_LIST_ORDER' :: [string()] | undefined,
'AUTH_MAD' :: ['OPENNEBULA_CONFIGURATION/AUTH_MAD'()] | undefined,
'AUTH_MAD_CONF' :: ['OPENNEBULA_CONFIGURATION/AUTH_MAD_CONF'()] | undefined,
'CLUSTER_ENCRYPTED_ATTR' :: [string()] | undefined,
'DATASTORE_CAPACITY_CHECK' :: [string()] | undefined,
'DATASTORE_ENCRYPTED_ATTR' :: [string()] | undefined,
'DATASTORE_LOCATION' :: [string()] | undefined,
'DATASTORE_MAD' :: ['OPENNEBULA_CONFIGURATION/DATASTORE_MAD'()] | undefined,
'DB' :: 'OPENNEBULA_CONFIGURATION/DB'() | undefined,
'DEFAULT_AUTH' :: [string()] | undefined,
'DEFAULT_CDROM_DEVICE_PREFIX' :: [string()] | undefined,
'DEFAULT_COST' :: ['OPENNEBULA_CONFIGURATION/DEFAULT_COST'()] | undefined,
'DEFAULT_DEVICE_PREFIX' :: [string()] | undefined,
'DEFAULT_IMAGE_PERSISTENT' :: [string()] | undefined,
'DEFAULT_IMAGE_PERSISTENT_NEW' :: [string()] | undefined,
'DEFAULT_IMAGE_TYPE' :: [string()] | undefined,
'DEFAULT_UMASK' :: [string()] | undefined,
'DEFAULT_VDC_CLUSTER_DATASTORE_ACL' :: [string()] | undefined,
'DEFAULT_VDC_CLUSTER_HOST_ACL' :: [string()] | undefined,
'DEFAULT_VDC_CLUSTER_NET_ACL' :: [string()] | undefined,
'DEFAULT_VDC_DATASTORE_ACL' :: [string()] | undefined,
'DEFAULT_VDC_HOST_ACL' :: [string()] | undefined,
'DEFAULT_VDC_VNET_ACL' :: [string()] | undefined,
'DOCUMENT_ENCRYPTED_ATTR' :: [string()] | undefined,
'DS_MAD_CONF' :: ['OPENNEBULA_CONFIGURATION/DS_MAD_CONF'()] | undefined,
'DS_MONITOR_VM_DISK' :: integer() | undefined,
'ENABLE_OTHER_PERMISSIONS' :: string() | undefined,
'FEDERATION' :: 'OPENNEBULA_CONFIGURATION/FEDERATION'() | undefined,
'GROUP_RESTRICTED_ATTR' :: [string()] | undefined,
'HM_MAD' :: 'OPENNEBULA_CONFIGURATION/HM_MAD'() | undefined,
'HOOK_LOG_CONF' :: 'OPENNEBULA_CONFIGURATION/HOOK_LOG_CONF'() | undefined,
'HOST_ENCRYPTED_ATTR' :: [string()] | undefined,
'IMAGE_RESTRICTED_ATTR' :: [string()] | undefined,
'IM_MAD' :: ['OPENNEBULA_CONFIGURATION/IM_MAD'()] | undefined,
'INHERIT_DATASTORE_ATTR' :: [string()] | undefined,
'INHERIT_IMAGE_ATTR' :: [string()] | undefined,
'INHERIT_VNET_ATTR' :: [string()] | undefined,
'IPAM_MAD' :: ['OPENNEBULA_CONFIGURATION/IPAM_MAD'()] | undefined,
'KEEPALIVE_MAX_CONN' :: [integer()] | undefined,
'KEEPALIVE_TIMEOUT' :: [integer()] | undefined,
'LISTEN_ADDRESS' :: [string()] | undefined,
'LOG' :: ['OPENNEBULA_CONFIGURATION/LOG'()] | undefined,
'LOG_CALL_FORMAT' :: [string()] | undefined,
'MAC_PREFIX' :: [string()] | undefined,
'MANAGER_TIMER' :: [integer()] | undefined,
'MARKET_MAD' :: ['OPENNEBULA_CONFIGURATION/MARKET_MAD'()] | undefined,
'MARKET_MAD_CONF' :: ['OPENNEBULA_CONFIGURATION/MARKET_MAD_CONF'()] | undefined,
'MAX_CONN' :: integer() | undefined,
'MAX_CONN_BACKLOG' :: integer() | undefined,
'MESSAGE_SIZE' :: integer() | undefined,
'MONITORING_INTERVAL_DATASTORE' :: integer() | undefined,
'MONITORING_INTERVAL_DB_UPDATE' :: integer() | undefined,
'MONITORING_INTERVAL_HOST' :: integer() | undefined,
'MONITORING_INTERVAL_MARKET' :: integer() | undefined,
'MONITORING_INTERVAL_VM' :: integer() | undefined,
'NETWORK_SIZE' :: integer() | undefined,
'ONE_KEY' :: [string()] | undefined,
'PCI_PASSTHROUGH_BUS' :: string() | undefined,
'PORT' :: integer() | undefined,
'RAFT' :: 'OPENNEBULA_CONFIGURATION/RAFT'() | undefined,
'RPC_LOG' :: string() | undefined,
'SCRIPTS_REMOTE_DIR' :: string() | undefined,
'SESSION_EXPIRATION_TIME' :: integer() | undefined,
'TIMEOUT' :: integer() | undefined,
'TM_MAD' :: ['OPENNEBULA_CONFIGURATION/TM_MAD'()] | undefined,
'TM_MAD_CONF' :: ['OPENNEBULA_CONFIGURATION/TM_MAD_CONF'()] | undefined,
'USER_RESTRICTED_ATTR' :: [string()] | undefined,
'VLAN_IDS' :: 'OPENNEBULA_CONFIGURATION/VLAN_IDS'() | undefined,
'VM_ADMIN_OPERATIONS' :: string() | undefined,
'VM_ENCRYPTED_ATTR' :: [string()] | undefined,
'VM_MAD' :: ['OPENNEBULA_CONFIGURATION/VM_MAD'()] | undefined,
'VM_MANAGE_OPERATIONS' :: string() | undefined,
'VM_MONITORING_EXPIRATION_TIME' :: [string()] | undefined,
'VM_RESTRICTED_ATTR' :: [string()] | undefined,
'VM_SUBMIT_ON_HOLD' :: string() | undefined,
'VM_USE_OPERATIONS' :: [string()] | undefined,
'VNC_PORTS' :: 'OPENNEBULA_CONFIGURATION/VNC_PORTS'() | undefined,
'VNET_ENCRYPTED_ATTR' :: [string()] | undefined,
'VNET_RESTRICTED_ATTR' :: [string()] | undefined,
'VN_MAD_CONF' :: ['OPENNEBULA_CONFIGURATION/VN_MAD_CONF'()] | undefined,
'VXLAN_IDS' :: 'OPENNEBULA_CONFIGURATION/VXLAN_IDS'() | undefined}).
-type 'OPENNEBULA_CONFIGURATION'() :: #'OPENNEBULA_CONFIGURATION'{}.
-record('OPENNEBULA_CONFIGURATION/VXLAN_IDS', {anyAttribs :: anyAttribs(),
'START' :: integer()}).
-type 'OPENNEBULA_CONFIGURATION/VXLAN_IDS'() :: #'OPENNEBULA_CONFIGURATION/VXLAN_IDS'{}.
-record('OPENNEBULA_CONFIGURATION/VN_MAD_CONF', {anyAttribs :: anyAttribs(),
'BRIDGE_TYPE' :: string() | undefined,
'NAME' :: string() | undefined}).
-type 'OPENNEBULA_CONFIGURATION/VN_MAD_CONF'() :: #'OPENNEBULA_CONFIGURATION/VN_MAD_CONF'{}.
-record('OPENNEBULA_CONFIGURATION/VNC_PORTS', {anyAttribs :: anyAttribs(),
'RESERVED' :: string(),
'START' :: integer()}).
-type 'OPENNEBULA_CONFIGURATION/VNC_PORTS'() :: #'OPENNEBULA_CONFIGURATION/VNC_PORTS'{}.
-record('OPENNEBULA_CONFIGURATION/VM_MAD', {anyAttribs :: anyAttribs(),
'ARGUMENTS' :: string() | undefined,
'DEFAULT' :: string() | undefined,
'EXECUTABLE' :: string() | undefined,
'IMPORTED_VMS_ACTIONS' :: string() | undefined,
'NAME' :: string() | undefined,
'SUNSTONE_NAME' :: string() | undefined,
'TYPE' :: string() | undefined,
'KEEP_SNAPSHOTS' :: string() | undefined,
'COLD_NIC_ATTACH' :: string() | undefined,
'DS_LIVE_MIGRATION' :: string() | undefined,
'LIVE_RESIZE' :: string() | undefined}).
-type 'OPENNEBULA_CONFIGURATION/VM_MAD'() :: #'OPENNEBULA_CONFIGURATION/VM_MAD'{}.
-record('OPENNEBULA_CONFIGURATION/VLAN_IDS', {anyAttribs :: anyAttribs(),
'RESERVED' :: string(),
'START' :: integer()}).
-type 'OPENNEBULA_CONFIGURATION/VLAN_IDS'() :: #'OPENNEBULA_CONFIGURATION/VLAN_IDS'{}.
-record('OPENNEBULA_CONFIGURATION/TM_MAD_CONF', {anyAttribs :: anyAttribs(),
'ALLOW_ORPHANS' :: string() | undefined,
'CLONE_TARGET' :: string() | undefined,
'CLONE_TARGET_SHARED' :: string() | undefined,
'CLONE_TARGET_SSH' :: string() | undefined,
'DISK_TYPE_SHARED' :: string() | undefined,
'DISK_TYPE_SSH' :: string() | undefined,
'DRIVER' :: string() | undefined,
'DS_MIGRATE' :: string() | undefined,
'LN_TARGET' :: string() | undefined,
'LN_TARGET_SHARED' :: string() | undefined,
'LN_TARGET_SSH' :: string() | undefined,
'NAME' :: string() | undefined,
'SHARED' :: string() | undefined,
'TM_MAD_SYSTEM' :: string() | undefined}).
-type 'OPENNEBULA_CONFIGURATION/TM_MAD_CONF'() :: #'OPENNEBULA_CONFIGURATION/TM_MAD_CONF'{}.
-record('OPENNEBULA_CONFIGURATION/TM_MAD', {anyAttribs :: anyAttribs(),
'ARGUMENTS' :: string(),
'EXECUTABLE' :: string()}).
-type 'OPENNEBULA_CONFIGURATION/TM_MAD'() :: #'OPENNEBULA_CONFIGURATION/TM_MAD'{}.
-record('OPENNEBULA_CONFIGURATION/RAFT', {anyAttribs :: anyAttribs(),
'BROADCAST_TIMEOUT_MS' :: integer(),
'ELECTION_TIMEOUT_MS' :: integer(),
'LIMIT_PURGE' :: integer(),
'LOG_PURGE_TIMEOUT' :: integer(),
'LOG_RETENTION' :: integer(),
'XMLRPC_TIMEOUT_MS' :: integer()}).
-type 'OPENNEBULA_CONFIGURATION/RAFT'() :: #'OPENNEBULA_CONFIGURATION/RAFT'{}.
-record('OPENNEBULA_CONFIGURATION/MARKET_MAD_CONF', {anyAttribs :: anyAttribs(),
'APP_ACTIONS' :: string(),
'NAME' :: string(),
'PUBLIC' :: string() | undefined,
'REQUIRED_ATTRS' :: string() | undefined,
'SUNSTONE_NAME' :: string() | undefined}).
-type 'OPENNEBULA_CONFIGURATION/MARKET_MAD_CONF'() :: #'OPENNEBULA_CONFIGURATION/MARKET_MAD_CONF'{}.
-record('OPENNEBULA_CONFIGURATION/MARKET_MAD', {anyAttribs :: anyAttribs(),
'ARGUMENTS' :: string(),
'EXECUTABLE' :: string()}).
-type 'OPENNEBULA_CONFIGURATION/MARKET_MAD'() :: #'OPENNEBULA_CONFIGURATION/MARKET_MAD'{}.
-record('OPENNEBULA_CONFIGURATION/LOG', {anyAttribs :: anyAttribs(),
'DEBUG_LEVEL' :: integer(),
'SYSTEM' :: string()}).
-type 'OPENNEBULA_CONFIGURATION/LOG'() :: #'OPENNEBULA_CONFIGURATION/LOG'{}.
-record('OPENNEBULA_CONFIGURATION/IPAM_MAD', {anyAttribs :: anyAttribs(),
'ARGUMENTS' :: string(),
'EXECUTABLE' :: string()}).
-type 'OPENNEBULA_CONFIGURATION/IPAM_MAD'() :: #'OPENNEBULA_CONFIGURATION/IPAM_MAD'{}.
-record('OPENNEBULA_CONFIGURATION/IM_MAD', {anyAttribs :: anyAttribs(),
'ARGUMENTS' :: string() | undefined,
'EXECUTABLE' :: string() | undefined,
'NAME' :: string() | undefined,
'THREADS' :: integer() | undefined}).
-type 'OPENNEBULA_CONFIGURATION/IM_MAD'() :: #'OPENNEBULA_CONFIGURATION/IM_MAD'{}.
-record('OPENNEBULA_CONFIGURATION/HOOK_LOG_CONF', {anyAttribs :: anyAttribs(),
'LOG_RETENTION' :: integer() | undefined}).
-type 'OPENNEBULA_CONFIGURATION/HOOK_LOG_CONF'() :: #'OPENNEBULA_CONFIGURATION/HOOK_LOG_CONF'{}.
-record('OPENNEBULA_CONFIGURATION/HM_MAD', {anyAttribs :: anyAttribs(),
'ARGUMENTS' :: string() | undefined,
'EXECUTABLE' :: string() | undefined}).
-type 'OPENNEBULA_CONFIGURATION/HM_MAD'() :: #'OPENNEBULA_CONFIGURATION/HM_MAD'{}.
-record('OPENNEBULA_CONFIGURATION/FEDERATION', {anyAttribs :: anyAttribs(),
'MASTER_ONED' :: string() | undefined,
'MODE' :: string() | undefined,
'SERVER_ID' :: integer() | undefined,
'ZONE_ID' :: integer() | undefined}).
-type 'OPENNEBULA_CONFIGURATION/FEDERATION'() :: #'OPENNEBULA_CONFIGURATION/FEDERATION'{}.
-record('OPENNEBULA_CONFIGURATION/DS_MAD_CONF', {anyAttribs :: anyAttribs(),
'MARKETPLACE_ACTIONS' :: string() | undefined,
'NAME' :: string() | undefined,
'PERSISTENT_ONLY' :: string() | undefined,
'REQUIRED_ATTRS' :: string() | undefined}).
-type 'OPENNEBULA_CONFIGURATION/DS_MAD_CONF'() :: #'OPENNEBULA_CONFIGURATION/DS_MAD_CONF'{}.
-record('OPENNEBULA_CONFIGURATION/DEFAULT_COST', {anyAttribs :: anyAttribs(),
'CPU_COST' :: integer(),
'DISK_COST' :: integer(),
'MEMORY_COST' :: integer()}).
-type 'OPENNEBULA_CONFIGURATION/DEFAULT_COST'() :: #'OPENNEBULA_CONFIGURATION/DEFAULT_COST'{}.
-record('OPENNEBULA_CONFIGURATION/DB', {anyAttribs :: anyAttribs(),
'BACKEND' :: string() | undefined,
'COMPARE_BINARY' :: string() | undefined,
'CONNECTIONS' :: integer() | undefined,
'DB_NAME' :: string() | undefined,
'PASSWD' :: string() | undefined,
'PORT' :: integer() | undefined,
'SERVER' :: string() | undefined,
'USER' :: string() | undefined,
'TIMEOUT' :: integer() | undefined}).
-type 'OPENNEBULA_CONFIGURATION/DB'() :: #'OPENNEBULA_CONFIGURATION/DB'{}.
-record('OPENNEBULA_CONFIGURATION/DATASTORE_MAD', {anyAttribs :: anyAttribs(),
'ARGUMENTS' :: string(),
'EXECUTABLE' :: string()}).
-type 'OPENNEBULA_CONFIGURATION/DATASTORE_MAD'() :: #'OPENNEBULA_CONFIGURATION/DATASTORE_MAD'{}.
-record('OPENNEBULA_CONFIGURATION/AUTH_MAD_CONF', {anyAttribs :: anyAttribs(),
'DRIVER_MANAGED_GROUPS' :: string(),
'DRIVER_MANAGED_GROUP_ADMIN' :: string(),
'MAX_TOKEN_TIME' :: integer(),
'NAME' :: string(),
'PASSWORD_CHANGE' :: string()}).
-type 'OPENNEBULA_CONFIGURATION/AUTH_MAD_CONF'() :: #'OPENNEBULA_CONFIGURATION/AUTH_MAD_CONF'{}.
-record('OPENNEBULA_CONFIGURATION/AUTH_MAD', {anyAttribs :: anyAttribs(),
'AUTHN' :: string(),
'EXECUTABLE' :: string()}).
-type 'OPENNEBULA_CONFIGURATION/AUTH_MAD'() :: #'OPENNEBULA_CONFIGURATION/AUTH_MAD'{}.

View File

@ -0,0 +1,40 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('RAFT', {anyAttribs :: anyAttribs(),
'SERVER_ID' :: integer(),
'STATE' :: integer(),
'TERM' :: integer(),
'VOTEDFOR' :: integer(),
'COMMIT' :: integer(),
'LOG_INDEX' :: integer(),
'LOG_TERM' :: integer(),
'FEDLOG_INDEX' :: integer()}).
-type 'RAFT'() :: #'RAFT'{}.

View File

@ -0,0 +1,97 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('SECURITY_GROUP', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'UNAME' :: string(),
'GNAME' :: string(),
'NAME' :: string(),
'PERMISSIONS' :: 'SECURITY_GROUP/PERMISSIONS'() | undefined,
'UPDATED_VMS' :: 'SECURITY_GROUP/UPDATED_VMS'(),
'OUTDATED_VMS' :: 'SECURITY_GROUP/OUTDATED_VMS'(),
'UPDATING_VMS' :: 'SECURITY_GROUP/UPDATING_VMS'(),
'ERROR_VMS' :: 'SECURITY_GROUP/ERROR_VMS'(),
'TEMPLATE' :: 'SECURITY_GROUP/TEMPLATE'()}).
-type 'SECURITY_GROUP'() :: #'SECURITY_GROUP'{}.
-record('SECURITY_GROUP/TEMPLATE', {anyAttribs :: anyAttribs(),
'DESCRIPTION' :: string() | undefined,
'RULE' :: ['SECURITY_GROUP/TEMPLATE/RULE'()] | undefined,
'#any' :: any()}).
-type 'SECURITY_GROUP/TEMPLATE'() :: #'SECURITY_GROUP/TEMPLATE'{}.
-record('SECURITY_GROUP/TEMPLATE/RULE', {anyAttribs :: anyAttribs(),
'PROTOCOL' :: string(),
'RULE_TYPE' :: string()}).
-type 'SECURITY_GROUP/TEMPLATE/RULE'() :: #'SECURITY_GROUP/TEMPLATE/RULE'{}.
-record('SECURITY_GROUP/ERROR_VMS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'SECURITY_GROUP/ERROR_VMS'() :: #'SECURITY_GROUP/ERROR_VMS'{}.
-record('SECURITY_GROUP/UPDATING_VMS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'SECURITY_GROUP/UPDATING_VMS'() :: #'SECURITY_GROUP/UPDATING_VMS'{}.
-record('SECURITY_GROUP/OUTDATED_VMS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'SECURITY_GROUP/OUTDATED_VMS'() :: #'SECURITY_GROUP/OUTDATED_VMS'{}.
-record('SECURITY_GROUP/UPDATED_VMS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'SECURITY_GROUP/UPDATED_VMS'() :: #'SECURITY_GROUP/UPDATED_VMS'{}.
-record('SECURITY_GROUP/PERMISSIONS', {anyAttribs :: anyAttribs(),
'OWNER_U' :: integer(),
'OWNER_M' :: integer(),
'OWNER_A' :: integer(),
'GROUP_U' :: integer(),
'GROUP_M' :: integer(),
'GROUP_A' :: integer(),
'OTHER_U' :: integer(),
'OTHER_M' :: integer(),
'OTHER_A' :: integer()}).
-type 'SECURITY_GROUP/PERMISSIONS'() :: #'SECURITY_GROUP/PERMISSIONS'{}.

View File

@ -0,0 +1,57 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('SHOWBACK_RECORDS', {anyAttribs :: anyAttribs(),
'SHOWBACK_RECORDS/SEQ1' :: 'SHOWBACK_RECORDS/SEQ1'() | undefined}).
-type 'SHOWBACK_RECORDS'() :: #'SHOWBACK_RECORDS'{}.
-record('SHOWBACK_RECORDS/SEQ1', {anyAttribs :: anyAttribs(),
'SHOWBACK' :: ['SHOWBACK_RECORDS/SEQ1/SHOWBACK'()] | undefined}).
-type 'SHOWBACK_RECORDS/SEQ1'() :: #'SHOWBACK_RECORDS/SEQ1'{}.
-record('SHOWBACK_RECORDS/SEQ1/SHOWBACK', {anyAttribs :: anyAttribs(),
'VMID' :: integer(),
'VMNAME' :: string(),
'UID' :: integer(),
'GID' :: integer(),
'UNAME' :: string(),
'GNAME' :: string(),
'YEAR' :: integer(),
'MONTH' :: integer(),
'CPU_COST' :: string(),
'MEMORY_COST' :: string(),
'DISK_COST' :: string(),
'TOTAL_COST' :: string(),
'HOURS' :: string()}).
-type 'SHOWBACK_RECORDS/SEQ1/SHOWBACK'() :: #'SHOWBACK_RECORDS/SEQ1/SHOWBACK'{}.

View File

@ -0,0 +1,208 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('USER', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'GID' :: integer(),
'GROUPS' :: 'USER/GROUPS'(),
'GNAME' :: string(),
'NAME' :: string(),
'PASSWORD' :: string(),
'AUTH_DRIVER' :: string(),
'ENABLED' :: integer(),
'LOGIN_TOKEN' :: ['USER/LOGIN_TOKEN'()] | undefined,
'TEMPLATE' :: string(),
'DATASTORE_QUOTA' :: 'USER/DATASTORE_QUOTA'() | undefined,
'NETWORK_QUOTA' :: 'USER/NETWORK_QUOTA'() | undefined,
'VM_QUOTA' :: 'USER/VM_QUOTA'() | undefined,
'IMAGE_QUOTA' :: 'USER/IMAGE_QUOTA'() | undefined,
'DEFAULT_USER_QUOTAS' :: 'USER/DEFAULT_USER_QUOTAS'()}).
-type 'USER'() :: #'USER'{}.
-record('USER/DEFAULT_USER_QUOTAS', {anyAttribs :: anyAttribs(),
'DATASTORE_QUOTA' :: 'USER/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA'() | undefined,
'NETWORK_QUOTA' :: 'USER/DEFAULT_USER_QUOTAS/NETWORK_QUOTA'() | undefined,
'VM_QUOTA' :: 'USER/DEFAULT_USER_QUOTAS/VM_QUOTA'() | undefined,
'IMAGE_QUOTA' :: 'USER/DEFAULT_USER_QUOTAS/IMAGE_QUOTA'() | undefined}).
-type 'USER/DEFAULT_USER_QUOTAS'() :: #'USER/DEFAULT_USER_QUOTAS'{}.
-record('USER/DEFAULT_USER_QUOTAS/IMAGE_QUOTA', {anyAttribs :: anyAttribs(),
'IMAGE' :: ['USER/DEFAULT_USER_QUOTAS/IMAGE_QUOTA/IMAGE'()] | undefined}).
-type 'USER/DEFAULT_USER_QUOTAS/IMAGE_QUOTA'() :: #'USER/DEFAULT_USER_QUOTAS/IMAGE_QUOTA'{}.
-record('USER/DEFAULT_USER_QUOTAS/IMAGE_QUOTA/IMAGE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'RVMS' :: string(),
'RVMS_USED' :: string()}).
-type 'USER/DEFAULT_USER_QUOTAS/IMAGE_QUOTA/IMAGE'() :: #'USER/DEFAULT_USER_QUOTAS/IMAGE_QUOTA/IMAGE'{}.
-record('USER/DEFAULT_USER_QUOTAS/VM_QUOTA', {anyAttribs :: anyAttribs(),
'VM' :: 'USER/DEFAULT_USER_QUOTAS/VM_QUOTA/VM'() | undefined}).
-type 'USER/DEFAULT_USER_QUOTAS/VM_QUOTA'() :: #'USER/DEFAULT_USER_QUOTAS/VM_QUOTA'{}.
-record('USER/DEFAULT_USER_QUOTAS/VM_QUOTA/VM', {anyAttribs :: anyAttribs(),
'CPU' :: string(),
'CPU_USED' :: string(),
'MEMORY' :: string(),
'MEMORY_USED' :: string(),
'RUNNING_CPU' :: string(),
'RUNNING_CPU_USED' :: string(),
'RUNNING_MEMORY' :: string(),
'RUNNING_MEMORY_USED' :: string(),
'RUNNING_VMS' :: string(),
'RUNNING_VMS_USED' :: string(),
'SYSTEM_DISK_SIZE' :: string(),
'SYSTEM_DISK_SIZE_USED' :: string(),
'VMS' :: string(),
'VMS_USED' :: string()}).
-type 'USER/DEFAULT_USER_QUOTAS/VM_QUOTA/VM'() :: #'USER/DEFAULT_USER_QUOTAS/VM_QUOTA/VM'{}.
-record('USER/DEFAULT_USER_QUOTAS/NETWORK_QUOTA', {anyAttribs :: anyAttribs(),
'NETWORK' :: ['USER/DEFAULT_USER_QUOTAS/NETWORK_QUOTA/NETWORK'()] | undefined}).
-type 'USER/DEFAULT_USER_QUOTAS/NETWORK_QUOTA'() :: #'USER/DEFAULT_USER_QUOTAS/NETWORK_QUOTA'{}.
-record('USER/DEFAULT_USER_QUOTAS/NETWORK_QUOTA/NETWORK', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'LEASES' :: string(),
'LEASES_USED' :: string()}).
-type 'USER/DEFAULT_USER_QUOTAS/NETWORK_QUOTA/NETWORK'() :: #'USER/DEFAULT_USER_QUOTAS/NETWORK_QUOTA/NETWORK'{}.
-record('USER/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA', {anyAttribs :: anyAttribs(),
'DATASTORE' :: ['USER/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA/DATASTORE'()] | undefined}).
-type 'USER/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA'() :: #'USER/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA'{}.
-record('USER/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA/DATASTORE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'IMAGES' :: string(),
'IMAGES_USED' :: string(),
'SIZE' :: string(),
'SIZE_USED' :: string()}).
-type 'USER/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA/DATASTORE'() :: #'USER/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA/DATASTORE'{}.
-record('USER/IMAGE_QUOTA', {anyAttribs :: anyAttribs(),
'IMAGE' :: ['USER/IMAGE_QUOTA/IMAGE'()] | undefined}).
-type 'USER/IMAGE_QUOTA'() :: #'USER/IMAGE_QUOTA'{}.
-record('USER/IMAGE_QUOTA/IMAGE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'RVMS' :: string(),
'RVMS_USED' :: string()}).
-type 'USER/IMAGE_QUOTA/IMAGE'() :: #'USER/IMAGE_QUOTA/IMAGE'{}.
-record('USER/VM_QUOTA', {anyAttribs :: anyAttribs(),
'VM' :: 'USER/VM_QUOTA/VM'() | undefined}).
-type 'USER/VM_QUOTA'() :: #'USER/VM_QUOTA'{}.
-record('USER/VM_QUOTA/VM', {anyAttribs :: anyAttribs(),
'CPU' :: string(),
'CPU_USED' :: string(),
'MEMORY' :: string(),
'MEMORY_USED' :: string(),
'RUNNING_CPU' :: string(),
'RUNNING_CPU_USED' :: string(),
'RUNNING_MEMORY' :: string(),
'RUNNING_MEMORY_USED' :: string(),
'RUNNING_VMS' :: string(),
'RUNNING_VMS_USED' :: string(),
'SYSTEM_DISK_SIZE' :: string(),
'SYSTEM_DISK_SIZE_USED' :: string(),
'VMS' :: string(),
'VMS_USED' :: string()}).
-type 'USER/VM_QUOTA/VM'() :: #'USER/VM_QUOTA/VM'{}.
-record('USER/NETWORK_QUOTA', {anyAttribs :: anyAttribs(),
'NETWORK' :: ['USER/NETWORK_QUOTA/NETWORK'()] | undefined}).
-type 'USER/NETWORK_QUOTA'() :: #'USER/NETWORK_QUOTA'{}.
-record('USER/NETWORK_QUOTA/NETWORK', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'LEASES' :: string(),
'LEASES_USED' :: string()}).
-type 'USER/NETWORK_QUOTA/NETWORK'() :: #'USER/NETWORK_QUOTA/NETWORK'{}.
-record('USER/DATASTORE_QUOTA', {anyAttribs :: anyAttribs(),
'DATASTORE' :: ['USER/DATASTORE_QUOTA/DATASTORE'()] | undefined}).
-type 'USER/DATASTORE_QUOTA'() :: #'USER/DATASTORE_QUOTA'{}.
-record('USER/DATASTORE_QUOTA/DATASTORE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'IMAGES' :: string(),
'IMAGES_USED' :: string(),
'SIZE' :: string(),
'SIZE_USED' :: string()}).
-type 'USER/DATASTORE_QUOTA/DATASTORE'() :: #'USER/DATASTORE_QUOTA/DATASTORE'{}.
-record('USER/LOGIN_TOKEN', {anyAttribs :: anyAttribs(),
'TOKEN' :: string(),
'EXPIRATION_TIME' :: integer(),
'EGID' :: integer()}).
-type 'USER/LOGIN_TOKEN'() :: #'USER/LOGIN_TOKEN'{}.
-record('USER/GROUPS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()]}).
-type 'USER/GROUPS'() :: #'USER/GROUPS'{}.

View File

@ -0,0 +1,226 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('USER_POOL', {anyAttribs :: anyAttribs(),
choice :: 'USER_POOL/SEQ1'() | 'USER_POOL/SEQ1'() | 'USER_POOL/SEQ1'()}).
-type 'USER_POOL'() :: #'USER_POOL'{}.
-record('USER_POOL/SEQ1', {anyAttribs :: anyAttribs(),
choice :: [['USER_POOL/SEQ1/USER'()] | ['USER_POOL/SEQ1/QUOTAS'()]] | undefined,
'DEFAULT_USER_QUOTAS' :: 'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS'()}).
-type 'USER_POOL/SEQ1'() :: #'USER_POOL/SEQ1'{}.
-record('USER_POOL/SEQ1/DEFAULT_USER_QUOTAS', {anyAttribs :: anyAttribs(),
'DATASTORE_QUOTA' :: 'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA'() | undefined,
'NETWORK_QUOTA' :: 'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/NETWORK_QUOTA'() | undefined,
'VM_QUOTA' :: 'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/VM_QUOTA'() | undefined,
'IMAGE_QUOTA' :: 'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/IMAGE_QUOTA'() | undefined}).
-type 'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS'() :: #'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS'{}.
-record('USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/IMAGE_QUOTA', {anyAttribs :: anyAttribs(),
'IMAGE' :: ['USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/IMAGE_QUOTA/IMAGE'()] | undefined}).
-type 'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/IMAGE_QUOTA'() :: #'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/IMAGE_QUOTA'{}.
-record('USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/IMAGE_QUOTA/IMAGE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'RVMS' :: string(),
'RVMS_USED' :: string()}).
-type 'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/IMAGE_QUOTA/IMAGE'() :: #'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/IMAGE_QUOTA/IMAGE'{}.
-record('USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/VM_QUOTA', {anyAttribs :: anyAttribs(),
'VM' :: 'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/VM_QUOTA/VM'() | undefined}).
-type 'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/VM_QUOTA'() :: #'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/VM_QUOTA'{}.
-record('USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/VM_QUOTA/VM', {anyAttribs :: anyAttribs(),
'CPU' :: string(),
'CPU_USED' :: string(),
'MEMORY' :: string(),
'MEMORY_USED' :: string(),
'RUNNING_CPU' :: string(),
'RUNNING_CPU_USED' :: string(),
'RUNNING_MEMORY' :: string(),
'RUNNING_MEMORY_USED' :: string(),
'RUNNING_VMS' :: string(),
'RUNNING_VMS_USED' :: string(),
'SYSTEM_DISK_SIZE' :: string(),
'SYSTEM_DISK_SIZE_USED' :: string(),
'VMS' :: string(),
'VMS_USED' :: string()}).
-type 'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/VM_QUOTA/VM'() :: #'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/VM_QUOTA/VM'{}.
-record('USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/NETWORK_QUOTA', {anyAttribs :: anyAttribs(),
'NETWORK' :: ['USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/NETWORK_QUOTA/NETWORK'()] | undefined}).
-type 'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/NETWORK_QUOTA'() :: #'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/NETWORK_QUOTA'{}.
-record('USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/NETWORK_QUOTA/NETWORK', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'LEASES' :: string(),
'LEASES_USED' :: string()}).
-type 'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/NETWORK_QUOTA/NETWORK'() :: #'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/NETWORK_QUOTA/NETWORK'{}.
-record('USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA', {anyAttribs :: anyAttribs(),
'DATASTORE' :: ['USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA/DATASTORE'()] | undefined}).
-type 'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA'() :: #'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA'{}.
-record('USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA/DATASTORE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'IMAGES' :: string(),
'IMAGES_USED' :: string(),
'SIZE' :: string(),
'SIZE_USED' :: string()}).
-type 'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA/DATASTORE'() :: #'USER_POOL/SEQ1/DEFAULT_USER_QUOTAS/DATASTORE_QUOTA/DATASTORE'{}.
-record('USER_POOL/SEQ1/QUOTAS', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'DATASTORE_QUOTA' :: 'USER_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA'() | undefined,
'NETWORK_QUOTA' :: 'USER_POOL/SEQ1/QUOTAS/NETWORK_QUOTA'() | undefined,
'VM_QUOTA' :: 'USER_POOL/SEQ1/QUOTAS/VM_QUOTA'() | undefined,
'IMAGE_QUOTA' :: 'USER_POOL/SEQ1/QUOTAS/IMAGE_QUOTA'() | undefined}).
-type 'USER_POOL/SEQ1/QUOTAS'() :: #'USER_POOL/SEQ1/QUOTAS'{}.
-record('USER_POOL/SEQ1/QUOTAS/IMAGE_QUOTA', {anyAttribs :: anyAttribs(),
'IMAGE' :: ['USER_POOL/SEQ1/QUOTAS/IMAGE_QUOTA/IMAGE'()] | undefined}).
-type 'USER_POOL/SEQ1/QUOTAS/IMAGE_QUOTA'() :: #'USER_POOL/SEQ1/QUOTAS/IMAGE_QUOTA'{}.
-record('USER_POOL/SEQ1/QUOTAS/IMAGE_QUOTA/IMAGE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'RVMS' :: string(),
'RVMS_USED' :: string()}).
-type 'USER_POOL/SEQ1/QUOTAS/IMAGE_QUOTA/IMAGE'() :: #'USER_POOL/SEQ1/QUOTAS/IMAGE_QUOTA/IMAGE'{}.
-record('USER_POOL/SEQ1/QUOTAS/VM_QUOTA', {anyAttribs :: anyAttribs(),
'VM' :: 'USER_POOL/SEQ1/QUOTAS/VM_QUOTA/VM'() | undefined}).
-type 'USER_POOL/SEQ1/QUOTAS/VM_QUOTA'() :: #'USER_POOL/SEQ1/QUOTAS/VM_QUOTA'{}.
-record('USER_POOL/SEQ1/QUOTAS/VM_QUOTA/VM', {anyAttribs :: anyAttribs(),
'CPU' :: string(),
'CPU_USED' :: string(),
'MEMORY' :: string(),
'MEMORY_USED' :: string(),
'RUNNING_CPU' :: string(),
'RUNNING_CPU_USED' :: string(),
'RUNNING_MEMORY' :: string(),
'RUNNING_MEMORY_USED' :: string(),
'RUNNING_VMS' :: string(),
'RUNNING_VMS_USED' :: string(),
'SYSTEM_DISK_SIZE' :: string(),
'SYSTEM_DISK_SIZE_USED' :: string(),
'VMS' :: string(),
'VMS_USED' :: string()}).
-type 'USER_POOL/SEQ1/QUOTAS/VM_QUOTA/VM'() :: #'USER_POOL/SEQ1/QUOTAS/VM_QUOTA/VM'{}.
-record('USER_POOL/SEQ1/QUOTAS/NETWORK_QUOTA', {anyAttribs :: anyAttribs(),
'NETWORK' :: ['USER_POOL/SEQ1/QUOTAS/NETWORK_QUOTA/NETWORK'()] | undefined}).
-type 'USER_POOL/SEQ1/QUOTAS/NETWORK_QUOTA'() :: #'USER_POOL/SEQ1/QUOTAS/NETWORK_QUOTA'{}.
-record('USER_POOL/SEQ1/QUOTAS/NETWORK_QUOTA/NETWORK', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'LEASES' :: string(),
'LEASES_USED' :: string()}).
-type 'USER_POOL/SEQ1/QUOTAS/NETWORK_QUOTA/NETWORK'() :: #'USER_POOL/SEQ1/QUOTAS/NETWORK_QUOTA/NETWORK'{}.
-record('USER_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA', {anyAttribs :: anyAttribs(),
'DATASTORE' :: ['USER_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA/DATASTORE'()] | undefined}).
-type 'USER_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA'() :: #'USER_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA'{}.
-record('USER_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA/DATASTORE', {anyAttribs :: anyAttribs(),
'ID' :: string(),
'IMAGES' :: string(),
'IMAGES_USED' :: string(),
'SIZE' :: string(),
'SIZE_USED' :: string()}).
-type 'USER_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA/DATASTORE'() :: #'USER_POOL/SEQ1/QUOTAS/DATASTORE_QUOTA/DATASTORE'{}.
-record('USER_POOL/SEQ1/USER', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'GID' :: integer(),
'GROUPS' :: 'USER_POOL/SEQ1/USER/GROUPS'(),
'GNAME' :: string(),
'NAME' :: string(),
'PASSWORD' :: string(),
'AUTH_DRIVER' :: string(),
'ENABLED' :: integer(),
'LOGIN_TOKEN' :: ['USER_POOL/SEQ1/USER/LOGIN_TOKEN'()] | undefined,
'TEMPLATE' :: string()}).
-type 'USER_POOL/SEQ1/USER'() :: #'USER_POOL/SEQ1/USER'{}.
-record('USER_POOL/SEQ1/USER/LOGIN_TOKEN', {anyAttribs :: anyAttribs(),
'TOKEN' :: string(),
'EXPIRATION_TIME' :: integer(),
'EGID' :: integer()}).
-type 'USER_POOL/SEQ1/USER/LOGIN_TOKEN'() :: #'USER_POOL/SEQ1/USER/LOGIN_TOKEN'{}.
-record('USER_POOL/SEQ1/USER/GROUPS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()]}).
-type 'USER_POOL/SEQ1/USER/GROUPS'() :: #'USER_POOL/SEQ1/USER/GROUPS'{}.

View File

@ -0,0 +1,98 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('VDC', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'NAME' :: string(),
'GROUPS' :: 'VDC/GROUPS'(),
'CLUSTERS' :: 'VDC/CLUSTERS'(),
'HOSTS' :: 'VDC/HOSTS'(),
'DATASTORES' :: 'VDC/DATASTORES'(),
'VNETS' :: 'VDC/VNETS'(),
'TEMPLATE' :: string()}).
-type 'VDC'() :: #'VDC'{}.
-record('VDC/VNETS', {anyAttribs :: anyAttribs(),
'VNET' :: ['VDC/VNETS/VNET'()] | undefined}).
-type 'VDC/VNETS'() :: #'VDC/VNETS'{}.
-record('VDC/VNETS/VNET', {anyAttribs :: anyAttribs(),
'ZONE_ID' :: integer(),
'VNET_ID' :: integer()}).
-type 'VDC/VNETS/VNET'() :: #'VDC/VNETS/VNET'{}.
-record('VDC/DATASTORES', {anyAttribs :: anyAttribs(),
'DATASTORE' :: ['VDC/DATASTORES/DATASTORE'()] | undefined}).
-type 'VDC/DATASTORES'() :: #'VDC/DATASTORES'{}.
-record('VDC/DATASTORES/DATASTORE', {anyAttribs :: anyAttribs(),
'ZONE_ID' :: integer(),
'DATASTORE_ID' :: integer()}).
-type 'VDC/DATASTORES/DATASTORE'() :: #'VDC/DATASTORES/DATASTORE'{}.
-record('VDC/HOSTS', {anyAttribs :: anyAttribs(),
'HOST' :: ['VDC/HOSTS/HOST'()] | undefined}).
-type 'VDC/HOSTS'() :: #'VDC/HOSTS'{}.
-record('VDC/HOSTS/HOST', {anyAttribs :: anyAttribs(),
'ZONE_ID' :: integer(),
'HOST_ID' :: integer()}).
-type 'VDC/HOSTS/HOST'() :: #'VDC/HOSTS/HOST'{}.
-record('VDC/CLUSTERS', {anyAttribs :: anyAttribs(),
'CLUSTER' :: ['VDC/CLUSTERS/CLUSTER'()] | undefined}).
-type 'VDC/CLUSTERS'() :: #'VDC/CLUSTERS'{}.
-record('VDC/CLUSTERS/CLUSTER', {anyAttribs :: anyAttribs(),
'ZONE_ID' :: integer(),
'CLUSTER_ID' :: integer()}).
-type 'VDC/CLUSTERS/CLUSTER'() :: #'VDC/CLUSTERS/CLUSTER'{}.
-record('VDC/GROUPS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'VDC/GROUPS'() :: #'VDC/GROUPS'{}.

View File

@ -0,0 +1,207 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('VM', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'UNAME' :: string(),
'GNAME' :: string(),
'NAME' :: string(),
'PERMISSIONS' :: 'VM/PERMISSIONS'() | undefined,
'LAST_POLL' :: integer(),
'STATE' :: integer(),
'LCM_STATE' :: integer(),
'PREV_STATE' :: integer(),
'PREV_LCM_STATE' :: integer(),
'RESCHED' :: integer(),
'STIME' :: integer(),
'ETIME' :: integer(),
'DEPLOY_ID' :: string(),
'LOCK' :: 'VM/LOCK'() | undefined,
'MONITORING' :: 'VM/MONITORING'(),
'TEMPLATE' :: 'VM/TEMPLATE'(),
'USER_TEMPLATE' :: 'VM/USER_TEMPLATE'(),
'HISTORY_RECORDS' :: 'VM/HISTORY_RECORDS'(),
'SNAPSHOTS' :: ['VM/SNAPSHOTS'()] | undefined}).
-type 'VM'() :: #'VM'{}.
-record('VM/SNAPSHOTS', {anyAttribs :: anyAttribs(),
'ALLOW_ORPHANS' :: string(),
'CURRENT_BASE' :: integer(),
'DISK_ID' :: integer(),
'NEXT_SNAPSHOT' :: integer(),
'SNAPSHOT' :: ['VM/SNAPSHOTS/SNAPSHOT'()] | undefined}).
-type 'VM/SNAPSHOTS'() :: #'VM/SNAPSHOTS'{}.
-record('VM/SNAPSHOTS/SNAPSHOT', {anyAttribs :: anyAttribs(),
'ACTIVE' :: string() | undefined,
'CHILDREN' :: string() | undefined,
'DATE' :: integer(),
'ID' :: integer(),
'NAME' :: string() | undefined,
'PARENT' :: integer(),
'SIZE' :: integer()}).
-type 'VM/SNAPSHOTS/SNAPSHOT'() :: #'VM/SNAPSHOTS/SNAPSHOT'{}.
-record('VM/HISTORY_RECORDS', {anyAttribs :: anyAttribs(),
'HISTORY' :: ['VM/HISTORY_RECORDS/HISTORY'()] | undefined}).
-type 'VM/HISTORY_RECORDS'() :: #'VM/HISTORY_RECORDS'{}.
-record('VM/HISTORY_RECORDS/HISTORY', {anyAttribs :: anyAttribs(),
'OID' :: integer(),
'SEQ' :: integer(),
'HOSTNAME' :: string(),
'HID' :: integer(),
'CID' :: integer(),
'STIME' :: integer(),
'ETIME' :: integer(),
'VM_MAD' :: string(),
'TM_MAD' :: string(),
'DS_ID' :: integer(),
'PSTIME' :: integer(),
'PETIME' :: integer(),
'RSTIME' :: integer(),
'RETIME' :: integer(),
'ESTIME' :: integer(),
'EETIME' :: integer(),
'ACTION' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'REQUEST_ID' :: string()}).
-type 'VM/HISTORY_RECORDS/HISTORY'() :: #'VM/HISTORY_RECORDS/HISTORY'{}.
-record('VM/USER_TEMPLATE', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined,
'VCENTER_CCR_REF' :: string() | undefined,
'VCENTER_DS_REF' :: string() | undefined,
'VCENTER_INSTANCE_ID' :: string() | undefined,
choice1 :: [any()] | undefined}).
-type 'VM/USER_TEMPLATE'() :: #'VM/USER_TEMPLATE'{}.
-record('VM/TEMPLATE', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined,
'DISK' :: ['VM/TEMPLATE/DISK'()] | undefined,
choice1 :: [any()] | undefined,
'NIC' :: ['VM/TEMPLATE/NIC'()] | undefined,
choice2 :: [any()] | undefined,
'NIC_ALIAS' :: ['VM/TEMPLATE/NIC_ALIAS'()] | undefined,
choice3 :: [any()] | undefined}).
-type 'VM/TEMPLATE'() :: #'VM/TEMPLATE'{}.
-record('VM/TEMPLATE/NIC_ALIAS', {anyAttribs :: anyAttribs(),
'ALIAS_ID' :: string(),
choice :: [any()] | undefined,
'PARENT' :: string(),
'PARENT_ID' :: string(),
choice1 :: [any()] | undefined,
'VCENTER_INSTANCE_ID' :: string() | undefined,
'VCENTER_NET_REF' :: string() | undefined,
'VCENTER_PORTGROUP_TYPE' :: string() | undefined}).
-type 'VM/TEMPLATE/NIC_ALIAS'() :: #'VM/TEMPLATE/NIC_ALIAS'{}.
-record('VM/TEMPLATE/NIC', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined,
'BRIDGE_TYPE' :: string(),
choice1 :: [any()] | undefined,
'VCENTER_INSTANCE_ID' :: string() | undefined,
'VCENTER_NET_REF' :: string() | undefined,
'VCENTER_PORTGROUP_TYPE' :: string() | undefined}).
-type 'VM/TEMPLATE/NIC'() :: #'VM/TEMPLATE/NIC'{}.
-record('VM/TEMPLATE/DISK', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined,
'VCENTER_DS_REF' :: string() | undefined,
'VCENTER_INSTANCE_ID' :: string() | undefined,
choice1 :: [any()] | undefined}).
-type 'VM/TEMPLATE/DISK'() :: #'VM/TEMPLATE/DISK'{}.
-record('VM/MONITORING', {anyAttribs :: anyAttribs(),
'CPU' :: string() | undefined,
'DISKRDBYTES' :: integer() | undefined,
'DISKRDIOPS' :: integer() | undefined,
'DISKWRBYTES' :: integer() | undefined,
'DISKWRIOPS' :: integer() | undefined,
'ID' :: integer() | undefined,
'MEMORY' :: integer() | undefined,
'NETTX' :: integer() | undefined,
'NETRX' :: integer() | undefined,
'TIMESTAMP' :: integer() | undefined,
'VCENTER_ESX_HOST' :: string() | undefined,
'VCENTER_GUEST_STATE' :: string() | undefined,
'VCENTER_RP_NAME' :: string() | undefined,
'VCENTER_VMWARETOOLS_RUNNING_STATUS' :: string() | undefined,
'VCENTER_VMWARETOOLS_VERSION' :: string() | undefined,
'VCENTER_VMWARETOOLS_VERSION_STATUS' :: string() | undefined,
'VCENTER_VM_NAME' :: string() | undefined}).
-type 'VM/MONITORING'() :: #'VM/MONITORING'{}.
-record('VM/LOCK', {anyAttribs :: anyAttribs(),
'LOCKED' :: integer(),
'OWNER' :: integer(),
'TIME' :: integer(),
'REQ_ID' :: integer()}).
-type 'VM/LOCK'() :: #'VM/LOCK'{}.
-record('VM/PERMISSIONS', {anyAttribs :: anyAttribs(),
'OWNER_U' :: integer(),
'OWNER_M' :: integer(),
'OWNER_A' :: integer(),
'GROUP_U' :: integer(),
'GROUP_M' :: integer(),
'GROUP_A' :: integer(),
'OTHER_U' :: integer(),
'OTHER_M' :: integer(),
'OTHER_A' :: integer()}).
-type 'VM/PERMISSIONS'() :: #'VM/PERMISSIONS'{}.

View File

@ -0,0 +1,81 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('VM_GROUP', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'UNAME' :: string(),
'GNAME' :: string(),
'NAME' :: string(),
'PERMISSIONS' :: 'VM_GROUP/PERMISSIONS'() | undefined,
'LOCK' :: 'VM_GROUP/LOCK'() | undefined,
'ROLES' :: 'VM_GROUP/ROLES'(),
'TEMPLATE' :: string()}).
-type 'VM_GROUP'() :: #'VM_GROUP'{}.
-record('VM_GROUP/ROLES', {anyAttribs :: anyAttribs(),
'ROLE' :: ['VM_GROUP/ROLES/ROLE'()]}).
-type 'VM_GROUP/ROLES'() :: #'VM_GROUP/ROLES'{}.
-record('VM_GROUP/ROLES/ROLE', {anyAttribs :: anyAttribs(),
'HOST_AFFINED' :: string() | undefined,
'HOST_ANTI_AFFINED' :: string() | undefined,
'ID' :: integer(),
'NAME' :: string(),
'POLICY' :: string() | undefined}).
-type 'VM_GROUP/ROLES/ROLE'() :: #'VM_GROUP/ROLES/ROLE'{}.
-record('VM_GROUP/LOCK', {anyAttribs :: anyAttribs(),
'LOCKED' :: integer(),
'OWNER' :: integer(),
'TIME' :: integer(),
'REQ_ID' :: integer()}).
-type 'VM_GROUP/LOCK'() :: #'VM_GROUP/LOCK'{}.
-record('VM_GROUP/PERMISSIONS', {anyAttribs :: anyAttribs(),
'OWNER_U' :: integer(),
'OWNER_M' :: integer(),
'OWNER_A' :: integer(),
'GROUP_U' :: integer(),
'GROUP_M' :: integer(),
'GROUP_A' :: integer(),
'OTHER_U' :: integer(),
'OTHER_M' :: integer(),
'OTHER_A' :: integer()}).
-type 'VM_GROUP/PERMISSIONS'() :: #'VM_GROUP/PERMISSIONS'{}.

View File

@ -0,0 +1,136 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('VM_POOL', {anyAttribs :: anyAttribs(),
'VM' :: ['VM_POOL/VM'()] | undefined}).
-type 'VM_POOL'() :: #'VM_POOL'{}.
-record('VM_POOL/VM', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'UNAME' :: string(),
'GNAME' :: string(),
'NAME' :: string(),
'LAST_POLL' :: integer(),
'STATE' :: integer(),
'LCM_STATE' :: integer(),
'RESCHED' :: integer(),
'STIME' :: integer(),
'ETIME' :: integer(),
'DEPLOY_ID' :: string(),
'TEMPLATE' :: 'VM_POOL/VM/TEMPLATE'(),
'MONITORING' :: 'VM_POOL/VM/MONITORING'() | undefined,
'USER_TEMPLATE' :: 'VM_POOL/VM/USER_TEMPLATE'(),
'HISTORY_RECORDS' :: 'VM_POOL/VM/HISTORY_RECORDS'(),
'SNAPSHOTS' :: ['VM_POOL/VM/SNAPSHOTS'()] | undefined}).
-type 'VM_POOL/VM'() :: #'VM_POOL/VM'{}.
-record('VM_POOL/VM/SNAPSHOTS', {anyAttribs :: anyAttribs(),
'ALLOW_ORPHANS' :: string(),
'CURRENT_BASE' :: integer(),
'DISK_ID' :: integer(),
'NEXT_SNAPSHOT' :: integer(),
'SNAPSHOT' :: ['VM_POOL/VM/SNAPSHOTS/SNAPSHOT'()] | undefined}).
-type 'VM_POOL/VM/SNAPSHOTS'() :: #'VM_POOL/VM/SNAPSHOTS'{}.
-record('VM_POOL/VM/SNAPSHOTS/SNAPSHOT', {anyAttribs :: anyAttribs(),
'ACTIVE' :: string() | undefined,
'CHILDREN' :: string() | undefined,
'DATE' :: integer(),
'ID' :: integer(),
'NAME' :: string() | undefined,
'PARENT' :: integer(),
'SIZE' :: integer()}).
-type 'VM_POOL/VM/SNAPSHOTS/SNAPSHOT'() :: #'VM_POOL/VM/SNAPSHOTS/SNAPSHOT'{}.
-record('VM_POOL/VM/HISTORY_RECORDS', {anyAttribs :: anyAttribs(),
'HISTORY' :: ['VM_POOL/VM/HISTORY_RECORDS/HISTORY'()] | undefined}).
-type 'VM_POOL/VM/HISTORY_RECORDS'() :: #'VM_POOL/VM/HISTORY_RECORDS'{}.
-record('VM_POOL/VM/HISTORY_RECORDS/HISTORY', {anyAttribs :: anyAttribs(),
'OID' :: integer(),
'SEQ' :: integer(),
'HOSTNAME' :: string(),
'HID' :: integer(),
'CID' :: integer(),
'DS_ID' :: integer(),
'ACTION' :: integer()}).
-type 'VM_POOL/VM/HISTORY_RECORDS/HISTORY'() :: #'VM_POOL/VM/HISTORY_RECORDS/HISTORY'{}.
-record('VM_POOL/VM/USER_TEMPLATE', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined}).
-type 'VM_POOL/VM/USER_TEMPLATE'() :: #'VM_POOL/VM/USER_TEMPLATE'{}.
-record('VM_POOL/VM/MONITORING', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined}).
-type 'VM_POOL/VM/MONITORING'() :: #'VM_POOL/VM/MONITORING'{}.
-record('VM_POOL/VM/TEMPLATE', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined,
'DISK' :: ['VM_POOL/VM/TEMPLATE/DISK'()] | undefined,
choice1 :: [any()] | undefined,
'NIC' :: ['VM_POOL/VM/TEMPLATE/NIC'()] | undefined,
choice2 :: [any()] | undefined}).
-type 'VM_POOL/VM/TEMPLATE'() :: #'VM_POOL/VM/TEMPLATE'{}.
-record('VM_POOL/VM/TEMPLATE/NIC', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined,
'VCENTER_INSTANCE_ID' :: string() | undefined,
'VCENTER_NET_REF' :: string() | undefined,
'VCENTER_PORTGROUP_TYPE' :: string() | undefined}).
-type 'VM_POOL/VM/TEMPLATE/NIC'() :: #'VM_POOL/VM/TEMPLATE/NIC'{}.
-record('VM_POOL/VM/TEMPLATE/DISK', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined,
'VCENTER_DS_REF' :: string() | undefined,
'VCENTER_INSTANCE_ID' :: string() | undefined,
choice1 :: [any()] | undefined}).
-type 'VM_POOL/VM/TEMPLATE/DISK'() :: #'VM_POOL/VM/TEMPLATE/DISK'{}.

View File

@ -0,0 +1,75 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('VMTEMPLATE', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'UNAME' :: string(),
'GNAME' :: string(),
'NAME' :: string(),
'LOCK' :: 'VMTEMPLATE/LOCK'() | undefined,
'PERMISSIONS' :: 'VMTEMPLATE/PERMISSIONS'(),
'REGTIME' :: integer(),
'TEMPLATE' :: 'VMTEMPLATE/TEMPLATE'()}).
-type 'VMTEMPLATE'() :: #'VMTEMPLATE'{}.
-record('VMTEMPLATE/TEMPLATE', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined,
'VCENTER_CCR_REF' :: string() | undefined,
'VCENTER_INSTANCE_ID' :: string() | undefined,
'VCENTER_TEMPLATE_REF' :: string() | undefined,
choice1 :: [any()] | undefined}).
-type 'VMTEMPLATE/TEMPLATE'() :: #'VMTEMPLATE/TEMPLATE'{}.
-record('VMTEMPLATE/PERMISSIONS', {anyAttribs :: anyAttribs(),
'OWNER_U' :: integer(),
'OWNER_M' :: integer(),
'OWNER_A' :: integer(),
'GROUP_U' :: integer(),
'GROUP_M' :: integer(),
'GROUP_A' :: integer(),
'OTHER_U' :: integer(),
'OTHER_M' :: integer(),
'OTHER_A' :: integer()}).
-type 'VMTEMPLATE/PERMISSIONS'() :: #'VMTEMPLATE/PERMISSIONS'{}.
-record('VMTEMPLATE/LOCK', {anyAttribs :: anyAttribs(),
'LOCKED' :: integer(),
'OWNER' :: integer(),
'TIME' :: integer(),
'REQ_ID' :: integer()}).
-type 'VMTEMPLATE/LOCK'() :: #'VMTEMPLATE/LOCK'{}.

View File

@ -0,0 +1,165 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('VNET', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'UNAME' :: string(),
'GNAME' :: string(),
'NAME' :: string(),
'LOCK' :: 'VNET/LOCK'() | undefined,
'PERMISSIONS' :: 'VNET/PERMISSIONS'() | undefined,
'CLUSTERS' :: 'VNET/CLUSTERS'(),
'BRIDGE' :: string(),
'BRIDGE_TYPE' :: string() | undefined,
'PARENT_NETWORK_ID' :: string(),
'VN_MAD' :: string(),
'PHYDEV' :: string(),
'VLAN_ID' :: string() | undefined,
'OUTER_VLAN_ID' :: string() | undefined,
'VLAN_ID_AUTOMATIC' :: string(),
'OUTER_VLAN_ID_AUTOMATIC' :: string(),
'USED_LEASES' :: integer(),
'VROUTERS' :: 'VNET/VROUTERS'(),
'TEMPLATE' :: 'VNET/TEMPLATE'(),
'AR_POOL' :: 'VNET/AR_POOL'()}).
-type 'VNET'() :: #'VNET'{}.
-record('VNET/AR_POOL', {anyAttribs :: anyAttribs(),
'VNET/AR_POOL/SEQ1' :: 'VNET/AR_POOL/SEQ1'() | undefined}).
-type 'VNET/AR_POOL'() :: #'VNET/AR_POOL'{}.
-record('VNET/AR_POOL/SEQ1', {anyAttribs :: anyAttribs(),
'AR' :: ['VNET/AR_POOL/SEQ1/AR'()] | undefined}).
-type 'VNET/AR_POOL/SEQ1'() :: #'VNET/AR_POOL/SEQ1'{}.
-record('VNET/AR_POOL/SEQ1/AR', {anyAttribs :: anyAttribs(),
'AR_ID' :: string(),
'GLOBAL_PREFIX' :: string() | undefined,
'IP' :: string() | undefined,
'MAC' :: string(),
'PARENT_NETWORK_AR_ID' :: string() | undefined,
'SIZE' :: integer(),
'TYPE' :: string(),
'ULA_PREFIX' :: string() | undefined,
'VN_MAD' :: string() | undefined,
'MAC_END' :: string() | undefined,
'IP_END' :: string() | undefined,
'IP6_ULA' :: string() | undefined,
'IP6_ULA_END' :: string() | undefined,
'IP6_GLOBAL' :: string() | undefined,
'IP6_GLOBAL_END' :: string() | undefined,
'IP6' :: string() | undefined,
'IP6_END' :: string() | undefined,
'USED_LEASES' :: string(),
'LEASES' :: 'VNET/AR_POOL/SEQ1/AR/LEASES'() | undefined}).
-type 'VNET/AR_POOL/SEQ1/AR'() :: #'VNET/AR_POOL/SEQ1/AR'{}.
-record('VNET/AR_POOL/SEQ1/AR/LEASES', {anyAttribs :: anyAttribs(),
'LEASE' :: ['VNET/AR_POOL/SEQ1/AR/LEASES/LEASE'()] | undefined}).
-type 'VNET/AR_POOL/SEQ1/AR/LEASES'() :: #'VNET/AR_POOL/SEQ1/AR/LEASES'{}.
-record('VNET/AR_POOL/SEQ1/AR/LEASES/LEASE', {anyAttribs :: anyAttribs(),
'IP' :: string() | undefined,
'IP6' :: string() | undefined,
'IP6_GLOBAL' :: string() | undefined,
'IP6_LINK' :: string() | undefined,
'IP6_ULA' :: string() | undefined,
'MAC' :: string(),
'VM' :: integer() | undefined,
'VNET' :: integer() | undefined,
'VROUTER' :: integer() | undefined}).
-type 'VNET/AR_POOL/SEQ1/AR/LEASES/LEASE'() :: #'VNET/AR_POOL/SEQ1/AR/LEASES/LEASE'{}.
-record('VNET/TEMPLATE', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined,
'CONTEXT_FORCE_IPV4' :: string() | undefined,
'DNS' :: string() | undefined,
'GATEWAY' :: string() | undefined,
'GATEWAY6' :: string() | undefined,
'GUEST_MTU' :: integer() | undefined,
'NETWORK_ADDRESS' :: string() | undefined,
'NETWORK_MASK' :: string() | undefined,
'SEARCH_DOMAIN' :: string() | undefined,
'VCENTER_FROM_WILD' :: string() | undefined,
'VCENTER_INSTANCE_ID' :: string() | undefined,
'VCENTER_NET_REF' :: string() | undefined,
'VCENTER_PORTGROUP_TYPE' :: string() | undefined,
'VCENTER_TEMPLATE_REF' :: string() | undefined,
choice1 :: [any()] | undefined}).
-type 'VNET/TEMPLATE'() :: #'VNET/TEMPLATE'{}.
-record('VNET/VROUTERS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'VNET/VROUTERS'() :: #'VNET/VROUTERS'{}.
-record('VNET/CLUSTERS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'VNET/CLUSTERS'() :: #'VNET/CLUSTERS'{}.
-record('VNET/PERMISSIONS', {anyAttribs :: anyAttribs(),
'OWNER_U' :: integer(),
'OWNER_M' :: integer(),
'OWNER_A' :: integer(),
'GROUP_U' :: integer(),
'GROUP_M' :: integer(),
'GROUP_A' :: integer(),
'OTHER_U' :: integer(),
'OTHER_M' :: integer(),
'OTHER_A' :: integer()}).
-type 'VNET/PERMISSIONS'() :: #'VNET/PERMISSIONS'{}.
-record('VNET/LOCK', {anyAttribs :: anyAttribs(),
'LOCKED' :: integer(),
'OWNER' :: integer(),
'TIME' :: integer(),
'REQ_ID' :: integer()}).
-type 'VNET/LOCK'() :: #'VNET/LOCK'{}.

View File

@ -0,0 +1,73 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('VNTEMPLATE', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'UNAME' :: string(),
'GNAME' :: string(),
'NAME' :: string(),
'LOCK' :: 'VNTEMPLATE/LOCK'() | undefined,
'PERMISSIONS' :: 'VNTEMPLATE/PERMISSIONS'(),
'REGTIME' :: integer(),
'TEMPLATE' :: 'VNTEMPLATE/TEMPLATE'()}).
-type 'VNTEMPLATE'() :: #'VNTEMPLATE'{}.
-record('VNTEMPLATE/TEMPLATE', {anyAttribs :: anyAttribs(),
choice :: [any()] | undefined,
'VN_MAD' :: string(),
choice1 :: [any()] | undefined}).
-type 'VNTEMPLATE/TEMPLATE'() :: #'VNTEMPLATE/TEMPLATE'{}.
-record('VNTEMPLATE/PERMISSIONS', {anyAttribs :: anyAttribs(),
'OWNER_U' :: integer(),
'OWNER_M' :: integer(),
'OWNER_A' :: integer(),
'GROUP_U' :: integer(),
'GROUP_M' :: integer(),
'GROUP_A' :: integer(),
'OTHER_U' :: integer(),
'OTHER_M' :: integer(),
'OTHER_A' :: integer()}).
-type 'VNTEMPLATE/PERMISSIONS'() :: #'VNTEMPLATE/PERMISSIONS'{}.
-record('VNTEMPLATE/LOCK', {anyAttribs :: anyAttribs(),
'LOCKED' :: integer(),
'OWNER' :: integer(),
'TIME' :: integer(),
'REQ_ID' :: integer()}).
-type 'VNTEMPLATE/LOCK'() :: #'VNTEMPLATE/LOCK'{}.

View File

@ -0,0 +1,71 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('VROUTER', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'UID' :: integer(),
'GID' :: integer(),
'UNAME' :: string(),
'GNAME' :: string(),
'NAME' :: string(),
'PERMISSIONS' :: 'VROUTER/PERMISSIONS'() | undefined,
'LOCK' :: 'VROUTER/LOCK'() | undefined,
'VMS' :: 'VROUTER/VMS'(),
'TEMPLATE' :: string()}).
-type 'VROUTER'() :: #'VROUTER'{}.
-record('VROUTER/VMS', {anyAttribs :: anyAttribs(),
'ID' :: [integer()] | undefined}).
-type 'VROUTER/VMS'() :: #'VROUTER/VMS'{}.
-record('VROUTER/LOCK', {anyAttribs :: anyAttribs(),
'LOCKED' :: integer(),
'OWNER' :: integer(),
'TIME' :: integer(),
'REQ_ID' :: integer()}).
-type 'VROUTER/LOCK'() :: #'VROUTER/LOCK'{}.
-record('VROUTER/PERMISSIONS', {anyAttribs :: anyAttribs(),
'OWNER_U' :: integer(),
'OWNER_M' :: integer(),
'OWNER_A' :: integer(),
'GROUP_U' :: integer(),
'GROUP_M' :: integer(),
'GROUP_A' :: integer(),
'OTHER_U' :: integer(),
'OTHER_M' :: integer(),
'OTHER_A' :: integer()}).
-type 'VROUTER/PERMISSIONS'() :: #'VROUTER/PERMISSIONS'{}.

View File

@ -0,0 +1,62 @@
%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.
-ifndef(ERLSOM_ANY_ATTRIB_TYPES).
-define(ERLSOM_ANY_ATTRIB_TYPES, true).
-type anyAttrib() :: {{string(), %% name of the attribute
string()}, %% namespace
string()}. %% value
-type anyAttribs() :: [anyAttrib()] | undefined.
-endif.
-ifndef(ERLSOM_QNAME_TYPES).
-define(ERLSOM_QNAME_TYPES, true).
%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
localPart :: string(),
prefix :: string(),
mappedPrefix :: string()}).
-endif.
-record('ZONE', {anyAttribs :: anyAttribs(),
'ID' :: integer(),
'NAME' :: string(),
'TEMPLATE' :: 'ZONE/TEMPLATE'(),
'SERVER_POOL' :: 'ZONE/SERVER_POOL'()}).
-type 'ZONE'() :: #'ZONE'{}.
-record('ZONE/SERVER_POOL', {anyAttribs :: anyAttribs(),
'SERVER' :: ['ZONE/SERVER_POOL/SERVER'()] | undefined}).
-type 'ZONE/SERVER_POOL'() :: #'ZONE/SERVER_POOL'{}.
-record('ZONE/SERVER_POOL/SERVER', {anyAttribs :: anyAttribs(),
'ENDPOINT' :: string(),
'ID' :: integer(),
'NAME' :: string(),
'STATE' :: integer() | undefined,
'TERM' :: integer() | undefined,
'VOTEDFOR' :: integer() | undefined,
'COMMIT' :: integer() | undefined,
'LOG_INDEX' :: integer() | undefined,
'FEDLOG_INDEX' :: integer() | undefined}).
-type 'ZONE/SERVER_POOL/SERVER'() :: #'ZONE/SERVER_POOL/SERVER'{}.
-record('ZONE/TEMPLATE', {anyAttribs :: anyAttribs(),
'ENDPOINT' :: string()}).
-type 'ZONE/TEMPLATE'() :: #'ZONE/TEMPLATE'{}.

View File

@ -0,0 +1,9 @@
These XML Schemas define the XMLs returned by OpenNebula's XML-RPC API.
The included XML samples are not actual responses from OpenNebula, as it does
not include the headers (namespace, schema location).
To learn more, please read the API reference documentation at
http://opennebula.org/documentation:documentation:api

View File

@ -0,0 +1,179 @@
<?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="CID" type="xs:integer"/>
<xs:element name="STIME" type="xs:integer"/>
<xs:element name="ETIME" type="xs:integer"/>
<xs:element name="VM_MAD" type="xs:string"/>
<xs:element name="TM_MAD" 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"/>
<!-- 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
DISK_ATTACH_ACTION = 21
DISK_DETACH_ACTION = 22
NIC_ATTACH_ACTION = 23
NIC_DETACH_ACTION = 24
DISK_SNAPSHOT_CREATE_ACTION = 25
DISK_SNAPSHOT_DELETE_ACTION = 26
TERMINATE_ACTION = 27
TERMINATE_HARD_ACTION = 28
DISK_RESIZE_ACTION = 29
DEPLOY_ACTION = 30
CHOWN_ACTION = 31
CHMOD_ACTION = 32
UPDATECONF_ACTION = 33
RENAME_ACTION = 34
RESIZE_ACTION = 35
UPDATE_ACTION = 36
SNAPSHOT_CREATE_ACTION = 37
SNAPSHOT_DELETE_ACTION = 38
SNAPSHOT_REVERT_ACTION = 39
DISK_SAVEAS_ACTION = 40
DISK_SNAPSHOT_REVERT_ACTION = 41
RECOVER_ACTION = 42
RETRY_ACTION = 43
MONITOR_ACTION = 44
DISK_SNAPSHOT_RENAME_ACTION = 45
-->
<xs:element name="ACTION" type="xs:integer"/>
<xs:element name="UID" type="xs:integer"/>
<xs:element name="GID" type="xs:integer"/>
<xs:element name="REQUEST_ID" type="xs:string"/>
<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://docs.opennebula.org/stable/user/references/vm_states.html
-->
<xs:element name="STATE" type="xs:integer"/>
<!-- LCM_STATE values, this sub-state is relevant only when STATE is
ACTIVE (4)
see http://docs.opennebula.org/stable/user/references/vm_states.html
-->
<xs:element name="LCM_STATE" type="xs:integer"/>
<xs:element name="PREV_STATE" type="xs:integer"/>
<xs:element name="PREV_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"/>
<xs:element name="MONITORING">
<!--
<xs:complexType>
<xs:all>
<- Percentage of 1 CPU consumed (two fully consumed cpu is 200) ->
<xs:element name="CPU" type="xs:decimal" minOccurs="0" maxOccurs="1"/>
<- MEMORY consumption in kilobytes ->
<xs:element name="MEMORY" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<- NETTX: Sent bytes to the network ->
<xs:element name="NETTX" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<- NETRX: Received bytes from the network ->
<xs:element name="NETRX" type="xs:integer" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
-->
</xs:element>
<xs:element name="TEMPLATE" type="xs:anyType"/>
<xs:element name="USER_TEMPLATE" type="xs:anyType"/>
<xs:element name="HISTORY_RECORDS">
</xs:element>
<xs:element name="SNAPSHOTS" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ALLOW_ORPHANS" type="xs:string"/>
<xs:element name="CURRENT_BASE" type="xs:integer"/>
<xs:element name="DISK_ID" type="xs:integer"/>
<xs:element name="NEXT_SNAPSHOT" type="xs:integer"/>
<xs:element name="SNAPSHOT" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ACTIVE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="CHILDREN" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="DATE" type="xs:integer"/>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="PARENT" type="xs:integer"/>
<xs:element name="SIZE" type="xs:integer"/>
</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>

View File

@ -0,0 +1,22 @@
<?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="ACL_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element name="ACL" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="USER" type="xs:string"/>
<xs:element name="RESOURCE" type="xs:string"/>
<xs:element name="RIGHTS" type="xs:string"/>
<xs:element name="ZONE" type="xs:string"/>
<xs:element name="STRING" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- The information sent to the hook when $API is used in an API Hook follos the following schema -->
<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="CALL_INFO">
<xs:complexType>
<xs:sequence>
<xs:element name="RESULT" type="xs:integer"/>
<xs:element name="PARAMETERS" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<!-- The list of IN and OUT parameters will match the API call parameters defined here: http://docs.opennebula.org/5.9/integration/system_interfaces/api.html -->
<xs:element name="PARAMETER" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="POSITION" type="xs:integer"/>
<xs:element name="TYPE" type="xs:integer">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="IN"/>
<xs:enumeration value="OUT"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="VALUE" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- This info is only included when the API hook is set on a one.*.delete or one.*.allocate API call -->
<xs:element name="EXTRA" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<!-- EXTRA section will contain the template of the allocated/deleted resource as defined here; https://github.com/OpenNebula/one/tree/master/share/doc/xsd -->
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,34 @@
<?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="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>

View File

@ -0,0 +1,12 @@
<?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>

View File

@ -0,0 +1,67 @@
<?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"/>
<!-- Possible STATE values are 0 (READY) and 1 (DISABLE)-->
<xs:element name="STATE" type="xs:integer"/>
<xs:element name="CLUSTERS">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<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">
<xs:complexType>
<xs:sequence>
<xs:element name="VCENTER_DC_NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_DC_REF" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_DS_NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_DS_REF" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_HOST" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_INSTANCE_ID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,12 @@
<?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>

View File

@ -0,0 +1,42 @@
<?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="DOCUMENT">
<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="TYPE" 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="LOCK" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="LOCKED" type="xs:integer"/>
<xs:element name="OWNER" type="xs:integer"/>
<xs:element name="TIME" type="xs:integer"/>
<xs:element name="REQ_ID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TEMPLATE" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,12 @@
<?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="document.xsd"/>
<xs:element name="DOCUMENT_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="DOCUMENT" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,179 @@
<?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="TEMPLATE" type="xs:anyType"/>
<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="ADMINS">
<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:float"/>
<xs:element name="CPU_USED" type="xs:float"/>
<xs:element name="MEMORY" type="xs:integer"/>
<xs:element name="MEMORY_USED" type="xs:integer"/>
<xs:element name="RUNNING_CPU" type="xs:float"/>
<xs:element name="RUNNING_CPU_USED" type="xs:float"/>
<xs:element name="RUNNING_MEMORY" type="xs:integer"/>
<xs:element name="RUNNING_MEMORY_USED" type="xs:integer"/>
<xs:element name="RUNNING_VMS" type="xs:integer"/>
<xs:element name="RUNNING_VMS_USED" type="xs:integer"/>
<xs:element name="SYSTEM_DISK_SIZE" type="xs:long"/>
<xs:element name="SYSTEM_DISK_SIZE_USED" type="xs:long"/>
<xs:element name="VMS" type="xs:integer"/>
<xs:element name="VMS_USED" type="xs:integer"/>
</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:float"/>
<xs:element name="CPU_USED" type="xs:float"/>
<xs:element name="MEMORY" type="xs:integer"/>
<xs:element name="MEMORY_USED" type="xs:integer"/>
<xs:element name="RUNNING_CPU" type="xs:float"/>
<xs:element name="RUNNING_CPU_USED" type="xs:float"/>
<xs:element name="RUNNING_MEMORY" type="xs:integer"/>
<xs:element name="RUNNING_MEMORY_USED" type="xs:integer"/>
<xs:element name="RUNNING_VMS" type="xs:integer"/>
<xs:element name="RUNNING_VMS_USED" type="xs:integer"/>
<xs:element name="SYSTEM_DISK_SIZE" type="xs:long"/>
<xs:element name="SYSTEM_DISK_SIZE_USED" type="xs:long"/>
<xs:element name="VMS" type="xs:integer"/>
<xs:element name="VMS_USED" type="xs:integer"/>
</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>

View File

@ -0,0 +1,194 @@
<?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:choice maxOccurs="unbounded" minOccurs="0">
<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="TEMPLATE" type="xs:anyType"/>
<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="ADMINS">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="QUOTAS" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<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="RUNNING_CPU" type="xs:string"/>
<xs:element name="RUNNING_CPU_USED" type="xs:string"/>
<xs:element name="RUNNING_MEMORY" type="xs:string"/>
<xs:element name="RUNNING_MEMORY_USED" type="xs:string"/>
<xs:element name="RUNNING_VMS" type="xs:string"/>
<xs:element name="RUNNING_VMS_USED" type="xs:string"/>
<xs:element name="SYSTEM_DISK_SIZE" type="xs:string"/>
<xs:element name="SYSTEM_DISK_SIZE_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:choice>
<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="RUNNING_CPU" type="xs:string"/>
<xs:element name="RUNNING_CPU_USED" type="xs:string"/>
<xs:element name="RUNNING_MEMORY" type="xs:string"/>
<xs:element name="RUNNING_MEMORY_USED" type="xs:string"/>
<xs:element name="RUNNING_VMS" type="xs:string"/>
<xs:element name="RUNNING_VMS_USED" type="xs:string"/>
<xs:element name="SYSTEM_DISK_SIZE" type="xs:string"/>
<xs:element name="SYSTEM_DISK_SIZE_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>

View File

@ -0,0 +1,59 @@
<?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="HOOK">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="TYPE" type="xs:string"/>
<xs:element name="TEMPLATE">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="ARGUMENTS" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="ARGUMENTS_STDIN" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="CALL" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="COMMAND" type="xs:string"/>
<xs:element name="REMOTE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="RESOURCE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="STATE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="LCM_STATE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- This info is not included in one.hookpool.info it's only include in one.hook.info -->
<xs:element name="HOOKLOG" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="HOOK_EXECUTION_RECORD" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="HOOK_ID" type="xs:integer"/>
<xs:element name="EXECUTION_ID" type="xs:integer"/>
<xs:element name="TIMESTAMP" type="xs:integer"/>
<xs:element name="ARGUMENTS" type="xs:string"/>
<xs:element name="EXECUTION_RESULT">
<xs:complexType>
<xs:sequence>
<xs:element name="COMMAND" type="xs:string"/>
<xs:element name="STDOUT" type="xs:string"/>
<xs:element name="STDERR" type="xs:string"/>
<xs:element name="CODE" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="REMOTE_HOST" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="RETRY" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This schema is followd by the EVENT API message sent by the Hook Manager -->
<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="HOOK_MESSAGE">
<xs:complexType>
<xs:sequence>
<xs:element name="HOOK_TYPE" type="xs:string" fixed="API"/>
<xs:element name="CALL" type="xs:string"/>
<!-- CALL_INFO type is defined in call_info.xsd -->
<xs:element ref="CALL_INFO" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,12 @@
<!-- This schema is followd by the EVENT API message sent by the Hook Manager -->
<?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="HOOK_MESSAGE">
<xs:complexType>
<xs:sequence>
<xs:element name="ARGUMENTS" type="xs:string"/>
<xs:element name="HOOK_ID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,25 @@
<!-- This schema is followd by the EVENT API message sent by the Hook Manager -->
<?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="HOOK_MESSAGE">
<xs:complexType>
<xs:sequence>
<xs:element name="HOOK_TYPE" type="xs:string" fixed="STATE"/>
<xs:element name="HOOK_OBJECT" type="xs:string">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="VM"/>
<xs:enumeration value="HOST"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="STATE" type="xs:string"/>
<xs:element name="LCM_STATE" type="xs:string" maxOccurs="1" minOccurs="0"/>
<xs:element name="REMOTE_HOST" type="xs:string" maxOccurs="1" minOccurs="0"/>
<!-- The template of the resource (VM or Host) is inlcuded here -->
<xs:element ref="HOST" maxOccurs="1" minOccurs="0"/>
<xs:element ref="VM" maxOccurs="1" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,12 @@
<?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="hook.xsd"/>
<xs:element name="HOOK_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="HOOK" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,164 @@
<?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
MONITORING_ERROR = 5 Monitoring the host (from error)
MONITORING_INIT = 6 Monitoring the host (from init)
MONITORING_DISABLED = 7 Monitoring the host (from disabled)
OFFLINE = 8 The host is totally offline
-->
<xs:element name="STATE" type="xs:integer"/>
<xs:element name="PREV_STATE" type="xs:integer"/>
<xs:element name="IM_MAD" type="xs:string"/>
<xs:element name="VM_MAD" type="xs:string"/>
<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="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="TOTAL_MEM" type="xs:integer"/>
<!-- ^^ Maximum memory that could be used for VMs -->
<xs:element name="TOTAL_CPU" type="xs:integer"/>
<!-- ^^ Number of CPUs multiplied by 100. For example, a 16 cores machine will have a value of 1600 -->
<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="RUNNING_VMS" type="xs:integer"/>
<xs:element name="VMS_THREAD" type="xs:integer"/>
<xs:element name="DATASTORES">
<xs:complexType>
<xs:all>
<xs:element name="DISK_USAGE" type="xs:integer"/>
<xs:element name="FREE_DISK" type="xs:integer"/>
<xs:element name="MAX_DISK" type="xs:integer"/>
<xs:element name="USED_DISK" type="xs:integer"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="PCI_DEVICES">
<xs:complexType>
<xs:sequence>
<xs:element name="PCI" type="xs:anyType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NUMA_NODES">
<xs:complexType>
<xs:sequence>
<xs:element name="NODE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="CORE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="CPUS" type="xs:string"/>
<xs:element name="DEDICATED" type="xs:string"/>
<xs:element name="FREE" type="xs:integer"/>
<xs:element name="ID" type="xs:integer"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="HUGEPAGE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="FREE" type="xs:integer"/>
<xs:element name="PAGES" type="xs:integer"/>
<xs:element name="SIZE" type="xs:integer"/>
<xs:element name="USAGE" type="xs:integer"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="MEMORY">
<xs:complexType>
<xs:all>
<xs:element name="DISTANCE" type="xs:string"/>
<xs:element name="FREE" type="xs:integer"/>
<xs:element name="TOTAL" type="xs:integer"/>
<xs:element name="USAGE" type="xs:integer"/>
<xs:element name="USED" type="xs:integer"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="NODE_ID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</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">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="VCENTER_CCR_REF" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_DS_REF" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="VCENTER_HOST" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_INSTANCE_ID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_PASSWORD" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_RESOURCE_POOL_INFO" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="VCENTER_USER" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_VERSION" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MONITORING">
<xs:complexType>
<xs:sequence>
<xs:element name="TIMESTAMP" type="xs:integer" minOccurs="0"/>
<xs:element name="ID" type="xs:integer" minOccurs="0"/>
<xs:element name="CAPACITY" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="FREE_CPU" type="xs:integer"/>
<!-- ^^ Percentage, Free CPU as returned by the probes -->
<xs:element name="FREE_MEMORY" type="xs:integer"/>
<!-- ^^ KB, Free MEMORY returned by the probes -->
<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="USED_MEMORY" type="xs:integer"/>
<!-- ^^ KB, Memory used by all host processes (including VMs) over a total of MAX_MEM -->
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SYSTEM" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="NETRX" type="xs:integer" minOccurs="0"/>
<xs:element name="NETTX" type="xs:integer" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,12 @@
<?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>

View File

@ -0,0 +1,122 @@
<?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="LOCK" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="LOCKED" type="xs:integer"/>
<xs:element name="OWNER" type="xs:integer"/>
<xs:element name="TIME" type="xs:integer"/>
<xs:element name="REQ_ID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<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="FORMAT" type="xs:string"/>
<xs:element name="FS" 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
LOCKED_USED = 9, FS operation in progress, VMs waiting
LOCKED_USED_PERS = 10 FS operation in progress, VMs waiting. 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="TARGET_SNAPSHOT" 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="APP_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">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="VCENTER_IMPORTED" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SNAPSHOTS">
<xs:complexType>
<xs:sequence>
<xs:element name="ALLOW_ORPHANS" type="xs:string"/>
<xs:element name="CURRENT_BASE" type="xs:integer"/>
<xs:element name="NEXT_SNAPSHOT" type="xs:string"/>
<xs:element name="SNAPSHOT" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="CHILDREN" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="ACTIVE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="DATE" type="xs:integer"/>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="PARENT" type="xs:integer"/>
<xs:element name="SIZE" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,12 @@
<?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>

View File

@ -0,0 +1,49 @@
<?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="acct.xsd"/>
<xs:include schemaLocation="acl_pool.xsd"/>
<xs:include schemaLocation="api_info.xsd"/>
<xs:include schemaLocation="cluster_pool.xsd"/>
<xs:include schemaLocation="cluster.xsd"/>
<xs:include schemaLocation="datastore_pool.xsd"/>
<xs:include schemaLocation="datastore.xsd"/>
<xs:include schemaLocation="document_pool.xsd"/>
<xs:include schemaLocation="document.xsd"/>
<xs:include schemaLocation="group_pool.xsd"/>
<xs:include schemaLocation="group.xsd"/>
<xs:include schemaLocation="hook_message_api.xsd"/>
<xs:include schemaLocation="hook_pool.xsd"/>
<xs:include schemaLocation="hook.xsd"/>
<xs:include schemaLocation="host_pool.xsd"/>
<xs:include schemaLocation="host.xsd"/>
<xs:include schemaLocation="image_pool.xsd"/>
<xs:include schemaLocation="image.xsd"/>
<xs:include schemaLocation="marketplaceapp_pool.xsd"/>
<xs:include schemaLocation="marketplaceapp.xsd"/>
<xs:include schemaLocation="marketplace_pool.xsd"/>
<xs:include schemaLocation="marketplace.xsd"/>
<xs:include schemaLocation="opennebula_configuration.xsd"/>
<xs:include schemaLocation="raftstatus.xsd"/>
<xs:include schemaLocation="security_group_pool.xsd"/>
<xs:include schemaLocation="security_group.xsd"/>
<xs:include schemaLocation="showback.xsd"/>
<xs:include schemaLocation="user_pool.xsd"/>
<xs:include schemaLocation="user.xsd"/>
<xs:include schemaLocation="vdc_pool.xsd"/>
<xs:include schemaLocation="vdc.xsd"/>
<xs:include schemaLocation="vm_group_pool.xsd"/>
<xs:include schemaLocation="vm_group.xsd"/>
<xs:include schemaLocation="vm_pool.xsd"/>
<xs:include schemaLocation="vmtemplate_pool.xsd"/>
<xs:include schemaLocation="vmtemplate.xsd"/>
<xs:include schemaLocation="vm.xsd"/>
<xs:include schemaLocation="vnet_pool.xsd"/>
<xs:include schemaLocation="vnet.xsd"/>
<xs:include schemaLocation="vntemplate_pool.xsd"/>
<xs:include schemaLocation="vntemplate.xsd"/>
<xs:include schemaLocation="vrouter_pool.xsd"/>
<xs:include schemaLocation="vrouter.xsd"/>
<xs:include schemaLocation="zone_pool.xsd"/>
<xs:include schemaLocation="zone.xsd"/>
</xs:schema>

View File

@ -0,0 +1,44 @@
<?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="MARKETPLACE">
<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="MARKET_MAD" type="xs:string"/>
<xs:element name="ZONE_ID" 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="MARKETPLACEAPPS">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<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="TEMPLATE" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,12 @@
<?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="marketplace.xsd"/>
<xs:element name="MARKETPLACE_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="MARKETPLACE" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,56 @@
<?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="MARKETPLACEAPP">
<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="LOCK" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="LOCKED" type="xs:integer"/>
<xs:element name="OWNER" type="xs:integer"/>
<xs:element name="TIME" type="xs:integer"/>
<xs:element name="REQ_ID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="REGTIME" type="xs:integer"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="ZONE_ID" type="xs:string"/>
<xs:element name="ORIGIN_ID" type="xs:string"/>
<xs:element name="SOURCE" type="xs:string"/>
<xs:element name="MD5" type="xs:string"/>
<xs:element name="SIZE" type="xs:integer"/>
<xs:element name="DESCRIPTION" type="xs:string"/>
<xs:element name="VERSION" type="xs:string"/>
<xs:element name="FORMAT" type="xs:string"/>
<xs:element name="APPTEMPLATE64" type="xs:string"/>
<xs:element name="MARKETPLACE_ID" type="xs:integer"/>
<xs:element name="MARKETPLACE" type="xs:string"/>
<xs:element name="STATE" type="xs:integer"/>
<xs:element name="TYPE" type="xs:integer"/>
<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="TEMPLATE" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,12 @@
<?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="marketplaceapp.xsd"/>
<xs:element name="MARKETPLACEAPP_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="MARKETPLACEAPP" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,411 @@
<?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="OPENNEBULA_CONFIGURATION">
<xs:complexType>
<xs:sequence>
<xs:element name="API_LIST_ORDER" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="AUTH_MAD" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="AUTHN" type="xs:string"/>
<xs:element name="EXECUTABLE" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="AUTH_MAD_CONF" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="DRIVER_MANAGED_GROUPS" type="xs:string"/>
<xs:element name="DRIVER_MANAGED_GROUP_ADMIN" type="xs:string"/>
<xs:element name="MAX_TOKEN_TIME" type="xs:integer"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="PASSWORD_CHANGE" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="CLUSTER_ENCRYPTED_ATTR" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DATASTORE_CAPACITY_CHECK" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DATASTORE_ENCRYPTED_ATTR" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DATASTORE_LOCATION" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DATASTORE_MAD" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="ARGUMENTS" type="xs:string"/>
<xs:element name="EXECUTABLE" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="DB" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element name="BACKEND" minOccurs="0" maxOccurs="1" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="postgresql"/>
<xs:enumeration value="mysql"/>
<xs:enumeration value="sqlite"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="COMPARE_BINARY" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[yY][eE][sS]" />
<xs:pattern value="[nN][oO]" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CONNECTIONS" minOccurs="0" maxOccurs="1" type="xs:integer"/>
<xs:element name="DB_NAME" minOccurs="0" maxOccurs="1" type="xs:string"/>
<xs:element name="PASSWD" minOccurs="0" maxOccurs="1" type="xs:string"/>
<xs:element name="PORT" minOccurs="0" maxOccurs="1" type="xs:integer"/>
<xs:element name="SERVER" minOccurs="0" maxOccurs="1" type="xs:string"/>
<xs:element name="USER" minOccurs="0" maxOccurs="1" type="xs:string"/>
<xs:element name="TIMEOUT" minOccurs="0" maxOccurs="1" type="xs:integer"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="DEFAULT_AUTH" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DEFAULT_CDROM_DEVICE_PREFIX" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DEFAULT_COST" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="CPU_COST" type="xs:integer"/>
<xs:element name="DISK_COST" type="xs:integer"/>
<xs:element name="MEMORY_COST" type="xs:integer"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="DEFAULT_DEVICE_PREFIX" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DEFAULT_IMAGE_PERSISTENT" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DEFAULT_IMAGE_PERSISTENT_NEW" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DEFAULT_IMAGE_TYPE" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DEFAULT_UMASK" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DEFAULT_VDC_CLUSTER_DATASTORE_ACL" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DEFAULT_VDC_CLUSTER_HOST_ACL" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DEFAULT_VDC_CLUSTER_NET_ACL" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DEFAULT_VDC_DATASTORE_ACL" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DEFAULT_VDC_HOST_ACL" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DEFAULT_VDC_VNET_ACL" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DOCUMENT_ENCRYPTED_ATTR" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DS_MAD_CONF" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="MARKETPLACE_ACTIONS" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="PERSISTENT_ONLY" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[yY][eE][sS]" />
<xs:pattern value="[nN][oO]" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="REQUIRED_ATTRS" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="DS_MONITOR_VM_DISK" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="ENABLE_OTHER_PERMISSIONS" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[yY][eE][sS]" />
<xs:pattern value="[nN][oO]" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FEDERATION" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element name="MASTER_ONED" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="MODE" minOccurs="0" maxOccurs="1" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="STANDALONE"/>
<xs:enumeration value="MASTER"/>
<xs:enumeration value="SLAVE"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SERVER_ID" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="ZONE_ID" type="xs:integer" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="GROUP_RESTRICTED_ATTR" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="HM_MAD" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element name="ARGUMENTS" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="EXECUTABLE" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="HOOK_LOG_CONF" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element name="LOG_RETENTION" type="xs:integer" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="HOST_ENCRYPTED_ATTR" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="IMAGE_RESTRICTED_ATTR" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="IM_MAD" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="ARGUMENTS" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="EXECUTABLE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="THREADS" type="xs:integer" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="INHERIT_DATASTORE_ATTR" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="INHERIT_IMAGE_ATTR" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="INHERIT_VNET_ATTR" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="IPAM_MAD" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="ARGUMENTS" type="xs:string"/>
<xs:element name="EXECUTABLE" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="KEEPALIVE_MAX_CONN" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="KEEPALIVE_TIMEOUT" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="LISTEN_ADDRESS" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="LOG" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="DEBUG_LEVEL" type="xs:integer"/>
<xs:element name="SYSTEM" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="LOG_CALL_FORMAT" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="MAC_PREFIX" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="MANAGER_TIMER" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="MARKET_MAD" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="ARGUMENTS" type="xs:string"/>
<xs:element name="EXECUTABLE" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="MARKET_MAD_CONF" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="APP_ACTIONS" type="xs:string"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="PUBLIC" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[yY][eE][sS]" />
<xs:pattern value="[nN][oO]" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="REQUIRED_ATTRS" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="SUNSTONE_NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="MAX_CONN" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="MAX_CONN_BACKLOG" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="MESSAGE_SIZE" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="MONITORING_INTERVAL_DATASTORE" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="MONITORING_INTERVAL_DB_UPDATE" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="MONITORING_INTERVAL_HOST" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="MONITORING_INTERVAL_MARKET" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="MONITORING_INTERVAL_VM" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="NETWORK_SIZE" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="ONE_KEY" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PCI_PASSTHROUGH_BUS" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="PORT" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="RAFT" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element name="BROADCAST_TIMEOUT_MS" type="xs:integer"/>
<xs:element name="ELECTION_TIMEOUT_MS" type="xs:integer"/>
<xs:element name="LIMIT_PURGE" type="xs:integer"/>
<xs:element name="LOG_PURGE_TIMEOUT" type="xs:integer"/>
<xs:element name="LOG_RETENTION" type="xs:integer"/>
<xs:element name="XMLRPC_TIMEOUT_MS" type="xs:integer"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="RPC_LOG" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="SCRIPTS_REMOTE_DIR" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="SESSION_EXPIRATION_TIME" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="TIMEOUT" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="TM_MAD" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="ARGUMENTS" type="xs:string"/>
<xs:element name="EXECUTABLE" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="TM_MAD_CONF" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="ALLOW_ORPHANS" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="CLONE_TARGET" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="CLONE_TARGET_SHARED" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="CLONE_TARGET_SSH" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="DISK_TYPE_SHARED" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="DISK_TYPE_SSH" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="DRIVER" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="DS_MIGRATE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="LN_TARGET" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="LN_TARGET_SHARED" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="LN_TARGET_SSH" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="SHARED" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="TM_MAD_SYSTEM" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="USER_RESTRICTED_ATTR" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="VLAN_IDS" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element name="RESERVED" type="xs:string"/>
<xs:element name="START" type="xs:integer"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="VM_ADMIN_OPERATIONS" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VM_ENCRYPTED_ATTR" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="VM_MAD" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="ARGUMENTS" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="DEFAULT" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="EXECUTABLE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="IMPORTED_VMS_ACTIONS" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="SUNSTONE_NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="TYPE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="KEEP_SNAPSHOTS" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[yY][eE][sS]" />
<xs:pattern value="[nN][oO]" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="COLD_NIC_ATTACH" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[yY][eE][sS]" />
<xs:pattern value="[nN][oO]" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DS_LIVE_MIGRATION" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[yY][eE][sS]" />
<xs:pattern value="[nN][oO]" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LIVE_RESIZE" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[yY][eE][sS]" />
<xs:pattern value="[nN][oO]" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="VM_MANAGE_OPERATIONS" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VM_MONITORING_EXPIRATION_TIME" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="VM_RESTRICTED_ATTR" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="VM_SUBMIT_ON_HOLD" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[yY][eE][sS]" />
<xs:pattern value="[nN][oO]" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="VM_USE_OPERATIONS" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="VNC_PORTS" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element name="RESERVED" type="xs:string"/>
<xs:element name="START" type="xs:integer"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="VNET_ENCRYPTED_ATTR" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="VNET_RESTRICTED_ATTR" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="VN_MAD_CONF" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="BRIDGE_TYPE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="VXLAN_IDS" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element name="START" type="xs:integer"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,18 @@
<?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="RAFT">
<xs:complexType>
<xs:sequence>
<xs:element name="SERVER_ID" type="xs:integer"/>
<xs:element name="STATE" type="xs:integer"/>
<xs:element name="TERM" type="xs:integer"/>
<xs:element name="VOTEDFOR" type="xs:integer"/>
<xs:element name="COMMIT" type="xs:integer"/>
<xs:element name="LOG_INDEX" type="xs:integer"/>
<xs:element name="LOG_TERM" type="xs:integer"/>
<xs:element name="FEDLOG_INDEX" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,74 @@
<?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="SECURITY_GROUP">
<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="UPDATED_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="OUTDATED_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="UPDATING_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="ERROR_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">
<xs:complexType>
<xs:sequence>
<xs:element name="DESCRIPTION" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="RULE" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="PROTOCOL" type="xs:string"/>
<xs:element name="RULE_TYPE" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,12 @@
<?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="security_group.xsd"/>
<xs:element name="SECURITY_GROUP_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="SECURITY_GROUP" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,29 @@
<?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="SHOWBACK_RECORDS">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element name="SHOWBACK" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="VMID" type="xs:integer"/>
<xs:element name="VMNAME" type="xs:string"/>
<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="YEAR" type="xs:integer"/>
<xs:element name="MONTH" type="xs:integer"/>
<xs:element name="CPU_COST" type="xs:float"/>
<xs:element name="MEMORY_COST" type="xs:float"/>
<xs:element name="DISK_COST" type="xs:float"/>
<xs:element name="TOTAL_COST" type="xs:float"/>
<xs:element name="HOURS" type="xs:float"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,186 @@
<?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="GROUPS">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<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="LOGIN_TOKEN" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="TOKEN" type="xs:string"/>
<xs:element name="EXPIRATION_TIME" type="xs:integer"/>
<xs:element name="EGID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<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="RUNNING_CPU" type="xs:string"/>
<xs:element name="RUNNING_CPU_USED" type="xs:string"/>
<xs:element name="RUNNING_MEMORY" type="xs:string"/>
<xs:element name="RUNNING_MEMORY_USED" type="xs:string"/>
<xs:element name="RUNNING_VMS" type="xs:string"/>
<xs:element name="RUNNING_VMS_USED" type="xs:string"/>
<xs:element name="SYSTEM_DISK_SIZE" type="xs:string"/>
<xs:element name="SYSTEM_DISK_SIZE_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="RUNNING_CPU" type="xs:string"/>
<xs:element name="RUNNING_CPU_USED" type="xs:string"/>
<xs:element name="RUNNING_MEMORY" type="xs:string"/>
<xs:element name="RUNNING_MEMORY_USED" type="xs:string"/>
<xs:element name="RUNNING_VMS" type="xs:string"/>
<xs:element name="RUNNING_VMS_USED" type="xs:string"/>
<xs:element name="SYSTEM_DISK_SIZE" type="xs:string"/>
<xs:element name="SYSTEM_DISK_SIZE_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>

View File

@ -0,0 +1,201 @@
<?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_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:choice maxOccurs="unbounded" minOccurs="0">
<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="GROUPS">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<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="LOGIN_TOKEN" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="TOKEN" type="xs:string"/>
<xs:element name="EXPIRATION_TIME" type="xs:integer"/>
<xs:element name="EGID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TEMPLATE" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="QUOTAS" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<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="RUNNING_CPU" type="xs:string"/>
<xs:element name="RUNNING_CPU_USED" type="xs:string"/>
<xs:element name="RUNNING_MEMORY" type="xs:string"/>
<xs:element name="RUNNING_MEMORY_USED" type="xs:string"/>
<xs:element name="RUNNING_VMS" type="xs:string"/>
<xs:element name="RUNNING_VMS_USED" type="xs:string"/>
<xs:element name="SYSTEM_DISK_SIZE" type="xs:string"/>
<xs:element name="SYSTEM_DISK_SIZE_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:choice>
<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="RUNNING_CPU" type="xs:string"/>
<xs:element name="RUNNING_CPU_USED" type="xs:string"/>
<xs:element name="RUNNING_MEMORY" type="xs:string"/>
<xs:element name="RUNNING_MEMORY_USED" type="xs:string"/>
<xs:element name="RUNNING_VMS" type="xs:string"/>
<xs:element name="RUNNING_VMS_USED" type="xs:string"/>
<xs:element name="SYSTEM_DISK_SIZE" type="xs:string"/>
<xs:element name="SYSTEM_DISK_SIZE_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>

View File

@ -0,0 +1,76 @@
<?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="VDC">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="GROUPS">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CLUSTERS">
<xs:complexType>
<xs:sequence>
<xs:element name="CLUSTER" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ZONE_ID" type="xs:integer"/>
<xs:element name="CLUSTER_ID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="HOSTS">
<xs:complexType>
<xs:sequence>
<xs:element name="HOST" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ZONE_ID" type="xs:integer"/>
<xs:element name="HOST_ID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DATASTORES">
<xs:complexType>
<xs:sequence>
<xs:element name="DATASTORE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ZONE_ID" type="xs:integer"/>
<xs:element name="DATASTORE_ID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VNETS">
<xs:complexType>
<xs:sequence>
<xs:element name="VNET" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ZONE_ID" type="xs:integer"/>
<xs:element name="VNET_ID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TEMPLATE" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,12 @@
<?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="vdc.xsd"/>
<xs:element name="VDC_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="VDC" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,251 @@
<?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 and LCM_STATE values,
see http://docs.opennebula.org/5.6/operation/references/vm_states.html#list-of-states
-->
<xs:element name="STATE" type="xs:integer"/>
<xs:element name="LCM_STATE" type="xs:integer"/>
<xs:element name="PREV_STATE" type="xs:integer"/>
<xs:element name="PREV_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"/>
<xs:element name="LOCK" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="LOCKED" type="xs:integer"/>
<xs:element name="OWNER" type="xs:integer"/>
<xs:element name="TIME" type="xs:integer"/>
<xs:element name="REQ_ID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MONITORING">
<xs:complexType>
<xs:all>
<!-- Percentage of 1 CPU consumed (two fully consumed cpu is 2.0) -->
<xs:element name="CPU" type="xs:decimal" minOccurs="0" maxOccurs="1"/>
<!-- Amount of bytes read from disk-->
<xs:element name="DISKRDBYTES" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<!-- Number of IO read operations -->
<xs:element name="DISKRDIOPS" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<!-- Amount of bytes written to disk -->
<xs:element name="DISKWRBYTES" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<!-- Number of IO write operations -->
<xs:element name="DISKWRIOPS" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<!-- ID of the VM -->
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<!-- Consumption in kilobytes -->
<xs:element name="MEMORY" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<!-- Sent bytes to the network -->
<xs:element name="NETTX" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<!-- Received bytes from the network -->
<xs:element name="NETRX" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<!-- Exact time when monitoring info were retieved -->
<xs:element name="TIMESTAMP" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<!-- vCetner information -->
<xs:element name="VCENTER_ESX_HOST" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_GUEST_STATE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_RP_NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_VMWARETOOLS_RUNNING_STATUS" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_VMWARETOOLS_VERSION" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_VMWARETOOLS_VERSION_STATUS" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_VM_NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="TEMPLATE">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="DISK" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="VCENTER_DS_REF" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_INSTANCE_ID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="NIC" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="BRIDGE_TYPE" type="xs:string"/>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="VCENTER_INSTANCE_ID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_NET_REF" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_PORTGROUP_TYPE" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="NIC_ALIAS" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ALIAS_ID" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="PARENT" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="PARENT_ID" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="VCENTER_INSTANCE_ID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_NET_REF" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_PORTGROUP_TYPE" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="USER_TEMPLATE">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="VCENTER_CCR_REF" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_DS_REF" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_INSTANCE_ID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<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="CID" type="xs:integer"/>
<xs:element name="STIME" type="xs:integer"/>
<xs:element name="ETIME" type="xs:integer"/>
<xs:element name="VM_MAD" type="xs:string"/>
<xs:element name="TM_MAD" 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"/>
<!-- 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
DISK_ATTACH_ACTION = 21
DISK_DETACH_ACTION = 22
NIC_ATTACH_ACTION = 23
NIC_DETACH_ACTION = 24
DISK_SNAPSHOT_CREATE_ACTION = 25
DISK_SNAPSHOT_DELETE_ACTION = 26
TERMINATE_ACTION = 27
TERMINATE_HARD_ACTION = 28
DISK_RESIZE_ACTION = 29
DEPLOY_ACTION = 30
CHOWN_ACTION = 31
CHMOD_ACTION = 32
UPDATECONF_ACTION = 33
RENAME_ACTION = 34
RESIZE_ACTION = 35
UPDATE_ACTION = 36
SNAPSHOT_CREATE_ACTION = 37
SNAPSHOT_DELETE_ACTION = 38
SNAPSHOT_REVERT_ACTION = 39
DISK_SAVEAS_ACTION = 40
DISK_SNAPSHOT_REVERT_ACTION = 41
RECOVER_ACTION = 42
RETRY_ACTION = 43
MONITOR_ACTION = 44
DISK_SNAPSHOT_RENAME_ACTION = 45
ALIAS_ATTACH_ACTION = 46
ALIAS_DETACH_ACTION = 47
-->
<xs:element name="ACTION" type="xs:integer"/>
<xs:element name="UID" type="xs:integer"/>
<xs:element name="GID" type="xs:integer"/>
<xs:element name="REQUEST_ID" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SNAPSHOTS" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ALLOW_ORPHANS" type="xs:string"/>
<xs:element name="CURRENT_BASE" type="xs:integer"/>
<xs:element name="DISK_ID" type="xs:integer"/>
<xs:element name="NEXT_SNAPSHOT" type="xs:integer"/>
<xs:element name="SNAPSHOT" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ACTIVE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="CHILDREN" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="DATE" type="xs:integer"/>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="PARENT" type="xs:integer"/>
<xs:element name="SIZE" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,59 @@
<?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_GROUP">
<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="LOCK" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="LOCKED" type="xs:integer"/>
<xs:element name="OWNER" type="xs:integer"/>
<xs:element name="TIME" type="xs:integer"/>
<xs:element name="REQ_ID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ROLES" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="ROLE" maxOccurs="unbounded" minOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="HOST_AFFINED" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="HOST_ANTI_AFFINED" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="POLICY" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TEMPLATE" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,12 @@
<?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_group.xsd"/>
<xs:element name="VM_GROUP_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="VM_GROUP" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,114 @@
<?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_POOL">
<xs:complexType>
<xs:sequence>
<xs:element name="VM" minOccurs="0" maxOccurs="unbounded">
<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="LAST_POLL" type="xs:integer"/>
<xs:element name="STATE" type="xs:integer"/>
<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"/>
<xs:element name="TEMPLATE">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="DISK" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="VCENTER_DS_REF" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_INSTANCE_ID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="NIC" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="VCENTER_INSTANCE_ID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_NET_REF" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_PORTGROUP_TYPE" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MONITORING" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="USER_TEMPLATE">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<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="CID" type="xs:integer"/>
<xs:element name="DS_ID" type="xs:integer"/>
<xs:element name="ACTION" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SNAPSHOTS" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ALLOW_ORPHANS" type="xs:string"/>
<xs:element name="CURRENT_BASE" type="xs:integer"/>
<xs:element name="DISK_ID" type="xs:integer"/>
<xs:element name="NEXT_SNAPSHOT" type="xs:integer"/>
<xs:element name="SNAPSHOT" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ACTIVE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="CHILDREN" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="DATE" type="xs:integer"/>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="PARENT" type="xs:integer"/>
<xs:element name="SIZE" type="xs:integer"/>
</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>

View File

@ -0,0 +1,52 @@
<?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="LOCK" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="LOCKED" type="xs:integer"/>
<xs:element name="OWNER" type="xs:integer"/>
<xs:element name="TIME" type="xs:integer"/>
<xs:element name="REQ_ID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<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">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="VCENTER_CCR_REF" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_INSTANCE_ID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_TEMPLATE_REF" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,12 @@
<?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>

View File

@ -0,0 +1,137 @@
<?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="LOCK" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="LOCKED" type="xs:integer"/>
<xs:element name="OWNER" type="xs:integer"/>
<xs:element name="TIME" type="xs:integer"/>
<xs:element name="REQ_ID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<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="CLUSTERS">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BRIDGE" type="xs:string"/>
<xs:element name="BRIDGE_TYPE" type="xs:string" minOccurs="0"/>
<xs:element name="PARENT_NETWORK_ID" type="xs:string"/>
<xs:element name="VN_MAD" type="xs:string"/>
<xs:element name="PHYDEV" type="xs:string"/>
<xs:element name="VLAN_ID" type="xs:string" minOccurs="0"/>
<xs:element name="OUTER_VLAN_ID" type="xs:string" minOccurs="0"/>
<xs:element name="VLAN_ID_AUTOMATIC" type="xs:string"/>
<xs:element name="OUTER_VLAN_ID_AUTOMATIC" type="xs:string"/>
<xs:element name="USED_LEASES" type="xs:integer"/>
<xs:element name="VROUTERS">
<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">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="CONTEXT_FORCE_IPV4" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="DNS" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="GATEWAY" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="GATEWAY6" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="GUEST_MTU" type="xs:int" minOccurs="0" maxOccurs="1"/>
<xs:element name="NETWORK_ADDRESS" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="NETWORK_MASK" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="SEARCH_DOMAIN" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_FROM_WILD" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_INSTANCE_ID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_NET_REF" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_PORTGROUP_TYPE" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VCENTER_TEMPLATE_REF" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AR_POOL">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element name="AR" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="AR_ID" type="xs:string"/>
<xs:element name="GLOBAL_PREFIX" type="xs:string" minOccurs="0"/>
<xs:element name="IP" type="xs:string" minOccurs="0"/>
<xs:element name="MAC" type="xs:string"/>
<xs:element name="PARENT_NETWORK_AR_ID" type="xs:string" minOccurs="0"/>
<xs:element name="SIZE" type="xs:integer"/>
<xs:element name="TYPE" type="xs:string"/>
<xs:element name="ULA_PREFIX" type="xs:string" minOccurs="0"/>
<xs:element name="VN_MAD" type="xs:string" minOccurs="0"/>
<xs:element name="MAC_END" type="xs:string" minOccurs="0"/>
<xs:element name="IP_END" type="xs:string" minOccurs="0"/>
<xs:element name="IP6_ULA" type="xs:string" minOccurs="0"/>
<xs:element name="IP6_ULA_END" type="xs:string" minOccurs="0"/>
<xs:element name="IP6_GLOBAL" type="xs:string" minOccurs="0"/>
<xs:element name="IP6_GLOBAL_END" type="xs:string" minOccurs="0"/>
<xs:element name="IP6" type="xs:string" minOccurs="0"/>
<xs:element name="IP6_END" type="xs:string" minOccurs="0"/>
<xs:element name="USED_LEASES" type="xs:string"/>
<xs:element name="LEASES" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="LEASE" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="IP" type="xs:string" minOccurs="0"/>
<xs:element name="IP6" type="xs:string" minOccurs="0"/>
<xs:element name="IP6_GLOBAL" type="xs:string" minOccurs="0"/>
<xs:element name="IP6_LINK" type="xs:string" minOccurs="0"/>
<xs:element name="IP6_ULA" type="xs:string" minOccurs="0"/>
<xs:element name="MAC" type="xs:string"/>
<xs:element name="VM" type="xs:integer" minOccurs="0"/>
<xs:element name="VNET" type="xs:integer" minOccurs="0"/>
<xs:element name="VROUTER" type="xs:integer" minOccurs="0"/>
</xs:all>
</xs:complexType>
</xs:element>
</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>

View File

@ -0,0 +1,85 @@
<?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 name="VNET" maxOccurs="unbounded" minOccurs="0">
<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="CLUSTERS">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BRIDGE" type="xs:string"/>
<xs:element name="BRIDGE_TYPE" type="xs:string" minOccurs="0"/>
<xs:element name="PARENT_NETWORK_ID" type="xs:string"/>
<xs:element name="VN_MAD" type="xs:string"/>
<xs:element name="PHYDEV" type="xs:string"/>
<xs:element name="VLAN_ID" type="xs:string" minOccurs="0"/>
<xs:element name="OUTER_VLAN_ID" type="xs:string" minOccurs="0"/>
<xs:element name="VLAN_ID_AUTOMATIC" type="xs:string"/>
<xs:element name="OUTER_VLAN_ID_AUTOMATIC" type="xs:string"/>
<xs:element name="USED_LEASES" type="xs:integer"/>
<xs:element name="VROUTERS">
<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:element name="AR_POOL">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element name="AR" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ALLOCATED" type="xs:string" minOccurs="0"/>
<xs:element name="AR_ID" type="xs:string"/>
<xs:element name="GLOBAL_PREFIX" type="xs:string" minOccurs="0"/>
<xs:element name="IP" type="xs:string" minOccurs="0"/>
<xs:element name="MAC" type="xs:string"/>
<xs:element name="PARENT_NETWORK_AR_ID" type="xs:string" minOccurs="0"/>
<xs:element name="SIZE" type="xs:integer"/>
<xs:element name="TYPE" type="xs:string"/>
<xs:element name="ULA_PREFIX" type="xs:string" minOccurs="0"/>
<xs:element name="VN_MAD" type="xs:string" minOccurs="0"/>
</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>

View File

@ -0,0 +1,50 @@
<?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="VNTEMPLATE">
<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="LOCK" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="LOCKED" type="xs:integer"/>
<xs:element name="OWNER" type="xs:integer"/>
<xs:element name="TIME" type="xs:integer"/>
<xs:element name="REQ_ID" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<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">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
<xs:element name="VN_MAD" type="xs:string"/>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,12 @@
<?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="vntemplate.xsd"/>
<xs:element name="VNTEMPLATE_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="VNTEMPLATE" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,49 @@
<?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="VROUTER">
<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="LOCK" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="LOCKED" type="xs:integer"/>
<xs:element name="OWNER" type="xs:integer"/>
<xs:element name="TIME" type="xs:integer"/>
<xs:element name="REQ_ID" 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>

View File

@ -0,0 +1,12 @@
<?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="vrouter.xsd"/>
<xs:element name="VROUTER_POOL">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="VROUTER" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,40 @@
<?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="ZONE">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="TEMPLATE">
<xs:complexType>
<xs:sequence>
<xs:element name="ENDPOINT" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SERVER_POOL">
<xs:complexType>
<xs:sequence>
<xs:element name="SERVER" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ENDPOINT" type="xs:string"/>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="STATE" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="TERM" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="VOTEDFOR" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="COMMIT" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="LOG_INDEX" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="FEDLOG_INDEX" type="xs:integer" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,36 @@
<?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="ZONE_POOL">
<xs:element name="ZONE">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="NAME" type="xs:string"/>
<xs:element name="TEMPLATE">
<xs:complexType>
<xs:sequence>
<xs:element name="ENDPOINT" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SERVER_POOL">
<xs:complexType>
<xs:sequence>
<xs:element name="SERVER" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ENDPOINT" type="xs:string"/>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="NAME" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:element>
</xs:schema>