diff --git a/.gitignore b/.gitignore
index 3e23706e3a9..352e9bbc008 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,7 +30,9 @@ ocaml/xenopsd/xentoollog_flags
ocaml/idl/gen_lifecycle.exe
+# hugo
.hugo_build.lock
go.sum
+doc/public
.DS_Store
diff --git a/doc/assets/css/xenapi.css b/doc/assets/css/xenapi.css
new file mode 100644
index 00000000000..d75b1b6d089
--- /dev/null
+++ b/doc/assets/css/xenapi.css
@@ -0,0 +1,115 @@
+/*
+ * Copyright (C) 2006-2011 Citrix Systems Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#content a {
+ color: #35383d
+}
+
+table {
+ font-size: 100%;
+ width: 100%;
+ border-collapse: collapse;
+}
+
+tr {
+ background-color: inherit;
+}
+
+td {
+ vertical-align: top;
+ padding: 3px 1em 3px 0;
+}
+
+th { text-align: left;
+ border-bottom: 1px solid black;
+}
+
+.description {
+ margin-bottom: 1em;
+}
+
+.field, .field2 {
+ margin: 0em 0;
+ padding: .5em .7em .7em;
+ background-color: #dddddd;
+ cursor: pointer;
+ font-size: 15px;
+}
+
+.field2 {
+ background-color: #e8e8e8;
+}
+
+.field-type {
+ font-size: 80%;
+}
+
+.field-name {
+ font-weight: bold;
+}
+
+.field-head {
+ font-style: italic;
+}
+
+.field-description {
+ margin: .7em 0;
+}
+
+.field-table {
+ border: 0;
+ background-color: transparent;
+}
+
+.field-table td {
+ padding: .3em 1.5em .3em 0;
+ border: 0;
+}
+
+.inline-type {
+ margin-right: .5em;
+}
+
+.inline-qualifier {
+ font-size: 70%;
+ vertical-align: top;
+ margin-left: .5em;
+}
+
+.inline-params {
+ margin-left: .5em;
+}
+
+.lifecycle {
+ font-size: 12px;
+ float: right;
+ font-variant:small-caps;
+ color: #306580;
+ margin: auto 0.5em;
+}
+
+.button {
+ float: right;
+ color: #fff;
+ background-color: #337ab7;
+ border-color: #2e6da4;
+ padding: 1px 5px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+ display: inline-block;
+ font-weight: 400;
+ margin: 0;
+ vertical-align: middle;
+}
diff --git a/doc/content/xen-api/_index.md b/doc/content/xen-api/_index.md
new file mode 100644
index 00000000000..a5a5673d0ef
--- /dev/null
+++ b/doc/content/xen-api/_index.md
@@ -0,0 +1,5 @@
++++
+title = "XenAPI"
++++
+
+{{% children %}}
diff --git a/doc/content/xen-api/basics.md b/doc/content/xen-api/basics.md
new file mode 100644
index 00000000000..ce4394c6afa
--- /dev/null
+++ b/doc/content/xen-api/basics.md
@@ -0,0 +1,118 @@
++++
+title = "XenAPI Basics"
+weight = 10
++++
+
+This document contains a description of the Xen Management API – an interface for
+remotely configuring and controlling virtualised guests running on a
+Xen-enabled host.
+
+The XenAPI is presented here as a set of Remote Procedure Calls, with a wire
+format based upon [XML-RPC](http://xmlrpc.scripting.com).
+No specific language bindings are prescribed,
+although examples will be given in the python programming language.
+
+Although we adopt some terminology from object-oriented programming,
+future client language bindings may or may not be object oriented.
+The API reference uses the terminology _classes_ and _objects_.
+For our purposes a _class_ is simply a hierarchical namespace;
+an _object_ is an instance of a class with its fields set to
+specific values. Objects are persistent and exist on the server-side.
+Clients may obtain opaque references to these server-side objects and then
+access their fields via get/set RPCs.
+
+For each class we specify a list of fields along with their _types_ and _qualifiers_. A
+qualifier is one of:
+
+- _RO/runtime_: the field is Read
+Only. Furthermore, its value is automatically computed at runtime.
+For example: current CPU load and disk IO throughput.
+- _RO/constructor_: the field must be manually set
+when a new object is created, but is then Read Only for
+the duration of the object's life.
+For example, the maximum memory addressable by a guest is set
+before the guest boots.
+- _RW_: the field is Read/Write. For example, the name of a VM.
+
+Types
+-----
+
+The following types are used to specify methods and fields in the API Reference:
+
+- `string`: Text strings.
+- `int`: 64-bit integers.
+- `float`: IEEE double-precision floating-point numbers.
+- `bool`: Boolean.
+- `datetime`: Date and timestamp.
+- `c ref`: Reference to an object of class `c`.
+- `t set`: Arbitrary-length set of values of type `t`.
+- `(k → v) map`: Mapping from values of type `k` to values of type `v`.
+- `e enum`: Enumeration type with name `e`. Enums are defined in the API Reference together with classes that use them.
+
+Note that there are a number of cases where `ref`s are _doubly
+linked_ – e.g. a VM has a field called `VIFs` of type
+`VIF ref set`; this field lists
+the network interfaces attached to a particular VM. Similarly, the VIF
+class has a field called `VM` of type `VM ref` which references the VM to which the interface is connected.
+These two fields are _bound together_, in the sense that
+creating a new VIF causes the `VIFs` field of the corresponding
+VM object to be updated automatically.
+
+The API reference explicitly lists the fields that are
+bound together in this way. It also contains a diagram that shows
+relationships between classes. In this diagram an edge signifies the
+existance of a pair of fields that are bound together, using standard
+crows-foot notation to signify the type of relationship (e.g.
+one-many, many-many).
+
+RPCs associated with fields
+---------------------------
+
+Each field, `f`, has an RPC accessor associated with it
+that returns `f`'s value:
+
+- `get_f (r)`: Takes a `ref`, `r`, that refers to an object and returns the value of `f`.
+
+Each field, `f`, with attribute `RW` and whose outermost type is `set` has the following
+additional RPCs associated with it:
+
+- `add_f (r, v)`: Adds a new element `v` to the set. Since sets cannot contain duplicate values this operation has no action in the case
+that `v` was already in the set.
+
+- `remove_f (r, v)`: Removes element `v` from the set.
+
+Each field, `f`, with attribute RW and whose outermost type is `map` has the following
+additional RPCs associated with it:
+
+- `add_to_f (r, k, v)`: Adds new pair `(k → v)` to the mapping stored in `f` in object `r`. Attempting to add a new pair for duplicate
+key, `k`, fails with an `MAP_DUPLICATE_KEY` error.
+- `remove_from_f (r, k)`: Removes the pair with key `k` from the mapping stored in `f` in object `r`.
+
+Each field whose outermost type is neither `set` nor `map`,
+but whose attribute is RW has an RPC accessor associated with it
+that sets its value:
+
+- `set_f (r, v)`: Sets field `f` on object `r` to value `v`.
+
+RPCs associated with classes
+----------------------------
+
+- Most classes have a _constructor_ RPC named `create` that
+takes as parameters all fields marked RW and
+RO/constructor. The result of this RPC is that a new _persistent_ object is
+created on the server-side with the specified field values.
+- Each class has a `get_by_uuid (uuid)` RPC that returns the object
+of that class that has the specified UUID.
+- Each class that has a `name_label` field has a `get_by_name_label (name_label)` RPC that returns a set of objects of that
+class that have the specified `name_label`.
+- Most classes have a `destroy (r)` RPC that explicitly deletes the persistent object specified by `r` from the system. This is a
+non-cascading delete – if the object being removed is referenced by another
+object then the `destroy` call will fail.
+
+Additional RPCs
+---------------
+
+As well as the RPCs enumerated above, most classes have additional RPCs
+associated with them. For example, the VM class has RPCs for cloning,
+suspending, starting etc. Such additional RPCs are described explicitly
+in the API reference.
diff --git a/doc/content/xen-api/classes/_index.html b/doc/content/xen-api/classes/_index.html
new file mode 100644
index 00000000000..d466e62368c
--- /dev/null
+++ b/doc/content/xen-api/classes/_index.html
@@ -0,0 +1,59 @@
++++
+title = "XenAPI Reference"
+layout = "class"
+type = "xenapi"
++++
+
+
+
XenAPI Classes
+
Click on a class to view the associated fields and messages.
+
+
+
+
Classes, Fields and Messages
+
Classes have both fields and messages. Messages are either implicit or explicit where an implicit message is one of:
+
+
a constructor (usually called "create");
+
a destructor (usually called "destroy");
+
"get_by_name_label";
+
"get_by_uuid";
+
"get_record";
+
"get_all"; and
+
"get_all_records".
+
+
Explicit messages include all the rest, more class-specific messages (e.g. "VM.start", "VM.clone")
+
Every field has at least one accessor depending both on its type and whether it is read-only or read-write. Accessors for a field named "X" would be a proper subset of:
+
+
set_X: change the value of field X (only if it is read-write);
+
get_X: retrieve the value of field X;
+
add_X: add a key/value pair (for fields of type set);
+
remove_X: remove a key (for fields of type set);
+
add_to_X: add a key/value pair (for fields of type map); and
+
remove_from_X: remove a key (for fields of type map).
+
+
diff --git a/doc/content/xen-api/classes/auth.md b/doc/content/xen-api/classes/auth.md
new file mode 100644
index 00000000000..a060dd1d283
--- /dev/null
+++ b/doc/content/xen-api/classes/auth.md
@@ -0,0 +1,6 @@
++++
+title = "auth"
+layout = "class"
+type = "xenapi"
+class = "auth"
++++
diff --git a/doc/content/xen-api/classes/blob.md b/doc/content/xen-api/classes/blob.md
new file mode 100644
index 00000000000..ce2b8e49ddb
--- /dev/null
+++ b/doc/content/xen-api/classes/blob.md
@@ -0,0 +1,6 @@
++++
+title = "blob"
+layout = "class"
+type = "xenapi"
+class = "blob"
++++
diff --git a/doc/content/xen-api/classes/bond.md b/doc/content/xen-api/classes/bond.md
new file mode 100644
index 00000000000..f3dd3616299
--- /dev/null
+++ b/doc/content/xen-api/classes/bond.md
@@ -0,0 +1,6 @@
++++
+title = "Bond"
+layout = "class"
+type = "xenapi"
+class = "Bond"
++++
diff --git a/doc/content/xen-api/classes/certificate.md b/doc/content/xen-api/classes/certificate.md
new file mode 100644
index 00000000000..48a1cd7cb95
--- /dev/null
+++ b/doc/content/xen-api/classes/certificate.md
@@ -0,0 +1,6 @@
++++
+title = "Certificate"
+layout = "class"
+type = "xenapi"
+class = "Certificate"
++++
diff --git a/doc/content/xen-api/classes/classes.png b/doc/content/xen-api/classes/classes.png
new file mode 100644
index 00000000000..0e4e2a0449f
Binary files /dev/null and b/doc/content/xen-api/classes/classes.png differ
diff --git a/doc/content/xen-api/classes/cluster.md b/doc/content/xen-api/classes/cluster.md
new file mode 100644
index 00000000000..6e32b167835
--- /dev/null
+++ b/doc/content/xen-api/classes/cluster.md
@@ -0,0 +1,6 @@
++++
+title = "Cluster"
+layout = "class"
+type = "xenapi"
+class = "Cluster"
++++
diff --git a/doc/content/xen-api/classes/cluster_host.md b/doc/content/xen-api/classes/cluster_host.md
new file mode 100644
index 00000000000..6adb361945f
--- /dev/null
+++ b/doc/content/xen-api/classes/cluster_host.md
@@ -0,0 +1,6 @@
++++
+title = "Cluster_host"
+layout = "class"
+type = "xenapi"
+class = "Cluster_host"
++++
diff --git a/doc/content/xen-api/classes/console.md b/doc/content/xen-api/classes/console.md
new file mode 100644
index 00000000000..6e8128740f4
--- /dev/null
+++ b/doc/content/xen-api/classes/console.md
@@ -0,0 +1,6 @@
++++
+title = "console"
+layout = "class"
+type = "xenapi"
+class = "console"
++++
diff --git a/doc/content/xen-api/classes/crashdump.md b/doc/content/xen-api/classes/crashdump.md
new file mode 100644
index 00000000000..254004162c2
--- /dev/null
+++ b/doc/content/xen-api/classes/crashdump.md
@@ -0,0 +1,6 @@
++++
+title = "crashdump"
+layout = "class"
+type = "xenapi"
+class = "crashdump"
++++
diff --git a/doc/content/xen-api/classes/data_source.md b/doc/content/xen-api/classes/data_source.md
new file mode 100644
index 00000000000..34385021861
--- /dev/null
+++ b/doc/content/xen-api/classes/data_source.md
@@ -0,0 +1,6 @@
++++
+title = "data_source"
+layout = "class"
+type = "xenapi"
+class = "data_source"
++++
diff --git a/doc/content/xen-api/classes/dr_task.md b/doc/content/xen-api/classes/dr_task.md
new file mode 100644
index 00000000000..f7f9d440396
--- /dev/null
+++ b/doc/content/xen-api/classes/dr_task.md
@@ -0,0 +1,6 @@
++++
+title = "DR_task"
+layout = "class"
+type = "xenapi"
+class = "DR_task"
++++
diff --git a/doc/content/xen-api/classes/event.md b/doc/content/xen-api/classes/event.md
new file mode 100644
index 00000000000..6db19e81829
--- /dev/null
+++ b/doc/content/xen-api/classes/event.md
@@ -0,0 +1,6 @@
++++
+title = "event"
+layout = "class"
+type = "xenapi"
+class = "event"
++++
diff --git a/doc/content/xen-api/classes/feature.md b/doc/content/xen-api/classes/feature.md
new file mode 100644
index 00000000000..806a2bc79e6
--- /dev/null
+++ b/doc/content/xen-api/classes/feature.md
@@ -0,0 +1,6 @@
++++
+title = "Feature"
+layout = "class"
+type = "xenapi"
+class = "Feature"
++++
diff --git a/doc/content/xen-api/classes/gpu_group.md b/doc/content/xen-api/classes/gpu_group.md
new file mode 100644
index 00000000000..31fe2e0b4a6
--- /dev/null
+++ b/doc/content/xen-api/classes/gpu_group.md
@@ -0,0 +1,6 @@
++++
+title = "GPU_group"
+layout = "class"
+type = "xenapi"
+class = "GPU_group"
++++
diff --git a/doc/content/xen-api/classes/host.md b/doc/content/xen-api/classes/host.md
new file mode 100644
index 00000000000..b09bb8a4be4
--- /dev/null
+++ b/doc/content/xen-api/classes/host.md
@@ -0,0 +1,6 @@
++++
+title = "host"
+layout = "class"
+type = "xenapi"
+class = "host"
++++
diff --git a/doc/content/xen-api/classes/host_cpu.md b/doc/content/xen-api/classes/host_cpu.md
new file mode 100644
index 00000000000..da8378ab7f2
--- /dev/null
+++ b/doc/content/xen-api/classes/host_cpu.md
@@ -0,0 +1,6 @@
++++
+title = "host_cpu"
+layout = "class"
+type = "xenapi"
+class = "host_cpu"
++++
diff --git a/doc/content/xen-api/classes/host_crashdump.md b/doc/content/xen-api/classes/host_crashdump.md
new file mode 100644
index 00000000000..a2f27859d2d
--- /dev/null
+++ b/doc/content/xen-api/classes/host_crashdump.md
@@ -0,0 +1,6 @@
++++
+title = "host_crashdump"
+layout = "class"
+type = "xenapi"
+class = "host_crashdump"
++++
diff --git a/doc/content/xen-api/classes/host_metrics.md b/doc/content/xen-api/classes/host_metrics.md
new file mode 100644
index 00000000000..ab37f618e75
--- /dev/null
+++ b/doc/content/xen-api/classes/host_metrics.md
@@ -0,0 +1,6 @@
++++
+title = "host_metrics"
+layout = "class"
+type = "xenapi"
+class = "host_metrics"
++++
diff --git a/doc/content/xen-api/classes/host_patch.md b/doc/content/xen-api/classes/host_patch.md
new file mode 100644
index 00000000000..20bc1227762
--- /dev/null
+++ b/doc/content/xen-api/classes/host_patch.md
@@ -0,0 +1,6 @@
++++
+title = "host_patch"
+layout = "class"
+type = "xenapi"
+class = "host_patch"
++++
diff --git a/doc/content/xen-api/classes/lvhd.md b/doc/content/xen-api/classes/lvhd.md
new file mode 100644
index 00000000000..d3958d33560
--- /dev/null
+++ b/doc/content/xen-api/classes/lvhd.md
@@ -0,0 +1,6 @@
++++
+title = "LVHD"
+layout = "class"
+type = "xenapi"
+class = "LVHD"
++++
diff --git a/doc/content/xen-api/classes/message.md b/doc/content/xen-api/classes/message.md
new file mode 100644
index 00000000000..1ef5d1e8a32
--- /dev/null
+++ b/doc/content/xen-api/classes/message.md
@@ -0,0 +1,6 @@
++++
+title = "message"
+layout = "class"
+type = "xenapi"
+class = "message"
++++
diff --git a/doc/content/xen-api/classes/network.md b/doc/content/xen-api/classes/network.md
new file mode 100644
index 00000000000..3e167722de5
--- /dev/null
+++ b/doc/content/xen-api/classes/network.md
@@ -0,0 +1,6 @@
++++
+title = "network"
+layout = "class"
+type = "xenapi"
+class = "network"
++++
diff --git a/doc/content/xen-api/classes/network_sriov.md b/doc/content/xen-api/classes/network_sriov.md
new file mode 100644
index 00000000000..847608bdf52
--- /dev/null
+++ b/doc/content/xen-api/classes/network_sriov.md
@@ -0,0 +1,6 @@
++++
+title = "network_sriov"
+layout = "class"
+type = "xenapi"
+class = "network_sriov"
++++
diff --git a/doc/content/xen-api/classes/observer.md b/doc/content/xen-api/classes/observer.md
new file mode 100644
index 00000000000..47f90c9277f
--- /dev/null
+++ b/doc/content/xen-api/classes/observer.md
@@ -0,0 +1,6 @@
++++
+title = "Observer"
+layout = "class"
+type = "xenapi"
+class = "Observer"
++++
diff --git a/doc/content/xen-api/classes/pbd.md b/doc/content/xen-api/classes/pbd.md
new file mode 100644
index 00000000000..288accce471
--- /dev/null
+++ b/doc/content/xen-api/classes/pbd.md
@@ -0,0 +1,6 @@
++++
+title = "PBD"
+layout = "class"
+type = "xenapi"
+class = "PBD"
++++
diff --git a/doc/content/xen-api/classes/pci.md b/doc/content/xen-api/classes/pci.md
new file mode 100644
index 00000000000..b6acc9804d7
--- /dev/null
+++ b/doc/content/xen-api/classes/pci.md
@@ -0,0 +1,6 @@
++++
+title = "PCI"
+layout = "class"
+type = "xenapi"
+class = "PCI"
++++
diff --git a/doc/content/xen-api/classes/pgpu.md b/doc/content/xen-api/classes/pgpu.md
new file mode 100644
index 00000000000..324dce2c379
--- /dev/null
+++ b/doc/content/xen-api/classes/pgpu.md
@@ -0,0 +1,6 @@
++++
+title = "PGPU"
+layout = "class"
+type = "xenapi"
+class = "PGPU"
++++
diff --git a/doc/content/xen-api/classes/pif.md b/doc/content/xen-api/classes/pif.md
new file mode 100644
index 00000000000..19f5750424f
--- /dev/null
+++ b/doc/content/xen-api/classes/pif.md
@@ -0,0 +1,6 @@
++++
+title = "PIF"
+layout = "class"
+type = "xenapi"
+class = "PIF"
++++
diff --git a/doc/content/xen-api/classes/pif_metrics.md b/doc/content/xen-api/classes/pif_metrics.md
new file mode 100644
index 00000000000..aab7773a008
--- /dev/null
+++ b/doc/content/xen-api/classes/pif_metrics.md
@@ -0,0 +1,6 @@
++++
+title = "PIF_metrics"
+layout = "class"
+type = "xenapi"
+class = "PIF_metrics"
++++
diff --git a/doc/content/xen-api/classes/pool.md b/doc/content/xen-api/classes/pool.md
new file mode 100644
index 00000000000..5f6d1576bc9
--- /dev/null
+++ b/doc/content/xen-api/classes/pool.md
@@ -0,0 +1,6 @@
++++
+title = "pool"
+layout = "class"
+type = "xenapi"
+class = "pool"
++++
diff --git a/doc/content/xen-api/classes/pool_patch.md b/doc/content/xen-api/classes/pool_patch.md
new file mode 100644
index 00000000000..709bbf85b18
--- /dev/null
+++ b/doc/content/xen-api/classes/pool_patch.md
@@ -0,0 +1,6 @@
++++
+title = "pool_patch"
+layout = "class"
+type = "xenapi"
+class = "pool_patch"
++++
diff --git a/doc/content/xen-api/classes/pool_update.md b/doc/content/xen-api/classes/pool_update.md
new file mode 100644
index 00000000000..77bb73c3fa2
--- /dev/null
+++ b/doc/content/xen-api/classes/pool_update.md
@@ -0,0 +1,6 @@
++++
+title = "pool_update"
+layout = "class"
+type = "xenapi"
+class = "pool_update"
++++
diff --git a/doc/content/xen-api/classes/probe_result.md b/doc/content/xen-api/classes/probe_result.md
new file mode 100644
index 00000000000..3d33aac858d
--- /dev/null
+++ b/doc/content/xen-api/classes/probe_result.md
@@ -0,0 +1,6 @@
++++
+title = "probe_result"
+layout = "class"
+type = "xenapi"
+class = "probe_result"
++++
diff --git a/doc/content/xen-api/classes/pusb.md b/doc/content/xen-api/classes/pusb.md
new file mode 100644
index 00000000000..773e0a9a9c0
--- /dev/null
+++ b/doc/content/xen-api/classes/pusb.md
@@ -0,0 +1,6 @@
++++
+title = "PUSB"
+layout = "class"
+type = "xenapi"
+class = "PUSB"
++++
diff --git a/doc/content/xen-api/classes/pvs_cache_storage.md b/doc/content/xen-api/classes/pvs_cache_storage.md
new file mode 100644
index 00000000000..0042b0a34cf
--- /dev/null
+++ b/doc/content/xen-api/classes/pvs_cache_storage.md
@@ -0,0 +1,6 @@
++++
+title = "PVS_cache_storage"
+layout = "class"
+type = "xenapi"
+class = "PVS_cache_storage"
++++
diff --git a/doc/content/xen-api/classes/pvs_proxy.md b/doc/content/xen-api/classes/pvs_proxy.md
new file mode 100644
index 00000000000..862a9c178d7
--- /dev/null
+++ b/doc/content/xen-api/classes/pvs_proxy.md
@@ -0,0 +1,6 @@
++++
+title = "PVS_proxy"
+layout = "class"
+type = "xenapi"
+class = "PVS_proxy"
++++
diff --git a/doc/content/xen-api/classes/pvs_server.md b/doc/content/xen-api/classes/pvs_server.md
new file mode 100644
index 00000000000..2c5ee2a2094
--- /dev/null
+++ b/doc/content/xen-api/classes/pvs_server.md
@@ -0,0 +1,6 @@
++++
+title = "PVS_server"
+layout = "class"
+type = "xenapi"
+class = "PVS_server"
++++
diff --git a/doc/content/xen-api/classes/pvs_site.md b/doc/content/xen-api/classes/pvs_site.md
new file mode 100644
index 00000000000..bae8e112494
--- /dev/null
+++ b/doc/content/xen-api/classes/pvs_site.md
@@ -0,0 +1,6 @@
++++
+title = "PVS_site"
+layout = "class"
+type = "xenapi"
+class = "PVS_site"
++++
diff --git a/doc/content/xen-api/classes/repository.md b/doc/content/xen-api/classes/repository.md
new file mode 100644
index 00000000000..acde83ee5a2
--- /dev/null
+++ b/doc/content/xen-api/classes/repository.md
@@ -0,0 +1,6 @@
++++
+title = "Repository"
+layout = "class"
+type = "xenapi"
+class = "Repository"
++++
diff --git a/doc/content/xen-api/classes/role.md b/doc/content/xen-api/classes/role.md
new file mode 100644
index 00000000000..a56e2afae58
--- /dev/null
+++ b/doc/content/xen-api/classes/role.md
@@ -0,0 +1,6 @@
++++
+title = "role"
+layout = "class"
+type = "xenapi"
+class = "role"
++++
diff --git a/doc/content/xen-api/classes/sdn_controller.md b/doc/content/xen-api/classes/sdn_controller.md
new file mode 100644
index 00000000000..af9de2fe360
--- /dev/null
+++ b/doc/content/xen-api/classes/sdn_controller.md
@@ -0,0 +1,6 @@
++++
+title = "SDN_controller"
+layout = "class"
+type = "xenapi"
+class = "SDN_controller"
++++
diff --git a/doc/content/xen-api/classes/secret.md b/doc/content/xen-api/classes/secret.md
new file mode 100644
index 00000000000..3616ab5db39
--- /dev/null
+++ b/doc/content/xen-api/classes/secret.md
@@ -0,0 +1,6 @@
++++
+title = "secret"
+layout = "class"
+type = "xenapi"
+class = "secret"
++++
diff --git a/doc/content/xen-api/classes/session.md b/doc/content/xen-api/classes/session.md
new file mode 100644
index 00000000000..80d8097a967
--- /dev/null
+++ b/doc/content/xen-api/classes/session.md
@@ -0,0 +1,6 @@
++++
+title = "session"
+layout = "class"
+type = "xenapi"
+class = "session"
++++
diff --git a/doc/content/xen-api/classes/sm.md b/doc/content/xen-api/classes/sm.md
new file mode 100644
index 00000000000..a97241e19fd
--- /dev/null
+++ b/doc/content/xen-api/classes/sm.md
@@ -0,0 +1,6 @@
++++
+title = "SM"
+layout = "class"
+type = "xenapi"
+class = "SM"
++++
diff --git a/doc/content/xen-api/classes/sr.md b/doc/content/xen-api/classes/sr.md
new file mode 100644
index 00000000000..8fff1ac99a8
--- /dev/null
+++ b/doc/content/xen-api/classes/sr.md
@@ -0,0 +1,6 @@
++++
+title = "SR"
+layout = "class"
+type = "xenapi"
+class = "SR"
++++
diff --git a/doc/content/xen-api/classes/sr_stat.md b/doc/content/xen-api/classes/sr_stat.md
new file mode 100644
index 00000000000..53dcfc43b60
--- /dev/null
+++ b/doc/content/xen-api/classes/sr_stat.md
@@ -0,0 +1,6 @@
++++
+title = "sr_stat"
+layout = "class"
+type = "xenapi"
+class = "sr_stat"
++++
diff --git a/doc/content/xen-api/classes/subject.md b/doc/content/xen-api/classes/subject.md
new file mode 100644
index 00000000000..437272b411a
--- /dev/null
+++ b/doc/content/xen-api/classes/subject.md
@@ -0,0 +1,6 @@
++++
+title = "subject"
+layout = "class"
+type = "xenapi"
+class = "subject"
++++
diff --git a/doc/content/xen-api/classes/task.md b/doc/content/xen-api/classes/task.md
new file mode 100644
index 00000000000..298f1b36a25
--- /dev/null
+++ b/doc/content/xen-api/classes/task.md
@@ -0,0 +1,6 @@
++++
+title = "task"
+layout = "class"
+type = "xenapi"
+class = "task"
++++
diff --git a/doc/content/xen-api/classes/tunnel.md b/doc/content/xen-api/classes/tunnel.md
new file mode 100644
index 00000000000..b82846cc41d
--- /dev/null
+++ b/doc/content/xen-api/classes/tunnel.md
@@ -0,0 +1,6 @@
++++
+title = "tunnel"
+layout = "class"
+type = "xenapi"
+class = "tunnel"
++++
diff --git a/doc/content/xen-api/classes/usb_group.md b/doc/content/xen-api/classes/usb_group.md
new file mode 100644
index 00000000000..e28f2583c32
--- /dev/null
+++ b/doc/content/xen-api/classes/usb_group.md
@@ -0,0 +1,6 @@
++++
+title = "USB_group"
+layout = "class"
+type = "xenapi"
+class = "USB_group"
++++
diff --git a/doc/content/xen-api/classes/user.md b/doc/content/xen-api/classes/user.md
new file mode 100644
index 00000000000..556c4345d4c
--- /dev/null
+++ b/doc/content/xen-api/classes/user.md
@@ -0,0 +1,6 @@
++++
+title = "user"
+layout = "class"
+type = "xenapi"
+class = "user"
++++
diff --git a/doc/content/xen-api/classes/vbd.md b/doc/content/xen-api/classes/vbd.md
new file mode 100644
index 00000000000..a10380558a1
--- /dev/null
+++ b/doc/content/xen-api/classes/vbd.md
@@ -0,0 +1,6 @@
++++
+title = "VBD"
+layout = "class"
+type = "xenapi"
+class = "VBD"
++++
diff --git a/doc/content/xen-api/classes/vbd_metrics.md b/doc/content/xen-api/classes/vbd_metrics.md
new file mode 100644
index 00000000000..20e29144e60
--- /dev/null
+++ b/doc/content/xen-api/classes/vbd_metrics.md
@@ -0,0 +1,6 @@
++++
+title = "VBD_metrics"
+layout = "class"
+type = "xenapi"
+class = "VBD_metrics"
++++
diff --git a/doc/content/xen-api/classes/vdi.md b/doc/content/xen-api/classes/vdi.md
new file mode 100644
index 00000000000..8cc6c820029
--- /dev/null
+++ b/doc/content/xen-api/classes/vdi.md
@@ -0,0 +1,6 @@
++++
+title = "VDI"
+layout = "class"
+type = "xenapi"
+class = "VDI"
++++
diff --git a/doc/content/xen-api/classes/vdi_nbd_server_info.md b/doc/content/xen-api/classes/vdi_nbd_server_info.md
new file mode 100644
index 00000000000..8f173cc191c
--- /dev/null
+++ b/doc/content/xen-api/classes/vdi_nbd_server_info.md
@@ -0,0 +1,6 @@
++++
+title = "vdi_nbd_server_info"
+layout = "class"
+type = "xenapi"
+class = "vdi_nbd_server_info"
++++
diff --git a/doc/content/xen-api/classes/vgpu.md b/doc/content/xen-api/classes/vgpu.md
new file mode 100644
index 00000000000..beb2dfca11d
--- /dev/null
+++ b/doc/content/xen-api/classes/vgpu.md
@@ -0,0 +1,6 @@
++++
+title = "VGPU"
+layout = "class"
+type = "xenapi"
+class = "VGPU"
++++
diff --git a/doc/content/xen-api/classes/vgpu_type.md b/doc/content/xen-api/classes/vgpu_type.md
new file mode 100644
index 00000000000..a1bc3b2cdbe
--- /dev/null
+++ b/doc/content/xen-api/classes/vgpu_type.md
@@ -0,0 +1,6 @@
++++
+title = "VGPU_type"
+layout = "class"
+type = "xenapi"
+class = "VGPU_type"
++++
diff --git a/doc/content/xen-api/classes/vif.md b/doc/content/xen-api/classes/vif.md
new file mode 100644
index 00000000000..b8e3fce73b2
--- /dev/null
+++ b/doc/content/xen-api/classes/vif.md
@@ -0,0 +1,6 @@
++++
+title = "VIF"
+layout = "class"
+type = "xenapi"
+class = "VIF"
++++
diff --git a/doc/content/xen-api/classes/vif_metrics.md b/doc/content/xen-api/classes/vif_metrics.md
new file mode 100644
index 00000000000..d6819cc23f4
--- /dev/null
+++ b/doc/content/xen-api/classes/vif_metrics.md
@@ -0,0 +1,6 @@
++++
+title = "VIF_metrics"
+layout = "class"
+type = "xenapi"
+class = "VIF_metrics"
++++
diff --git a/doc/content/xen-api/classes/vlan.md b/doc/content/xen-api/classes/vlan.md
new file mode 100644
index 00000000000..ee1107f1546
--- /dev/null
+++ b/doc/content/xen-api/classes/vlan.md
@@ -0,0 +1,6 @@
++++
+title = "VLAN"
+layout = "class"
+type = "xenapi"
+class = "VLAN"
++++
diff --git a/doc/content/xen-api/classes/vm.md b/doc/content/xen-api/classes/vm.md
new file mode 100644
index 00000000000..275f9d2eeb9
--- /dev/null
+++ b/doc/content/xen-api/classes/vm.md
@@ -0,0 +1,6 @@
++++
+title = "VM"
+layout = "class"
+type = "xenapi"
+class = "VM"
++++
diff --git a/doc/content/xen-api/classes/vm_appliance.md b/doc/content/xen-api/classes/vm_appliance.md
new file mode 100644
index 00000000000..437ff3d4720
--- /dev/null
+++ b/doc/content/xen-api/classes/vm_appliance.md
@@ -0,0 +1,6 @@
++++
+title = "VM_appliance"
+layout = "class"
+type = "xenapi"
+class = "VM_appliance"
++++
diff --git a/doc/content/xen-api/classes/vm_guest_metrics.md b/doc/content/xen-api/classes/vm_guest_metrics.md
new file mode 100644
index 00000000000..03515aee30e
--- /dev/null
+++ b/doc/content/xen-api/classes/vm_guest_metrics.md
@@ -0,0 +1,6 @@
++++
+title = "VM_guest_metrics"
+layout = "class"
+type = "xenapi"
+class = "VM_guest_metrics"
++++
diff --git a/doc/content/xen-api/classes/vm_metrics.md b/doc/content/xen-api/classes/vm_metrics.md
new file mode 100644
index 00000000000..2cd77d89d0e
--- /dev/null
+++ b/doc/content/xen-api/classes/vm_metrics.md
@@ -0,0 +1,6 @@
++++
+title = "VM_metrics"
+layout = "class"
+type = "xenapi"
+class = "VM_metrics"
++++
diff --git a/doc/content/xen-api/classes/vmpp.md b/doc/content/xen-api/classes/vmpp.md
new file mode 100644
index 00000000000..2857e423b6c
--- /dev/null
+++ b/doc/content/xen-api/classes/vmpp.md
@@ -0,0 +1,6 @@
++++
+title = "VMPP"
+layout = "class"
+type = "xenapi"
+class = "VMPP"
++++
diff --git a/doc/content/xen-api/classes/vmss.md b/doc/content/xen-api/classes/vmss.md
new file mode 100644
index 00000000000..c3469401bc0
--- /dev/null
+++ b/doc/content/xen-api/classes/vmss.md
@@ -0,0 +1,6 @@
++++
+title = "VMSS"
+layout = "class"
+type = "xenapi"
+class = "VMSS"
++++
diff --git a/doc/content/xen-api/classes/vtpm.md b/doc/content/xen-api/classes/vtpm.md
new file mode 100644
index 00000000000..d550a8b1508
--- /dev/null
+++ b/doc/content/xen-api/classes/vtpm.md
@@ -0,0 +1,6 @@
++++
+title = "VTPM"
+layout = "class"
+type = "xenapi"
+class = "VTPM"
++++
diff --git a/doc/content/xen-api/classes/vusb.md b/doc/content/xen-api/classes/vusb.md
new file mode 100644
index 00000000000..68f3d7572a9
--- /dev/null
+++ b/doc/content/xen-api/classes/vusb.md
@@ -0,0 +1,6 @@
++++
+title = "VUSB"
+layout = "class"
+type = "xenapi"
+class = "VUSB"
++++
diff --git a/doc/content/xen-api/evolution.md b/doc/content/xen-api/evolution.md
new file mode 100644
index 00000000000..124a2b77f6f
--- /dev/null
+++ b/doc/content/xen-api/evolution.md
@@ -0,0 +1,93 @@
++++
+title = "API evolution"
+weight = 40
++++
+
+All APIs evolve as bugs are fixed, new features added and features are removed
+- the XenAPI is no exception. This document lists policies describing how the
+XenAPI evolves over time.
+
+The goals of XenAPI evolution are:
+
+- to allow bugs to be fixed efficiently;
+- to allow new, innovative features to be added easily;
+- to keep old, unmodified clients working as much as possible; and
+- where backwards-incompatible changes are to be made, publish this
+ information early to enable affected parties to give timely feedback.
+
+## Background
+
+In this document, the term *XenAPI* refers to the XMLRPC-derived wire protocol
+used by xapi. The XenAPI has *objects* which each have *fields* and
+*messages*. The XenAPI is described in detail elsewhere.
+
+## XenAPI Lifecycle
+
+```mermaid
+graph LR
+ Prototype -->|1| Published -->|4| Deprecated -->|5| Removed
+ Published -->|2,3| Published
+```
+
+Each element of the XenAPI (objects, messages and fields) follows the lifecycle
+diagram above. When an element is newly created and being still in development,
+it is in the *Prototype* state. Elements in this state may be stubs: the
+interface is there and can be used by clients for prototyping their new
+features, but the actual implementation is not yet ready.
+
+When the element subsequently becomes ready for use (the stub is replaced by a
+real implementation), it transitions to the *Published* state. This is the only
+state in which the object, message or field should be used. From this point
+onwards, the element needs to have clearly defined semantics that are available
+for reference in the XenAPI documentation.
+
+If the XenAPI element becomes *Deprecated*, it will still function as it did
+before, but its use is discouraged. The final stage of the lifecycle is the
+*Removed* state, in which the element is not available anymore.
+
+The numbered state changes in the diagram have the following meaning:
+
+1. Publish: declare that the XenAPI element is ready for people to use.
+2. Extend: a *backwards-compatible* extension of the XenAPI, for example an
+ additional parameter in a message with an appropriate default value. If the
+ API is used as before, it still has the same effect.
+3. Change: a *backwards-incompatible* change. That is, the message now behaves
+ differently, or the field has different semantics. Such changes are
+ discouraged and should only be considered in special cases (always consider
+ whether deprecation is a better solution). The use of a message can for
+ example be restricted for security or efficiency reasons, or the behaviour
+ can be changed simply to fix a bug.
+4. Deprecate: declare that the use of this XenAPI element should be avoided from
+ now on. Reasons for doing this include: the element is redundant (it
+ duplicates functionality elsewhere), it is inconsistent with other parts of
+ the XenAPI, it is insecure or inefficient (for examples of deprecation
+ policies of other projects, see
+ [symbian](http://developer.symbian.org/wiki/index.php/Public_API_Change_Control_Process)
+ [eclipse](http://wiki.eclipse.org/Eclipse/API_Central/Deprecation_Policy)
+ [oval](http://oval.mitre.org/language/about/deprecation.html).
+5. Remove: the element is taken out of the public API and can no longer be used.
+
+Each lifecycle transition must be accompanied by an explanation describing the
+change and the reason for the change. This message should be enough to
+understand the semantics of the XenAPI element after the change, and in the case
+of backwards-incompatible changes or deprecation, it should give directions
+about how to modify a client to deal with the change (for example, how to avoid
+using the deprecated field or message).
+
+## Releases
+
+Every release must be accompanied by *release notes* listing all objects, fields
+and messages that are newly prototyped, published, extended, changed, deprecated
+or removed in the release. Each item should have an explanation as implied
+above, documenting the new or changed XenAPI element. The release notes for
+every release shall be prominently displayed in the XenAPI HTML documentation.
+
+## Documentation
+
+The XenAPI documentation will contain its complete lifecycle history for each
+XenAPI element. Only the elements described in the documentation are
+"official" and supported.
+
+Each object, message and field in `datamodel.ml` will have lifecycle
+metadata attached to it, which is a list of transitions (transition type *
+release * explanation string) as described above. Release notes are automatically generated from this data.
diff --git a/doc/content/xen-api/overview/dia_class_overview.svg b/doc/content/xen-api/overview/dia_class_overview.svg
new file mode 100644
index 00000000000..4459f2e6748
--- /dev/null
+++ b/doc/content/xen-api/overview/dia_class_overview.svg
@@ -0,0 +1,448 @@
+
+
+
diff --git a/doc/content/xen-api/overview/dia_vm_sr.svg b/doc/content/xen-api/overview/dia_vm_sr.svg
new file mode 100644
index 00000000000..1848c99bfca
--- /dev/null
+++ b/doc/content/xen-api/overview/dia_vm_sr.svg
@@ -0,0 +1,212 @@
+
+
+
diff --git a/doc/content/xen-api/overview/index.md b/doc/content/xen-api/overview/index.md
new file mode 100644
index 00000000000..18acc9e1e9b
--- /dev/null
+++ b/doc/content/xen-api/overview/index.md
@@ -0,0 +1,240 @@
++++
+title = "Overview of the XenAPI"
+weight = 30
++++
+
+This chapter introduces the XenAPI and its associated object model. The API has the following key features:
+
+- *Management of all aspects of the XenServer Host*.
+ The API allows you to manage VMs, storage, networking, host configuration and pools. Performance and status metrics can also be queried from the API.
+
+- *Persistent Object Model*.
+ The results of all side-effecting operations (e.g. object creation, deletion and parameter modifications) are persisted in a server-side database that is managed by the XenServer installation.
+
+- *An event mechanism*.
+ Through the API, clients can register to be notified when persistent (server-side) objects are modified. This enables applications to keep track of datamodel modifications performed by concurrently executing clients.
+
+- *Synchronous and asynchronous invocation*.
+ All API calls can be invoked synchronously (that is, block until completion); any API call that may be long-running can also be invoked *asynchronously*. Asynchronous calls return immediately with a reference to a *task* object. This task object can be queried (through the API) for progress and status information. When an asynchronously invoked operation completes, the result (or error code) is available from the task object.
+
+- *Remotable and Cross-Platform*.
+ The client issuing the API calls does not have to be resident on the host being managed; nor does it have to be connected to the host over ssh in order to execute the API. API calls make use of the XML-RPC protocol to transmit requests and responses over the network.
+
+- *Secure and Authenticated Access*.
+ The XML-RPC API server executing on the host accepts secure socket connections. This allows a client to execute the APIs over the https protocol. Further, all the API calls execute in the context of a login session generated through username and password validation at the server. This provides secure and authenticated access to the XenServer installation.
+
+Getting Started with the API
+----------------------------
+
+We will start our tour of the API by describing the calls required to create a new VM on a XenServer installation, and take it through a start/suspend/resume/stop cycle. This is done without reference to code in any specific language; at this stage we just describe the informal sequence of RPC invocations that accomplish our "install and start" task.
+
+### Authentication: acquiring a session reference
+
+The first step is to call `Session.login_with_password(, , , )`. The API is session based, so before you can make other calls you will need to authenticate with the server. Assuming the username and password are authenticated correctly, the result of this call is a *session reference*. Subsequent API calls take the session reference as a parameter. In this way we ensure that only API users who are suitably authorized can perform operations on a XenServer installation. You can continue to use the same session for any number of API calls. When you have finished the session, Citrix recommends that you call `Session.logout(session)` to clean up: see later.
+
+### Acquiring a list of templates to base a new VM installation on
+
+The next step is to query the list of "templates" on the host. Templates are specially-marked VM objects that specify suitable default parameters for a variety of supported guest types. (If you want to see a quick enumeration of the templates on a XenServer installation for yourself then you can execute the `xe template-list` CLI command.) To get a list of templates from the API, we need to find the VM objects on the server that have their `is_a_template` field set to true. One way to do this by calling `VM.get_all_records(session)` where the session parameter is the reference we acquired from our `Session.login_with_password` call earlier. This call queries the server, returning a snapshot (taken at the time of the call) containing all the VM object references and their field values.
+
+(Remember that at this stage we are not concerned about the particular mechanisms by which the returned object references and field values can be manipulated in any particular client language: that detail is dealt with by our language-specific API bindings and described concretely in the following chapter. For now it suffices just to assume the existence of an abstract mechanism for reading and manipulating objects and field values returned by API calls.)
+
+Now that we have a snapshot of all the VM objects' field values in the memory of our client application we can simply iterate through them and find the ones that have their "`is_a_template`" set to true. At this stage let's assume that our example application further iterates through the template objects and remembers the reference corresponding to the one that has its "`name_label`" set to "Debian Etch 4.0" (one of the default Linux templates supplied with XenServer).
+
+### Installing the VM based on a template
+
+Continuing through our example, we must now install a new VM based on the template we selected. The installation process requires 4 API calls:
+
+- First we must now invoke the API call `VM.clone(session, t_ref, "my first VM")`. This tells the server to clone the VM object referenced by `t_ref` in order to make a new VM object. The return value of this call is the VM reference corresponding to the newly-created VM. Let's call this `new_vm_ref`.
+
+- Next, we need to specify the UUID of the Storage Repository where the VM's
+ disks will be instantiated. We have to put this in the `sr` attribute in
+ the disk provisioning XML stored under the "`disks`" key in the
+ `other_config` map of the newly-created VM. This field can be updated by
+ calling its getter (`other_config <- VM.get_other_config(session,
+ new_vm_ref)`) and then its setter (`VM.set_other_config(session,
+ new_vm_ref, other_config)`) with the modified `other_config` map.
+
+- At this stage the object referred to by `new_vm_ref` is still a template (just like the VM object referred to by `t_ref`, from which it was cloned). To make `new_vm_ref` into a VM object we need to call `VM.provision(session, new_vm_ref)`. When this call returns the `new_vm_ref` object will have had its `is_a_template` field set to false, indicating that `new_vm_ref` now refers to a regular VM ready for starting.
+
+> **Note**
+>
+> The provision operation may take a few minutes, as it is as during this call that the template's disk images are created. In the case of the Debian template, the newly created disks are also at this stage populated with a Debian root filesystem.
+
+### Taking the VM through a start/suspend/resume/stop cycle
+
+Now we have an object reference representing our newly-installed VM, it is trivial to take it through a few lifecycle operations:
+
+- To start our VM we can just call `VM.start(session, new_vm_ref)`
+
+- After it's running, we can suspend it by calling `VM.suspend(session, new_vm_ref)`,
+
+- and then resume it by calling `VM.resume(session, new_vm_ref)`.
+
+- We can call `VM.shutdown(session, new_vm_ref)` to shutdown the VM cleanly.
+
+### Logging out
+
+Once an application is finished interacting with a XenServer Host it is good practice to call `Session.logout(session)`. This invalidates the session reference (so it cannot be used in subsequent API calls) and simultaneously deallocates server-side memory used to store the session object.
+
+Although inactive sessions will eventually timeout, the server has a hardcoded limit of 500 concurrent sessions for each `username` or `originator`. Once this limit has been reached fresh logins will evict the session objects that have been used least recently, causing their associated session references to become invalid. For successful interoperability with other applications, concurrently accessing the server, the best policy is:
+
+- Choose a string that identifies your application and its version.
+
+- Create a single session at start-of-day, using that identifying string for the `originator` parameter to `Session.login_with_password`.
+
+- Use this session throughout the application (note that sessions can be used across multiple separate client-server *network connections*) and then explicitly logout when possible.
+
+If a poorly written client leaks sessions or otherwise exceeds the limit, then as long as the client uses an appropriate `originator` argument, it will be easily identifiable from the XenServer logs and XenServer will destroy the longest-idle sessions of the rogue client only; this may cause problems for that client but not for other clients. If the misbehaving client did not specify an `originator`, it would be harder to identify and would cause the premature destruction of sessions of any clients that also did not specify an `originator`
+
+### Install and start example: summary
+
+We have seen how the API can be used to install a VM from a XenServer template and perform a number of lifecycle operations on it. You will note that the number of calls we had to make in order to affect these operations was small:
+
+- One call to acquire a session: `Session.login_with_password()`
+
+- One call to query the VM (and template) objects present on the XenServer installation: `VM.get_all_records()`. Recall that we used the information returned from this call to select a suitable template to install from.
+
+- Four calls to install a VM from our chosen template: `VM.clone()`, followed
+ by the getter and setter of the `other_config` field to specify where to
+ create the disk images of the template, and then `VM.provision()`.
+
+- One call to start the resultant VM: `VM.start()` (and similarly other single calls to suspend, resume and shutdown accordingly)
+
+- And then one call to logout `Session.logout()`
+
+The take-home message here is that, although the API as a whole is complex and fully featured, common tasks (such as creating and performing lifecycle operations on VMs) are very straightforward to perform, requiring only a small number of simple API calls. Keep this in mind while you study the next section which may, on first reading, appear a little daunting!
+
+Object Model Overview
+---------------------
+
+This section gives a high-level overview of the object model of the API. A more detailed description of the parameters and methods of each class outlined here can be found in the XenServer API Reference document.
+
+We start by giving a brief outline of some of the core classes that make up the API. (Don't worry if these definitions seem somewhat abstract in their initial presentation; the textual description in subsequent sections, and the code-sample walk through in the next Chapter will help make these concepts concrete.)
+
+| Class | Description |
+| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| VM | A VM object represents a particular virtual machine instance on a XenServer Host or Resource Pool. Example methods include `start`, `suspend`, `pool_migrate`; example parameters include `power_state`, `memory_static_max`, and `name_label`. (In the previous section we saw how the VM class is used to represent both templates and regular VMs) |
+| Host | A host object represents a physical host in a XenServer pool. Example methods include `reboot` and `shutdown`. Example parameters include `software_version`, `hostname`, and [IP] `address`. |
+| VDI | A VDI object represents a _Virtual Disk Image_. Virtual Disk Images can be attached to VMs, in which case a block device appears inside the VM through which the bits encapsulated by the Virtual Disk Image can be read and written. Example methods of the VDI class include "resize" and "clone". Example fields include "virtual_size" and "sharable". (When we called `VM.provision` on the VM template in our previous example, some VDI objects were automatically created to represent the newly created disks, and attached to the VM object.) |
+| SR | An SR (_Storage Repository_) aggregates a collection of VDIs and encapsulates the properties of physical storage on which the VDIs' bits reside. Example parameters include `type` (which determines the storage-specific driver a XenServer installation uses to read/write the SR's VDIs) and `physical_utilisation`; example methods include `scan` (which invokes the storage-specific driver to acquire a list of the VDIs contained with the SR and the properties of these VDIs) and `create` (which initializes a block of physical storage so it is ready to store VDIs). |
+| Network | A network object represents a layer-2 network that exists in the environment in which the XenServer Host instance lives. Since XenServer does not manage networks directly this is a lightweight class that serves merely to model physical and virtual network topology. VM and Host objects that are _attached_ to a particular Network object (by virtue of VIF and PIF instances -- see below) can send network packets to each other. |
+
+At this point, readers who are finding this enumeration of classes rather terse may wish to skip to the code walk-throughs of the next chapter: there are plenty of useful applications that can be written using only a subset of the classes already described! For those who wish to continue this description of classes in the abstract, read on.
+
+On top of the classes listed above, there are 4 more that act as *connectors*, specifying relationships between VMs and Hosts, and Storage and Networks. The first 2 of these classes that we will consider, *VBD* and *VIF*, determine how VMs are attached to virtual disks and network objects respectively:
+
+| Class | Description |
+| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| VBD | A VBD (_Virtual Block Device_) object represents an attachment between a VM and a VDI. When a VM is booted its VBD objects are queried to determine which disk images (VDIs) should be attached. Example methods of the VBD class include "plug" (which _hot plugs_ a disk device into a running VM, making the specified VDI accessible therein) and "unplug" (which _hot unplugs_ a disk device from a running guest); example fields include "device" (which determines the device name inside the guest under which the specified VDI will be made accessible). |
+| VIF | A VIF (_Virtual network InterFace_) object represents an attachment between a VM and a Network object. When a VM is booted its VIF objects are queried to determine which network devices should be created. Example methods of the VIF class include "plug" (which _hot plugs_ a network device into a running VM) and "unplug" (which _hot unplugs_ a network device from a running guest).
|
+
+The second set of "connector classes" that we will consider determine how Hosts are attached to Networks and Storage.
+
+| Class | Description |
+| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| PIF | A PIF (_Physical InterFace_) object represents an attachment between a Host and a Network object. If a host is connected to a Network (over a PIF) then packets from the specified host can be transmitted/received by the corresponding host. Example fields of the PIF class include "device" (which specifies the device name to which the PIF corresponds -- e.g. _eth0_) and "MAC" (which specifies the MAC address of the underlying NIC that a PIF represents). Note that PIFs abstract both physical interfaces and VLANs (the latter distinguished by the existence of a positive integer in the "VLAN" field). |
+| PBD | A PBD (_Physical Block Device_) object represents an attachment between a Host and a SR (Storage Repository) object. Fields include "currently-attached" (which specifies whether the chunk of storage represented by the specified SR object) is currently available to the host; and "device_config" (which specifies storage-driver specific parameters that determines how the low-level storage devices are configured on the specified host -- e.g. in the case of an SR rendered on an NFS filer, device_config may specify the host-name of the filer and the path on the filer in which the SR files live.). |
+
+
+
+The figure above presents a graphical overview of the API classes involved in managing VMs, Hosts, Storage and Networking. From this diagram, the symmetry between storage and network configuration, and also the symmetry between virtual machine and host configuration is plain to see.
+
+Working with VIFs and VBDs
+--------------------------
+
+In this section we walk through a few more complex scenarios, describing informally how various tasks involving virtual storage and network devices can be accomplished using the API.
+
+### Creating disks and attaching them to VMs
+
+Let's start by considering how to make a new blank disk image and attach it to a running VM. We will assume that we already have ourselves a running VM, and we know its corresponding API object reference (e.g. we may have created this VM using the procedure described in the previous section, and had the server return its reference to us.) We will also assume that we have authenticated with the XenServer installation and have a corresponding `session reference`. Indeed in the rest of this chapter, for the sake of brevity, we will stop mentioning sessions altogether.
+
+#### Creating a new blank disk image
+
+The first step is to instantiate the disk image on physical storage. We do this by calling `VDI.create()`. The `VDI.create` call takes a number of parameters, including:
+
+- `name_label` and `name_description`: a human-readable name/description for the disk (e.g. for convenient display in the UI etc.). These fields can be left blank if desired.
+
+- `SR`: the object reference of the Storage Repository representing the physical storage in which the VDI's bits will be placed.
+
+- `read_only`: setting this field to true indicates that the VDI can *only* be attached to VMs in a read-only fashion. (Attempting to attach a VDI with its `read_only` field set to true in a read/write fashion results in error.)
+
+Invoking the `VDI.create` call causes the XenServer installation to create a blank disk image on physical storage, create an associated VDI object (the datamodel instance that refers to the disk image on physical storage) and return a reference to this newly created VDI object.
+
+The way in which the disk image is represented on physical storage depends on the type of the SR in which the created VDI resides. For example, if the SR is of type "lvm" then the new disk image will be rendered as an LVM volume; if the SR is of type "nfs" then the new disk image will be a sparse VHD file created on an NFS filer. (You can query the SR type through the API using the `SR.get_type()` call.)
+
+> **Note**
+>
+> Some SR types might round up the `virtual-size` value to make it divisible by a configured block size.
+
+#### Attaching the disk image to a VM
+
+So far we have a running VM (that we assumed the existence of at the start of this example) and a fresh VDI that we just created. Right now, these are both independent objects that exist on the XenServer Host, but there is nothing linking them together. So our next step is to create such a link, associating the VDI with our VM.
+
+The attachment is formed by creating a new "connector" object called a VBD (*Virtual Block Device*). To create our VBD we invoke the `VBD.create()` call. The `VBD.create()` call takes a number of parameters including:
+
+- `VM` - the object reference of the VM to which the VDI is to be attached
+
+- `VDI` - the object reference of the VDI that is to be attached
+
+- `mode` - specifies whether the VDI is to be attached in a read-only or a read-write fashion
+
+- `userdevice` - specifies the block device inside the guest through which applications running inside the VM will be able to read/write the VDI's bits.
+
+- `type` - specifies whether the VDI should be presented inside the VM as a regular disk or as a CD. (Note that this particular field has more meaning for Windows VMs than it does for Linux VMs, but we will not explore this level of detail in this chapter.)
+
+Invoking `VBD.create` makes a VBD object on the XenServer installation and returns its object reference. However, this call in itself does not have any side-effects on the running VM (that is, if you go and look inside the running VM you will see that the block device has not been created). The fact that the VBD object exists but that the block device in the guest is not active, is reflected by the fact that the VBD object's `currently_attached` field is set to false.
+
+
+
+For expository purposes, the figure above presents a graphical example that shows the relationship between VMs, VBDs, VDIs and SRs. In this instance a VM object has 2 attached VDIs: there are 2 VBD objects that form the connections between the VM object and its VDIs; and the VDIs reside within the same SR.
+
+#### Hotplugging the VBD
+
+If we rebooted the VM at this stage then, after rebooting, the block device corresponding to the VBD would appear: on boot, XenServer queries all VBDs of a VM and actively attaches each of the corresponding VDIs.
+
+Rebooting the VM is all very well, but recall that we wanted to attach a newly created blank disk to a *running* VM. This can be achieved by invoking the `plug` method on the newly created VBD object. When the `plug` call returns successfully, the block device to which the VBD relates will have appeared inside the running VM -- i.e. from the perspective of the running VM, the guest operating system is led to believe that a new disk device has just been *hot plugged*. Mirroring this fact in the managed world of the API, the `currently_attached` field of the VBD is set to true.
+
+Unsurprisingly, the VBD `plug` method has a dual called "`unplug`". Invoking the `unplug` method on a VBD object causes the associated block device to be *hot unplugged* from a running VM, setting the `currently_attached` field of the VBD object to false accordingly.
+
+### Creating and attaching Network Devices to VMs
+
+The API calls involved in configuring virtual network interfaces in VMs are similar in many respects to the calls involved in configuring virtual disk devices. For this reason we will not run through a full example of how one can create network interfaces using the API object-model; instead we will use this section just to outline briefly the symmetry between virtual *networking device* and virtual *storage device* configuration.
+
+The networking analogue of the VBD class is the VIF class. Just as a VBD is the API representation of a block device inside a VM, a VIF (*Virtual network InterFace*) is the API representation of a network device inside a VM. Whereas VBDs associate VM objects with VDI objects, VIFs associate VM objects with Network objects. Just like VBDs, VIFs have a `currently_attached` field that determines whether or not the network device (inside the guest) associated with the VIF is currently active or not. And as we saw with VBDs, at VM boot-time the VIFs of the VM are queried and a corresponding network device for each created inside the booting VM. Similarly, VIFs also have `plug` and `unplug` methods for hot plugging/unplugging network devices in/out of running VMs.
+
+### Host configuration for networking and storage
+
+We have seen that the VBD and VIF classes are used to manage configuration of block devices and network devices (respectively) inside VMs. To manage host configuration of storage and networking there are two analogous classes: PBD (*Physical Block Device*) and PIF (*Physical [network] InterFace*).
+
+#### Host storage configuration: PBDs
+
+Let us start by considering the PBD class. A `PBD_create()` call takes a number of parameters including:
+
+| Parameter | Description |
+| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| host | physical machine on which the PBD is available |
+| SR | the Storage Repository that the PBD connects to |
+| device_config | a string-to-string map that is provided to the host's SR-backend-driver, containing the low-level parameters required to configure the physical storage device(s) on which the SR is to be realized. The specific contents of the `device_config` field depend on the type of the SR to which the PBD is connected. (Executing `xe sm-list` will show a list of possible SR types; the _configuration_ field in this enumeration specifies the `device_config` parameters that each SR type expects.) |
+
+
+For example, imagine we have an SR object *s* of type "nfs" (representing a directory on an NFS filer within which VDIs are stored as VHD files); and let's say that we want a host, *h*, to be able to access *s*. In this case we invoke `PBD.create()` specifying host *h*, SR *s*, and a value for the *device\_config* parameter that is the following map:
+
+`("server", "my_nfs_server.example.com"), ("serverpath", "/scratch/mysrs/sr1")`
+
+This tells the XenServer Host that SR *s* is accessible on host *h*, and further that to access SR *s*, the host needs to mount the directory `/scratch/mysrs/sr1` on the NFS server named `my_nfs_server.example.com`.
+
+Like VBD objects, PBD objects also have a field called `currently_attached`. Storage repositories can be attached and detached from a given host by invoking `PBD.plug` and `PBD.unplug` methods respectively.
+
+#### Host networking configuration: PIFs
+
+Host network configuration is specified by virtue of PIF objects. If a PIF object connects a network object, *n*, to a host object *h*, then the network corresponding to *n* is bridged onto a physical interface (or a physical interface plus a VLAN tag) specified by the fields of the PIF object.
+
+For example, imagine a PIF object exists connecting host *h* to a network *n*, and that `device` field of the PIF object is set to `eth0`. This means that all packets on network *n* are bridged to the NIC in the host corresponding to host network device `eth0`.
+
+
+XML-RPC notes
+-------------
+
+### Datetimes
+
+The API deviates from the XML-RPC specification in handling of datetimes. The API appends a "Z" to the end of datetime strings, which is meant to indicate that the time is expressed in UTC.
diff --git a/doc/content/xen-api/wire-protocol.md b/doc/content/xen-api/wire-protocol.md
new file mode 100644
index 00000000000..689819a88a9
--- /dev/null
+++ b/doc/content/xen-api/wire-protocol.md
@@ -0,0 +1,299 @@
++++
+title = "Wire Protocol"
+weight = 20
++++
+
+API calls are sent over a network to a Xen-enabled host using the
+[XML-RPC](http://xmlrpc.scripting.com/spec.html) protocol. On this page, we describe how the higher-level types
+used in our API Reference are mapped to primitive XML-RPC types.
+
+We specify the signatures of API functions in the following style:
+
+ (VM ref set) VM.get_all ()
+
+This specifies that the function with name `VM.get_all`
+takes no parameters and returns a `set` of `VM ref`s. These
+types are mapped onto XML-RPC types in a straight-forward manner:
+
+- `float`s, `bool`s, `datetime`s and `string`s map directly to the XML-RPC
+ ``, ``, ``, and `` elements.
+
+- all `ref` types are opaque references, encoded as the
+ XML-RPC’s `` type. Users of the API should not make
+ assumptions about the concrete form of these strings and should not
+ expect them to remain valid after the client’s session with the
+ server has terminated.
+
+- fields named `uuid` of type `string` are
+ mapped to the XML-RPC `` type. The string itself is
+ the OSF DCE UUID presentation format (as output by
+ `uuidgen`, etc).
+
+- `int`s are all assumed to be 64-bit in our API and are encoded as a
+ string of decimal digits (rather than using XML-RPC’s built-in
+ 32-bit `` type).
+
+- values of `enum` types are encoded as strings. For example, a value of
+ `destroy` of type `enum on_normal_exit`, would be
+ conveyed as:
+
+ destroy
+
+- for all our types, `t`, our type `t set`
+ simply maps to XML-RPC’s `` type, so for example a
+ value of type `string set` would be transmitted like
+ this:
+
+
+
+
+ CX8
+ PSE36
+ FPU
+
+
+
+
+- for types `k` and `v`, our type `(k → v) map` maps onto an XML-RPC ``, with the key as the name of
+ the struct. Note that the `(k → v) map` type is only valid
+ when `k` is a `string`, `ref`, or `int`, and in each case the keys of the maps are
+ stringified as above. For example, the `(string → double) map` containing a the mappings `"Mike" → 2.3` and
+ `"John" → 1.2` would be represented as:
+
+
+
+
+ Mike
+ 2.3
+
+
+ John
+ 1.2
+
+
+
+
+
+- our `void` type is transmitted as an empty string.
+
+Note on References vs UUIDs
+---------------------------
+
+References are opaque types — encoded as XML-RPC strings on the wire —
+understood only by the particular server which generated them. Servers
+are free to choose any concrete representation they find convenient;
+clients should not make any assumptions or attempt to parse the string
+contents. References are not guaranteed to be permanent identifiers for
+objects; clients should not assume that references generated during one
+session are valid for any future session. References do not allow
+objects to be compared for equality. Two references to the same object
+are not guaranteed to be textually identical.
+
+UUIDs are intended to be permanent names for objects. They are
+guaranteed to be in the OSF DCE UUID presentation format (as output by
+`uuidgen`. Clients may store UUIDs on disk and use them to
+lookup objects in subsequent sessions with the server. Clients may also
+test equality on objects by comparing UUID strings.
+
+The API provides mechanisms for translating between UUIDs and opaque
+references. Each class that contains a UUID field provides:
+
+- A `get_by_uuid` method that takes a UUID, and
+ returns an opaque reference to the server-side object that has that
+ UUID;
+
+- A `get_uuid` function (a regular “field getter” RPC)
+ that takes an opaque reference and returns the UUID of the
+ server-side object that is referenced by it.
+
+Return Values/Status Codes
+--------------------------
+
+The return value of an RPC call is an XML-RPC ``.
+
+- The first element of the struct is named `"Status"`; it
+ contains a string value indicating whether the result of the call
+ was a `"Success"` or a `"Failure"`.
+
+If `"Status"` was set to `"Success"` then the Struct
+contains a second element named `"Value"`:
+
+- The element of the struct named `"Value"` contains the
+ function’s return value.
+
+In the case where `"Status"` is set to `"Failure"`
+then the struct contains a second element named
+`"ErrorDescription"`:
+
+- The element of the struct named `"ErrorDescription"`
+ contains an array of string values. The first element of the array
+ is an error code; the remainder of the array are strings
+ representing error parameters relating to that code.
+
+For example, an XML-RPC return value from the
+`host.get_resident_VMs` function above may look like this:
+
+
+
+ Status
+ Success
+
+
+ Value
+
+
+
+ 81547a35-205c-a551-c577-00b982c5fe00
+ 61c85a22-05da-b8a2-2e55-06b0847da503
+ 1d401ec4-3c17-35a6-fc79-cee6bd9811fe
+
+
+
+
+
+
+Making XML-RPC Calls
+====================
+
+Transport Layer
+---------------
+
+The following transport layers are currently supported:
+
+- HTTPS for remote administration
+
+- HTTP over Unix domain sockets for local administration
+
+Session Layer
+-------------
+
+The XML-RPC interface is session-based; before you can make arbitrary
+RPC calls you must login and initiate a session. For example:
+
+ (session ref) session.login_with_password(string uname, string pwd, string version, string originator)
+
+Where `uname` and `password` refer to your
+username and password respectively, as defined by the Xen administrator.
+The `session ref` returned by `session.login_with_password` is passed to subequent RPC
+calls as an authentication token.
+
+A session can be terminated with the `session.logout` function:
+
+ (void) session.logout (session ref)
+
+Synchronous and Asynchronous invocation
+---------------------------------------
+
+Each method call (apart from methods on `session` and `task` objects and
+“getters” and “setters” derived from fields) can be made either
+synchronously or asynchronously. A synchronous RPC call blocks until the
+return value is received; the return value of a synchronous RPC call is
+exactly as specified above.
+
+Only synchronous API calls are listed explicitly in this document. All
+asynchronous versions are in the special `Async` namespace.
+For example, synchronous call `VM.clone (...)` has an asynchronous counterpart,
+`Async.VM.clone (...)`, that is non-blocking.
+
+Instead of returning its result directly, an asynchronous RPC call
+returns a task ID (of type `task ref`); this identifier is subsequently used to
+track the status of a running asynchronous RPC. Note that an asychronous
+call may fail immediately, before a task has even been
+created. To represent this eventuality, the returned `task ref`
+is wrapped in an XML-RPC struct with a `Status`,
+`ErrorDescription` and `Value` fields, exactly as
+specified above.
+
+The `task ref` is provided in the `Value` field if
+`Status` is set to `Success`.
+
+The RPC call
+
+ (task ref set) task.get_all (session ref)
+
+returns a set of all task IDs known to the system. The status (including
+any returned result and error codes) of these tasks can then be queried
+by accessing the fields of the Task object in the usual way. Note that,
+in order to get a consistent snapshot of a task’s state, it is advisable
+to call the `get_record` function.
+
+Example interactive session
+===========================
+
+This section describes how an interactive session might look, using the
+python XML-RPC client library.
+
+First, initialise python and import the library `xmlrpc.client`:
+
+ $ python
+ ...
+ >>> import xmlrpc.client
+
+Create a python object referencing the remote server:
+
+ >>> xen = xmlrpc.client.Server("https://localhost:443")
+
+Acquire a session reference by logging in with a username and password
+(error-handling ommitted for brevity; the session reference is returned
+under the key `'Value'` in the resulting dictionary)
+
+ >>> session = xen.session.login_with_password("user", "passwd")['Value']
+
+When serialised, this call looks like the following:
+
+
+
+ session.login_with_password
+
+
+ user
+
+
+ passwd
+
+
+
+
+Next, the user may acquire a list of all the VMs known to the system:
+(Note the call takes the session reference as the only parameter)
+
+ >>> all_vms = xen.VM.get_all(session)['Value']
+ >>> all_vms
+ ['OpaqueRef:1', 'OpaqueRef:2', 'OpaqueRef:3', 'OpaqueRef:4']
+
+The VM references here have the form `OpaqueRef:X`, though
+they may not be that simple in the future, and you should treat them as
+opaque strings. _Templates_ are VMs with the
+`is_a_template` field set to `true`. We can find the subset
+of template VMs using a command like the following:
+
+ >>> all_templates = filter(lambda x: xen.VM.get_is_a_template(session, x)['Value'], all_vms)
+
+Once a reference to a VM has been acquired a lifecycle operation may be
+invoked:
+
+ >>> xen.VM.start(session, all_templates[0], False, False)
+ {'Status': 'Failure', 'ErrorDescription': ['VM_IS_TEMPLATE', 'OpaqueRef:X']}
+
+In this case the `start` message has been rejected, because
+the VM is a template, and so an error response has been returned. These
+high-level errors are returned as structured data (rather than as
+XML-RPC faults), allowing them to be internationalised.
+
+Rather than querying fields individually, whole _records_
+may be returned at once. To retrieve the record of a single object as a
+python dictionary:
+
+ >>> record = xen.VM.get_record(session, all_templates[0])['Value']
+ >>> record['power_state']
+ 'Halted'
+ >>> record['name_label']
+ 'XenSource P2V Server'
+
+To retrieve all the VM records in a single call:
+
+ >>> records = xen.VM.get_all_records(session)['Value']
+ >>> records.keys()
+ ['OpaqueRef:1', 'OpaqueRef:2', 'OpaqueRef:3', 'OpaqueRef:4' ]
+ >>> records['OpaqueRef:1']['name_label']
+ 'RHEL 4.1 Autoinstall Template'
diff --git a/doc/data/releases.yml b/doc/data/releases.yml
new file mode 100644
index 00000000000..b624bf3ce98
--- /dev/null
+++ b/doc/data/releases.yml
@@ -0,0 +1,66 @@
+24.10.0: XAPI 24.10.0
+24.3.0: XAPI 24.3.0
+24.0.0: XAPI 24.0.0
+23.30.0: XAPI 23.30.0
+23.27.0: XAPI 23.27.0
+23.25.0: XAPI 23.25.0
+23.18.0: XAPI 23.18.0
+23.14.0: XAPI 23.14.0
+23.9.0: XAPI 23.9.0
+23.1.0: XAPI 23.1.0
+22.37.0: XAPI 22.37.0
+22.33.0: XAPI 22.33.0
+22.27.0: XAPI 22.27.0
+22.26.0: XAPI 22.26.0
+22.20.0: XAPI 22.20.0
+22.19.0: XAPI 22.19.0
+22.16.0: XAPI 22.16.0
+22.12.0: XAPI 22.12.0
+22.5.0: XAPI 22.5.0
+21.4.0: XAPI 21.4.0
+21.3.0: XAPI 21.3.0
+21.2.0: XAPI 21.2.0
+1.329.0: XAPI 1.329.0
+1.318.0: XAPI 1.318.0
+1.313.0: XAPI 1.313.0
+1.307.0: XAPI 1.307.0
+1.304.0: XAPI 1.304.0
+1.303.0: XAPI 1.303.0
+1.301.0: XAPI 1.301.0
+1.298.0: XAPI 1.298.0
+1.297.0: XAPI 1.297.0
+1.294.0: XAPI 1.294.0
+1.290.0: XAPI 1.290.0
+1.271.0: XAPI 1.271.0
+1.257.0: XAPI 1.257.0
+1.250.0: XAPI 1.250.0
+nile-preview: XenServer 8 Preview
+stockholm_psr: Citrix Hypervisor 8.2 Hotfix 2
+stockholm: Citrix Hypervisor 8.2
+quebec: Citrix Hypervisor 8.1
+naples: Citrix Hypervisor 8.0
+lima: XenServer 7.6
+kolkata: XenServer 7.5
+jura: XenServer 7.4
+inverness: XenServer 7.3
+falcon: XenServer 7.2
+ely: XenServer 7.1
+dundee: XenServer 7.0
+indigo: XenServer 6.5 SP1 Hotfix 31
+cream: XenServer 6.5 SP1
+creedence: XenServer 6.5
+clearwater-whetstone: XenServer 6.2 SP1 Hotfix 11
+clearwater-felton: XenServer 6.2 SP1 Hotfix 4
+vgpu-productisation: XenServer 6.2 SP1
+vgpu-tech-preview: XenServer 6.2 SP1 Tech-Preview
+clearwater: XenServer 6.2
+tampa: XenServer 6.1
+boston: XenServer 6.0
+cowley: XenServer 5.6 FP1
+midnight-ride: XenServer 5.6
+george: XenServer 5.5
+orlando-update-1: XenServer 5.0 Update 1
+orlando: XenServer 5.0
+symc: XenServer 4.1.1
+miami: XenServer 4.1
+rio: XenServer 4.0
diff --git a/doc/data/xenapi.json b/doc/data/xenapi.json
new file mode 100644
index 00000000000..1af78e53424
--- /dev/null
+++ b/doc/data/xenapi.json
@@ -0,0 +1 @@
+[{"name":"session","description":"A session","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"this_host","description":"Currently connected host","type":"host ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Currently connected host"}]}},{"name":"this_user","description":"Currently connected user","type":"user ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Currently connected user"}]}},{"name":"last_active","description":"Timestamp for last time session was active","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Timestamp for last time session was active"}]}},{"name":"pool","description":"True if this session relates to a intra-pool login, false otherwise","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"True if this session relates to a intra-pool login, false otherwise"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"default":"{}"},{"name":"is_local_superuser","description":"true iff this session was created using local superuser credentials","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"true iff this session was created using local superuser credentials"}]},"default":"false"},{"name":"subject","description":"references the subject instance that created the session. If a session instance has is_local_superuser set, then the value of this field is undefined.","type":"subject ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"references the subject instance that created the session. If a session instance has is_local_superuser set, then the value of this field is undefined."}]},"default":"OpaqueRef:NULL"},{"name":"validation_time","description":"time when session was last validated","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"time when session was last validated"}]},"default":"19700101T00:00:00Z"},{"name":"auth_user_sid","description":"the subject identifier of the user that was externally authenticated. If a session instance has is_local_superuser set, then the value of this field is undefined.","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"the subject identifier of the user that was externally authenticated. If a session instance has is_local_superuser set, then the value of this field is undefined."}]},"default":"\"\""},{"name":"auth_user_name","description":"the subject name of the user that was externally authenticated. If a session instance has is_local_superuser set, then the value of this field is undefined.","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"the subject name of the user that was externally authenticated. If a session instance has is_local_superuser set, then the value of this field is undefined."}]},"default":"\"\""},{"name":"rbac_permissions","description":"list with all RBAC permissions for this session","type":"string set","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"list with all RBAC permissions for this session"}]},"default":"{}"},{"name":"tasks","description":"list of tasks created using the current session","type":"task ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"list of tasks created using the current session"}]}},{"name":"parent","description":"references the parent session that created this session","type":"session ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"references the parent session that created this session"}]},"default":"OpaqueRef:NULL"},{"name":"originator","description":"a key string provided by a API user to distinguish itself from other users sharing the same login name","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"clearwater","description":"a key string provided by a API user to distinguish itself from other users sharing the same login name"}]},"default":"\"\""},{"name":"client_certificate","description":"indicates whether this session was authenticated using a client certificate","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"21.2.0","description":"indicates whether this session was authenticated using a client certificate"}]},"default":"false"}],"messages":[{"name":"logout_subject_identifier","description":"Log out all sessions associated to a user subject-identifier, except the session associated with the context calling this function","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"subject_identifier","doc":"User subject-identifier of the sessions to be destroyed"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Log out all sessions associated to a user subject-identifier, except the session associated with the context calling this function"}]},"implicit":false},{"name":"get_all_subject_identifiers","description":"Return a list of all the user subject-identifiers of all existing sessions","result":["string set","The list of user subject-identifiers of all existing sessions"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Return a list of all the user subject-identifiers of all existing sessions"}]},"implicit":false},{"name":"local_logout","description":"Log out of local session.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Log out of local session."}]},"implicit":false},{"name":"create_from_db_file","description":"","result":["session ref","ID of newly created session"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"filename","doc":"Database dump filename."}],"errors":[],"roles":[],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"implicit":false},{"name":"slave_local_login_with_password","description":"Authenticate locally against a slave in emergency mode. Note the resulting sessions are only good for use on this host.","result":["session ref","ID of newly created session"],"params":[{"type":"string","name":"uname","doc":"Username for login."},{"type":"string","name":"pwd","doc":"Password for login."}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Authenticate locally against a slave in emergency mode. Note the resulting sessions are only good for use on this host."}]},"implicit":false},{"name":"change_password","description":"Change the account password; if your session is authenticated with root privileges then the old_pwd is validated and the new_pwd is set regardless","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"old_pwd","doc":"Old password for account"},{"type":"string","name":"new_pwd","doc":"New password for account"}],"errors":[],"roles":[],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Change the account password; if your session is authenticated with root privileges then the old_pwd is validated and the new_pwd is set regardless"}]},"implicit":false},{"name":"logout","description":"Log out of a session","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Log out of a session"}]},"implicit":false},{"name":"login_with_password","description":"Attempt to authenticate the user, returning a session reference if successful","result":["session ref","reference of newly created session"],"params":[{"type":"string","name":"uname","doc":"Username for login."},{"type":"string","name":"pwd","doc":"Password for login."},{"type":"string","name":"version","doc":"Client API version."},{"type":"string","name":"originator","doc":"Key string for distinguishing different API users sharing the same login name."}],"errors":[{"name":"SESSION_AUTHENTICATION_FAILED","doc":"The credentials given by the user are incorrect, so access has been denied, and you have not been issued a session handle."},{"name":"HOST_IS_SLAVE","doc":"You cannot make regular API calls directly on a supporter. Please pass API calls via the coordinator host."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Attempt to authenticate the user, returning a session reference if successful"}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given session. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given session.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given session.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_client_certificate","description":"Get the client_certificate field of the given session.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"21.2.0","description":"indicates whether this session was authenticated using a client certificate"}]},"implicit":true},{"name":"get_originator","description":"Get the originator field of the given session.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"clearwater","description":"a key string provided by a API user to distinguish itself from other users sharing the same login name"}]},"implicit":true},{"name":"get_parent","description":"Get the parent field of the given session.","result":["session ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"references the parent session that created this session"}]},"implicit":true},{"name":"get_tasks","description":"Get the tasks field of the given session.","result":["task ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"list of tasks created using the current session"}]},"implicit":true},{"name":"get_rbac_permissions","description":"Get the rbac_permissions field of the given session.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"list with all RBAC permissions for this session"}]},"implicit":true},{"name":"get_auth_user_name","description":"Get the auth_user_name field of the given session.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"the subject name of the user that was externally authenticated. If a session instance has is_local_superuser set, then the value of this field is undefined."}]},"implicit":true},{"name":"get_auth_user_sid","description":"Get the auth_user_sid field of the given session.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"the subject identifier of the user that was externally authenticated. If a session instance has is_local_superuser set, then the value of this field is undefined."}]},"implicit":true},{"name":"get_validation_time","description":"Get the validation_time field of the given session.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"time when session was last validated"}]},"implicit":true},{"name":"get_subject","description":"Get the subject field of the given session.","result":["subject ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"references the subject instance that created the session. If a session instance has is_local_superuser set, then the value of this field is undefined."}]},"implicit":true},{"name":"get_is_local_superuser","description":"Get the is_local_superuser field of the given session.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"true iff this session was created using local superuser credentials"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given session.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_pool","description":"Get the pool field of the given session.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"True if this session relates to a intra-pool login, false otherwise"}]},"implicit":true},{"name":"get_last_active","description":"Get the last_active field of the given session.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Timestamp for last time session was active"}]},"implicit":true},{"name":"get_this_user","description":"Get the this_user field of the given session.","result":["user ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Currently connected user"}]},"implicit":true},{"name":"get_this_host","description":"Get the this_host field of the given session.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Currently connected host"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given session.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the session instance with the specified UUID.","result":["session ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A session"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given session.","result":["session record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"session ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A session"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A session"}]},"tag":""},{"name":"auth","description":"Management of remote authentication services","fields":[],"messages":[{"name":"get_group_membership","description":"This calls queries the external directory service to obtain the transitively-closed set of groups that the the subject_identifier is member of.","result":["string set","set of subject_identifiers that provides the group membership of subject_identifier passed as argument, it contains, recursively, all groups a subject_identifier is member of."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"subject_identifier","doc":"A string containing the subject_identifier, unique in the external directory service"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"This calls queries the external directory service to obtain the transitively-closed set of groups that the the subject_identifier is member of."}]},"implicit":false},{"name":"get_subject_information_from_identifier","description":"This call queries the external directory service to obtain the user information (e.g. username, organization etc) from the specified subject_identifier","result":["(string -> string) map","key-value pairs containing at least a key called subject_name"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"subject_identifier","doc":"A string containing the subject_identifier, unique in the external directory service"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"This call queries the external directory service to obtain the user information (e.g. username, organization etc) from the specified subject_identifier"}]},"implicit":false},{"name":"get_subject_identifier","description":"This call queries the external directory service to obtain the subject_identifier as a string from the human-readable subject_name","result":["string","the subject_identifier obtained from the external directory service"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"subject_name","doc":"The human-readable subject_name, such as a username or a groupname"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"This call queries the external directory service to obtain the subject_identifier as a string from the human-readable subject_name"}]},"implicit":false}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Management of remote authentication services"}]},"tag":""},{"name":"subject","description":"A user or group that can log in xapi","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"subject_identifier","description":"the subject identifier, unique in the external directory service","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"the subject identifier, unique in the external directory service"}]},"default":"\"\""},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"additional configuration"}]},"default":"{}"},{"name":"roles","description":"the roles associated with this subject","type":"role ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"the roles associated with this subject"}]},"default":"{OpaqueRef:0165f154-ba3e-034e-6b27-5d271af109ba}"}],"messages":[{"name":"get_all_records","description":"Return a map of subject references to subject records for all subjects known to the system.","result":["(subject ref -> subject record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"A user or group that can log in xapi"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the subjects known to the system.","result":["subject ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"A user or group that can log in xapi"}]},"implicit":true},{"name":"get_permissions_name_label","description":"This call returns a list of permission names given a subject","result":["string set","a list of permission names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"subject ref","name":"self","doc":"The subject whose permissions will be retrieved"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"This call returns a list of permission names given a subject"}]},"implicit":false},{"name":"remove_from_roles","description":"This call removes a role from a subject","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"subject ref","name":"self","doc":"The subject from whom we want to remove the role"},{"type":"role ref","name":"role","doc":"The unique role reference in the subject's roles field"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"This call removes a role from a subject"}]},"implicit":false},{"name":"add_to_roles","description":"This call adds a new role to a subject","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"subject ref","name":"self","doc":"The subject who we want to add the role to"},{"type":"role ref","name":"role","doc":"The unique role reference"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"This call adds a new role to a subject"}]},"implicit":false},{"name":"get_roles","description":"Get the roles field of the given subject.","result":["role ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"subject ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"the roles associated with this subject"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given subject.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"subject ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"additional configuration"}]},"implicit":true},{"name":"get_subject_identifier","description":"Get the subject_identifier field of the given subject.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"subject ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"the subject identifier, unique in the external directory service"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given subject.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"subject ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"destroy","description":"Destroy the specified subject instance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"subject ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"A user or group that can log in xapi"}]},"implicit":true},{"name":"create","description":"Create a new subject instance, and return its handle.\nThe constructor args are: subject_identifier, other_config (* = non-optional).","result":["subject ref","reference to the newly created object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"subject record","name":"args","doc":"All constructor arguments"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"A user or group that can log in xapi"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the subject instance with the specified UUID.","result":["subject ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"A user or group that can log in xapi"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given subject.","result":["subject record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"subject ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"A user or group that can log in xapi"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"A user or group that can log in xapi"}]},"tag":""},{"name":"role","description":"A set of permissions associated with a subject","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"name_label","description":"a short user-friendly name for the role","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"a short user-friendly name for the role"}]},"default":"\"\""},{"name":"name_description","description":"what this role is for","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"what this role is for"}]},"default":"\"\""},{"name":"subroles","description":"a list of pointers to other roles or permissions","type":"role ref set","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"a list of pointers to other roles or permissions"}]},"default":"{}"},{"name":"is_internal","description":"Indicates whether the role is only to be assigned internally by xapi, or can be used by clients","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"22.5.0","description":"Indicates whether the role is only to be assigned internally by xapi, or can be used by clients"}]},"default":"false"}],"messages":[{"name":"get_all_records","description":"Return a map of role references to role records for all roles known to the system.","result":["(role ref -> role record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"A set of permissions associated with a subject"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the roles known to the system.","result":["role ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"A set of permissions associated with a subject"}]},"implicit":true},{"name":"get_by_permission_name_label","description":"This call returns a list of roles given a permission name","result":["role ref set","a list of references to roles"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"The short friendly name of the role"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"This call returns a list of roles given a permission name"}]},"implicit":false},{"name":"get_by_permission","description":"This call returns a list of roles given a permission","result":["role ref set","a list of references to roles"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"role ref","name":"permission","doc":"a reference to a permission"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"This call returns a list of roles given a permission"}]},"implicit":false},{"name":"get_permissions_name_label","description":"This call returns a list of permission names given a role","result":["string set","a list of permission names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"role ref","name":"self","doc":"a reference to a role"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"This call returns a list of permission names given a role"}]},"implicit":false},{"name":"get_permissions","description":"This call returns a list of permissions given a role","result":["role ref set","a list of permissions"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"role ref","name":"self","doc":"a reference to a role"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"This call returns a list of permissions given a role"}]},"implicit":false},{"name":"get_is_internal","description":"Get the is_internal field of the given role.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"role ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"22.5.0","description":"Indicates whether the role is only to be assigned internally by xapi, or can be used by clients"}]},"implicit":true},{"name":"get_subroles","description":"Get the subroles field of the given role.","result":["role ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"role ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"a list of pointers to other roles or permissions"}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given role.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"role ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"what this role is for"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given role.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"role ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"a short user-friendly name for the role"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given role.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"role ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the role instances with the given label.","result":["role ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"A set of permissions associated with a subject"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the role instance with the specified UUID.","result":["role ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"A set of permissions associated with a subject"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given role.","result":["role record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"role ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"A set of permissions associated with a subject"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"A set of permissions associated with a subject"}]},"tag":""},{"name":"task","description":"A long-running asynchronous task","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"allowed_operations","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client.","type":"enum task_allowed_operations set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"default":"{}"},{"name":"current_operations","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task.","type":"(string -> enum task_allowed_operations) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"default":"{}"},{"name":"created","description":"Time task was created","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time task was created"}]}},{"name":"finished","description":"Time task finished (i.e. succeeded or failed). If task-status is pending, then the value of this field has no meaning","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time task finished (i.e. succeeded or failed). If task-status is pending, then the value of this field has no meaning"}]}},{"name":"status","description":"current status of the task","type":"enum task_status_type","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"current status of the task"}]}},{"name":"resident_on","description":"the host on which the task is running","type":"host ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the host on which the task is running"}]}},{"name":"progress","description":"This field contains the estimated fraction of the task which is complete. This field should not be used to determine whether the task is complete - for this the status field of the task should be used.","type":"float","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"This field contains the estimated fraction of the task which is complete. This field should not be used to determine whether the task is complete - for this the status field of the task should be used."}]}},{"name":"type","description":"if the task has completed successfully, this field contains the type of the encoded result (i.e. name of the class whose reference is in the result field). Undefined otherwise.","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"if the task has completed successfully, this field contains the type of the encoded result (i.e. name of the class whose reference is in the result field). Undefined otherwise."}]}},{"name":"result","description":"if the task has completed successfully, this field contains the result value (either Void or an object reference). Undefined otherwise.","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"if the task has completed successfully, this field contains the result value (either Void or an object reference). Undefined otherwise."}]}},{"name":"error_info","description":"if the task has failed, this field contains the set of associated error strings. Undefined otherwise.","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"if the task has failed, this field contains the set of associated error strings. Undefined otherwise."}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"default":"{}"},{"name":"subtask_of","description":"Ref pointing to the task this is a substask of.","type":"task ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Ref pointing to the task this is a substask of."}]},"default":"Null"},{"name":"subtasks","description":"List pointing to all the substasks.","type":"task ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"List pointing to all the substasks."}]}},{"name":"backtrace","description":"Function call trace for debugging.","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Function call trace for debugging."}]},"default":"\"()\""}],"messages":[{"name":"get_all_records","description":"Return a map of task references to task records for all tasks known to the system.","result":["(task ref -> task record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A long-running asynchronous task"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the tasks known to the system.","result":["task ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A long-running asynchronous task"}]},"implicit":true},{"name":"set_error_info","description":"Set the task error info","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"Reference to the task object"},{"type":"string set","name":"value","doc":"Task error info to be set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"21.3.0","description":"Set the task error info"}]},"implicit":false},{"name":"set_result","description":"Set the task result","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"Reference to the task object"},{"type":"string","name":"value","doc":"Task result to be set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"21.3.0","description":"Set the task result"}]},"implicit":false},{"name":"set_progress","description":"Set the task progress","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"Reference to the task object"},{"type":"float","name":"value","doc":"Task progress value to be set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":"Set the task progress"}]},"implicit":false},{"name":"set_status","description":"Set the task status","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"Reference to the task object"},{"type":"enum task_status_type","name":"value","doc":"task status value to be set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"Set the task status"}]},"implicit":false},{"name":"cancel","description":"Request that a task be cancelled. Note that a task may fail to be cancelled and may complete or fail normally and note that, even when a task does cancel, it might take an arbitrary amount of time.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"task","doc":"The task"}],"errors":[{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Request that a task be cancelled. Note that a task may fail to be cancelled and may complete or fail normally and note that, even when a task does cancel, it might take an arbitrary amount of time."}]},"implicit":false},{"name":"destroy","description":"Destroy the task object","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"Reference to the task object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Destroy the task object"}]},"implicit":false},{"name":"create","description":"Create a new task object which must be manually destroyed.","result":["task ref","The reference of the created task object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"short label for the new task"},{"type":"string","name":"description","doc":"longer description for the new task"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Create a new task object which must be manually destroyed."}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given task. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given task.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given task.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_backtrace","description":"Get the backtrace field of the given task.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Function call trace for debugging."}]},"implicit":true},{"name":"get_subtasks","description":"Get the subtasks field of the given task.","result":["task ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"List pointing to all the substasks."}]},"implicit":true},{"name":"get_subtask_of","description":"Get the subtask_of field of the given task.","result":["task ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Ref pointing to the task this is a substask of."}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given task.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_error_info","description":"Get the error_info field of the given task.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"if the task has failed, this field contains the set of associated error strings. Undefined otherwise."}]},"implicit":true},{"name":"get_result","description":"Get the result field of the given task.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"if the task has completed successfully, this field contains the result value (either Void or an object reference). Undefined otherwise."}]},"implicit":true},{"name":"get_type","description":"Get the type field of the given task.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"if the task has completed successfully, this field contains the type of the encoded result (i.e. name of the class whose reference is in the result field). Undefined otherwise."}]},"implicit":true},{"name":"get_progress","description":"Get the progress field of the given task.","result":["float","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"This field contains the estimated fraction of the task which is complete. This field should not be used to determine whether the task is complete - for this the status field of the task should be used."}]},"implicit":true},{"name":"get_resident_on","description":"Get the resident_on field of the given task.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the host on which the task is running"}]},"implicit":true},{"name":"get_status","description":"Get the status field of the given task.","result":["enum task_status_type","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"current status of the task"}]},"implicit":true},{"name":"get_finished","description":"Get the finished field of the given task.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time task finished (i.e. succeeded or failed). If task-status is pending, then the value of this field has no meaning"}]},"implicit":true},{"name":"get_created","description":"Get the created field of the given task.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time task was created"}]},"implicit":true},{"name":"get_current_operations","description":"Get the current_operations field of the given task.","result":["(string -> enum task_allowed_operations) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"implicit":true},{"name":"get_allowed_operations","description":"Get the allowed_operations field of the given task.","result":["enum task_allowed_operations set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given task.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given task.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given task.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the task instances with the given label.","result":["task ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A long-running asynchronous task"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the task instance with the specified UUID.","result":["task ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A long-running asynchronous task"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given task.","result":["task record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A long-running asynchronous task"}]},"implicit":true}],"enums":[{"name":"task_allowed_operations","values":[{"name":"cancel","doc":"refers to the operation \"cancel\""},{"name":"destroy","doc":"refers to the operation \"destroy\""}]},{"name":"task_status_type","values":[{"name":"pending","doc":"task is in progress"},{"name":"success","doc":"task was completed successfully"},{"name":"failure","doc":"task has failed"},{"name":"cancelling","doc":"task is being cancelled"},{"name":"cancelled","doc":"task has been cancelled"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A long-running asynchronous task"}]},"tag":""},{"name":"event","description":"Asynchronous event registration and handling","fields":[{"name":"snapshot","description":"The record of the database object that was added, changed or deleted","type":" record","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]}},{"name":"id","description":"An ID, monotonically increasing, and local to the current session","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"An ID, monotonically increasing, and local to the current session"}]}},{"name":"timestamp","description":"The time at which the event occurred","type":"datetime","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"The time at which the event occurred"},{"transition":"deprecated","release":"boston","description":""}]}},{"name":"class","description":"The name of the class of the object that changed","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The name of the class of the object that changed"}]}},{"name":"operation","description":"The operation that was performed","type":"enum event_operation","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The operation that was performed"}]}},{"name":"ref","description":"A reference to the object that changed","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A reference to the object that changed"}]}},{"name":"obj_uuid","description":"The uuid of the object that changed","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"The uuid of the object that changed"},{"transition":"deprecated","release":"boston","description":""}]}}],"messages":[{"name":"inject","description":"Injects an artificial event on the given object and returns the corresponding ID in the form of a token, which can be used as a point of reference for database events. For example, to check whether an object has reached the right state before attempting an operation, one can inject an artificial event on the object and wait until the token returned by consecutive event.from calls is lexicographically greater than the one returned by event.inject.","result":["string","the event ID in the form of a token"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"class","doc":"class of the object"},{"type":"string","name":"ref","doc":"A reference to the object that will be changed."}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Injects an artificial event on the given object and returns the corresponding ID in the form of a token, which can be used as a point of reference for database events. For example, to check whether an object has reached the right state before attempting an operation, one can inject an artificial event on the object and wait until the token returned by consecutive event.from calls is lexicographically greater than the one returned by event.inject."}]},"implicit":false},{"name":"get_current_id","description":"Return the ID of the next event to be generated by the system","result":["int","the event ID"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Return the ID of the next event to be generated by the system"}]},"implicit":false},{"name":"from","description":"Blocking call which returns a new token and a (possibly empty) batch of events. The returned token can be used in subsequent calls to this function.","result":["an event batch","a structure consisting of a token ('token'), a map of valid references per object type ('valid_ref_counts'), and a set of event records ('events')."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string set","name":"classes","doc":"register for events for the indicated classes"},{"type":"string","name":"token","doc":"A token representing the point from which to generate database events. The empty string represents the beginning."},{"type":"float","name":"timeout","doc":"Return after this many seconds if no events match"}],"errors":[{"name":"SESSION_NOT_REGISTERED","doc":"This session is not registered to receive events. You must call event.register before event.next. The session handle you are using is echoed."},{"name":"EVENTS_LOST","doc":"Some events have been lost from the queue and cannot be retrieved."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Blocking call which returns a new token and a (possibly empty) batch of events. The returned token can be used in subsequent calls to this function."}]},"implicit":false},{"name":"next","description":"Blocking call which returns a (possibly empty) batch of events. This method is only recommended for legacy use. New development should use event.from which supercedes this method.","result":["event record set","A set of events"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[{"name":"SESSION_NOT_REGISTERED","doc":"This session is not registered to receive events. You must call event.register before event.next. The session handle you are using is echoed."},{"name":"EVENTS_LOST","doc":"Some events have been lost from the queue and cannot be retrieved."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Blocking call which returns a (possibly empty) batch of events. This method is only recommended for legacy use. New development should use event.from which supercedes this method."},{"transition":"deprecated","release":"boston","description":""}]},"implicit":false},{"name":"unregister","description":"Removes this session's registration with the event system for a set of given classes. This method is only recommended for legacy use in conjunction with event.next.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string set","name":"classes","doc":"the classes for which the session's registration with the event system will be removed"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Removes this session's registration with the event system for a set of given classes. This method is only recommended for legacy use in conjunction with event.next."},{"transition":"deprecated","release":"boston","description":""}]},"implicit":false},{"name":"register","description":"Registers this session with the event system for a set of given classes. This method is only recommended for legacy use in conjunction with event.next.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string set","name":"classes","doc":"the classes for which the session will register with the event system; specifying * as the desired class will register for all classes"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Registers this session with the event system for a set of given classes. This method is only recommended for legacy use in conjunction with event.next."},{"transition":"deprecated","release":"boston","description":""}]},"implicit":false}],"enums":[{"name":"event_operation","values":[{"name":"add","doc":"An object has been created"},{"name":"del","doc":"An object has been deleted"},{"name":"mod","doc":"An object has been modified"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""}]},"tag":""},{"name":"pool","description":"Pool-wide information","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"name_label","description":"Short name","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Short name"}]}},{"name":"name_description","description":"Description","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Description"}]}},{"name":"master","description":"The host that is pool master","type":"host ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The host that is pool master"}]}},{"name":"default_SR","description":"Default SR for VDIs","type":"SR ref","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Default SR for VDIs"}]}},{"name":"suspend_image_SR","description":"The SR in which VDIs for suspend images are created","type":"SR ref","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The SR in which VDIs for suspend images are created"}]}},{"name":"crash_dump_SR","description":"The SR in which VDIs for crash dumps are created","type":"SR ref","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The SR in which VDIs for crash dumps are created"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]}},{"name":"ha_enabled","description":"true if HA is enabled on the pool, false otherwise","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"true if HA is enabled on the pool, false otherwise"}]},"default":"false"},{"name":"ha_configuration","description":"The current HA configuration","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"The current HA configuration"}]},"default":"{}"},{"name":"ha_statefiles","description":"HA statefile VDIs in use","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"HA statefile VDIs in use"}]},"default":"{}"},{"name":"ha_host_failures_to_tolerate","description":"Number of host failures to tolerate before the Pool is declared to be overcommitted","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Number of host failures to tolerate before the Pool is declared to be overcommitted"}]},"default":"0"},{"name":"ha_plan_exists_for","description":"Number of future host failures we have managed to find a plan for. Once this reaches zero any future host failures will cause the failure of protected VMs.","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Number of future host failures we have managed to find a plan for. Once this reaches zero any future host failures will cause the failure of protected VMs."}]},"default":"0"},{"name":"ha_allow_overcommit","description":"If set to false then operations which would cause the Pool to become overcommitted will be blocked.","type":"bool","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"If set to false then operations which would cause the Pool to become overcommitted will be blocked."}]},"default":"false"},{"name":"ha_overcommitted","description":"True if the Pool is considered to be overcommitted i.e. if there exist insufficient physical resources to tolerate the configured number of host failures","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"True if the Pool is considered to be overcommitted i.e. if there exist insufficient physical resources to tolerate the configured number of host failures"}]},"default":"false"},{"name":"blobs","description":"Binary blobs associated with this pool","type":"(string -> blob ref) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Binary blobs associated with this pool"}]},"default":"{}"},{"name":"tags","description":"user-specified tags for categorization purposes","type":"string set","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"default":"{}"},{"name":"gui_config","description":"gui-specific configuration for pool","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"gui-specific configuration for pool"}]},"default":"{}"},{"name":"health_check_config","description":"Configuration for the automatic health check feature","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Configuration for the automatic health check feature"}]},"default":"{}"},{"name":"wlb_url","description":"Url for the configured workload balancing host","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Url for the configured workload balancing host"}]},"default":"\"\""},{"name":"wlb_username","description":"Username for accessing the workload balancing host","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Username for accessing the workload balancing host"}]},"default":"\"\""},{"name":"wlb_enabled","description":"true if workload balancing is enabled on the pool, false otherwise","type":"bool","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"true if workload balancing is enabled on the pool, false otherwise"}]},"default":"false"},{"name":"wlb_verify_cert","description":"true if communication with the WLB server should enforce TLS certificate verification.","type":"bool","qualifier":"RW","tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"george","description":""},{"transition":"deprecated","release":"1.290.0","description":"Deprecated: to enable TLS verification use Pool.enable_tls_verification instead"}]},"default":"false"},{"name":"redo_log_enabled","description":"true a redo-log is to be used other than when HA is enabled, false otherwise","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"true a redo-log is to be used other than when HA is enabled, false otherwise"}]},"default":"false"},{"name":"redo_log_vdi","description":"indicates the VDI to use for the redo-log other than when HA is enabled","type":"VDI ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"indicates the VDI to use for the redo-log other than when HA is enabled"}]},"default":"OpaqueRef:NULL"},{"name":"vswitch_controller","description":"address of the vswitch controller","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"midnight-ride","description":"the IP address of the vswitch controller."},{"transition":"deprecated","release":"falcon","description":"Deprecated: set the IP address of the vswitch controller in SDN_controller instead."}]},"default":"\"\""},{"name":"restrictions","description":"Pool-wide restrictions currently in effect","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Pool-wide restrictions currently in effect"}]},"default":"{}"},{"name":"metadata_VDIs","description":"The set of currently known metadata VDIs for this pool","type":"VDI ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The set of currently known metadata VDIs for this pool"}]}},{"name":"ha_cluster_stack","description":"The HA cluster stack that is currently in use. Only valid when HA is enabled.","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"The HA cluster stack that is currently in use. Only valid when HA is enabled."}]},"default":"\"\""},{"name":"allowed_operations","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client.","type":"enum pool_allowed_operations set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"default":"{}"},{"name":"current_operations","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task.","type":"(string -> enum pool_allowed_operations) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"default":"{}"},{"name":"guest_agent_config","description":"Pool-wide guest agent configuration information","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Pool-wide guest agent configuration information"}]},"default":"{}"},{"name":"cpu_info","description":"Details about the physical CPUs on the pool","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Details about the physical CPUs on the pool"}]},"default":"{}"},{"name":"policy_no_vendor_device","description":"The pool-wide policy for clients on whether to use the vendor device or not on newly created VMs. This field will also be consulted if the 'has_vendor_device' field is not specified in the VM.create call.","type":"bool","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"The pool-wide policy for clients on whether to use the vendor device or not on newly created VMs. This field will also be consulted if the 'has_vendor_device' field is not specified in the VM.create call."}]},"default":"false"},{"name":"live_patching_disabled","description":"The pool-wide flag to show if the live patching feauture is disabled or not.","type":"bool","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"The pool-wide flag to show if the live patching feauture is disabled or not."}]},"default":"false"},{"name":"igmp_snooping_enabled","description":"true if IGMP snooping is enabled in the pool, false otherwise.","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"true if IGMP snooping is enabled in the pool, false otherwise."}]},"default":"false"},{"name":"uefi_certificates","description":"The UEFI certificates allowing Secure Boot","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"quebec","description":"The UEFI certificates allowing Secure Boot"},{"transition":"changed","release":"22.16.0","description":"Became StaticRO to be editable through new method"}]},"default":"\"\""},{"name":"custom_uefi_certificates","description":"Custom UEFI certificates allowing Secure Boot","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.0.0","description":""}]},"default":"\"\""},{"name":"is_psr_pending","description":"True if either a PSR is running or we are waiting for a PSR to be re-run","type":"bool","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm_psr","description":"True if either a PSR is running or we are waiting for a PSR to be re-run"}]},"default":"false"},{"name":"tls_verification_enabled","description":"True iff TLS certificate verification is enabled","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.290.0","description":""}]},"default":"false"},{"name":"repositories","description":"The set of currently enabled repositories","type":"Repository ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":"The set of currently enabled repositories"}]},"default":"{}"},{"name":"client_certificate_auth_enabled","description":"True if authentication by TLS client certificates is enabled","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.318.0","description":""}]},"default":"false"},{"name":"client_certificate_auth_name","description":"The name (CN/SAN) that an incoming client certificate must have to allow authentication","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.318.0","description":""}]},"default":"\"\""},{"name":"repository_proxy_url","description":"Url of the proxy used in syncing with the enabled repositories","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"21.3.0","description":"Url of the proxy used in syncing with the enabled repositories"}]},"default":"\"\""},{"name":"repository_proxy_username","description":"Username for the authentication of the proxy used in syncing with the enabled repositories","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"21.3.0","description":"Username for the authentication of the proxy used in syncing with the enabled repositories"}]},"default":"\"\""},{"name":"repository_proxy_password","description":"Password for the authentication of the proxy used in syncing with the enabled repositories","type":"secret ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"21.3.0","description":""},{"transition":"changed","release":"23.9.0","description":"Changed internal_only to false"}]},"default":"OpaqueRef:NULL"},{"name":"migration_compression","description":"Default behaviour during migration, True if stream compression should be used","type":"bool","qualifier":"RW","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.33.0","description":""}]},"default":"false"},{"name":"coordinator_bias","description":"true if bias against pool master when scheduling vms is enabled, false otherwise","type":"bool","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"22.37.0","description":""},{"transition":"published","release":"rio","description":"true if bias against pool master when scheduling vms is enabled, false otherwise"}]},"default":"true"},{"name":"local_auth_max_threads","description":"Maximum number of threads to use for PAM authentication","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.27.0","description":""}]},"default":"8"},{"name":"ext_auth_max_threads","description":"Maximum number of threads to use for external (AD) authentication","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.27.0","description":""}]},"default":"1"},{"name":"telemetry_uuid","description":"The UUID of the pool for identification of telemetry data","type":"secret ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.9.0","description":""}]},"default":"OpaqueRef:NULL"},{"name":"telemetry_frequency","description":"How often the telemetry collection will be carried out","type":"enum telemetry_frequency","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.9.0","description":""}]},"default":"weekly"},{"name":"telemetry_next_collection","description":"The earliest timestamp (in UTC) when the next round of telemetry collection can be carried out","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.9.0","description":""}]},"default":"19700101T00:00:00Z"},{"name":"last_update_sync","description":"time of the last update sychronization","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.18.0","description":""}]},"default":"19700101T00:00:00Z"},{"name":"update_sync_frequency","description":"The frequency at which updates are synchronized from a remote CDN: daily or weekly.","type":"enum update_sync_frequency","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.18.0","description":""}]},"default":"weekly"},{"name":"update_sync_day","description":"The day of the week the update synchronizations will be scheduled, based on pool's local timezone. Ignored when update_sync_frequency is daily","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.18.0","description":""}]},"default":"0"},{"name":"update_sync_enabled","description":"Whether periodic update synchronization is enabled or not","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.18.0","description":""}]},"default":"false"}],"messages":[{"name":"get_all_records","description":"Return a map of pool references to pool records for all pools known to the system.","result":["(pool ref -> pool record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Pool-wide information"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the pools known to the system.","result":["pool ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Pool-wide information"}]},"implicit":true},{"name":"set_ext_auth_max_threads","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"int","name":"value","doc":"The new maximum"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.27.0","description":""}]},"implicit":false},{"name":"set_local_auth_max_threads","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"int","name":"value","doc":"The new maximum"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.27.0","description":""}]},"implicit":false},{"name":"set_update_sync_enabled","description":"enable or disable periodic update synchronization depending on the value","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"bool","name":"value","doc":"true - enable periodic update synchronization, false - disable it"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.18.0","description":""}]},"implicit":false},{"name":"configure_update_sync","description":"Configure periodic update synchronization to sync updates from a remote CDN","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"enum update_sync_frequency","name":"update_sync_frequency","doc":"The frequency at which updates are synchronized from a remote CDN: daily or weekly."},{"type":"int","name":"update_sync_day","doc":"The day of the week the update synchronization will happen, based on pool's local timezone. Valid values are 0 to 6, 0 being Sunday. For 'daily' schedule, the value is ignored."}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.18.0","description":""}]},"implicit":false},{"name":"reset_telemetry_uuid","description":"Assign a new UUID to telemetry data.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.9.0","description":""}]},"implicit":false},{"name":"set_telemetry_next_collection","description":"Set the timestamp for the next telemetry data collection.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"datetime","name":"value","doc":"The earliest timestamp (in UTC) when the next round of telemetry collection can be carried out."}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.9.0","description":""}]},"implicit":false},{"name":"set_https_only","description":"updates all the host firewalls in the pool to open or close port 80 depending on the value","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"bool","name":"value","doc":"true - http port 80 will be blocked, false - http port 80 will be open for the hosts in the pool"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.27.0","description":""}]},"implicit":false},{"name":"set_custom_uefi_certificates","description":"Set custom UEFI certificates for a pool and all its hosts. Need `allow-custom-uefi-certs` set to true in conf. If empty: default back to Pool.uefi_certificates","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"string","name":"value","doc":"The certificates to apply to the pool and its hosts"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.0.0","description":""}]},"implicit":false},{"name":"set_uefi_certificates","description":"Set the UEFI certificates for a pool and all its hosts. Deprecated: use set_custom_uefi_certificates instead","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"string","name":"value","doc":"The certificates to apply to the pool and its hosts"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"22.16.0","description":""},{"transition":"deprecated","release":"24.0.0","description":"use set_custom_uefi_certificates instead"}]},"implicit":false},{"name":"disable_repository_proxy","description":"Disable the proxy for RPM package repositories.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"21.4.0","description":"Disable the proxy for RPM package repositories."}]},"implicit":false},{"name":"configure_repository_proxy","description":"Configure proxy for RPM package repositories.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"string","name":"url","doc":"The URL of the proxy server"},{"type":"string","name":"username","doc":"The username used to authenticate with the proxy server"},{"type":"string","name":"password","doc":"The password used to authenticate with the proxy server"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"21.3.0","description":"Configure proxy for RPM package repositories."}]},"implicit":false},{"name":"disable_client_certificate_auth","description":"Disable client certificate authentication on the pool","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.318.0","description":""}]},"implicit":false},{"name":"enable_client_certificate_auth","description":"Enable client certificate authentication on the pool","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"string","name":"name","doc":"The name (CN/SAN) that an incoming client certificate must have to allow authentication"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.318.0","description":""}]},"implicit":false},{"name":"check_update_readiness","description":"Check if the pool is ready to be updated. If not, report the reasons.","result":["string set set","A set of error codes with arguments, if the pool is\n not ready to update. An empty list means the pool can be updated."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"bool","name":"requires_reboot","doc":"Assume that the update will require host reboots"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.304.0","description":""}]},"implicit":false},{"name":"sync_updates","description":"Sync with the enabled repository","result":["string","The SHA256 hash of updateinfo.xml.gz"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"bool","name":"force","doc":"If true local mirroring repo will be removed before syncing"},{"type":"string","name":"token","doc":"The token for repository client authentication"},{"type":"string","name":"token_id","doc":"The ID of the token"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.329.0","description":"Sync with the enabled repository"}]},"implicit":false},{"name":"remove_repository","description":"Remove a repository from the enabled set","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"Repository ref","name":"value","doc":"The repository to be removed"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":"Remove a repository from the enabled set"}]},"implicit":false},{"name":"add_repository","description":"Add a repository to the enabled set","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"Repository ref","name":"value","doc":"The repository to be added to the enabled set"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":"Add a repository to the enabled set"}]},"implicit":false},{"name":"set_repositories","description":"Set enabled set of repositories","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"Repository ref set","name":"value","doc":"The set of repositories to be enabled"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":"Set enabled set of repositories"}]},"implicit":false},{"name":"rotate_secret","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[{"name":"INTERNAL_ERROR","doc":"The server failed to handle your request, due to an internal error. The given message may give details useful for debugging the problem."},{"name":"HOST_IS_SLAVE","doc":"You cannot make regular API calls directly on a supporter. Please pass API calls via the coordinator host."},{"name":"CANNOT_CONTACT_HOST","doc":"Cannot forward messages because the server cannot be contacted. The server may be switched off or there may be network connectivity problems."},{"name":"HA_IS_ENABLED","doc":"The operation could not be performed because HA is enabled on the Pool"},{"name":"NOT_SUPPORTED_DURING_UPGRADE","doc":"This operation is not supported during an upgrade."}],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm_psr","description":""}]},"implicit":false},{"name":"remove_from_guest_agent_config","description":"Remove a key-value pair from the pool-wide guest agent configuration","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"string","name":"key","doc":"The key to remove"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Remove a key-value pair from the pool-wide guest agent configuration"}]},"implicit":false},{"name":"add_to_guest_agent_config","description":"Add a key-value pair to the pool-wide guest agent configuration","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"string","name":"key","doc":"The key to add"},{"type":"string","name":"value","doc":"The value to add"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Add a key-value pair to the pool-wide guest agent configuration"}]},"implicit":false},{"name":"has_extension","description":"Return true if the extension is available on the pool","result":["bool","True if the extension exists, false otherwise"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"string","name":"name","doc":"The name of the API call"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Return true if the extension is available on the pool"}]},"implicit":false},{"name":"set_igmp_snooping_enabled","description":"Enable or disable IGMP Snooping on the pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"bool","name":"value","doc":"Enable or disable IGMP Snooping on the pool"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"Enable or disable IGMP Snooping on the pool."}]},"implicit":false},{"name":"disable_ssl_legacy","description":"Sets ssl_legacy false on each host, pool-master last. See Host.ssl_legacy and Host.set_ssl_legacy.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"(ignored)"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"dundee","description":""},{"transition":"deprecated","release":"stockholm","description":"Legacy SSL no longer supported"}]},"implicit":false},{"name":"enable_ssl_legacy","description":"Sets ssl_legacy true on each host, pool-master last. See Host.ssl_legacy and Host.set_ssl_legacy.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"(ignored)"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"dundee","description":""},{"transition":"deprecated","release":"dundee","description":"Legacy SSL will soon cease to be supported"},{"transition":"removed","release":"stockholm","description":"Legacy SSL no longer supported"}]},"implicit":false},{"name":"apply_edition","description":"Apply an edition to all hosts in the pool","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"Reference to the pool"},{"type":"string","name":"edition","doc":"The requested edition"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"clearwater","description":"Apply an edition to all hosts in the pool"}]},"implicit":false},{"name":"get_license_state","description":"This call returns the license state for the pool","result":["(string -> string) map","The pool's license state"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"Reference to the pool"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"clearwater","description":"This call returns the license state for the pool"}]},"implicit":false},{"name":"disable_local_storage_caching","description":"This call disables pool-wide local storage caching","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"Reference to the pool"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"This call disables pool-wide local storage caching"}]},"implicit":false},{"name":"enable_local_storage_caching","description":"This call attempts to enable pool-wide local storage caching","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"Reference to the pool"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"This call attempts to enable pool-wide local storage caching"}]},"implicit":false},{"name":"test_archive_target","description":"This call tests if a location is valid","result":["string","An XMLRPC result"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"Reference to the pool"},{"type":"(string -> string) map","name":"config","doc":"Location config settings to test"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"This call tests if a location is valid"}]},"implicit":false},{"name":"set_vswitch_controller","description":"Set the IP address of the vswitch controller.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"address","doc":"IP address of the vswitch controller."}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Set the IP address of the vswitch controller."},{"transition":"extended","release":"cowley","description":"Allow to be set to the empty string (no controller is used)."},{"transition":"deprecated","release":"falcon","description":"Deprecated: use 'SDN_controller.introduce' and 'SDN_controller.forget' instead."}]},"implicit":false},{"name":"disable_redo_log","description":"Disable the redo log if in use, unless HA is enabled.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Disable the redo log if in use, unless HA is enabled."}]},"implicit":false},{"name":"enable_redo_log","description":"Enable the redo log on the given SR and start using it, unless HA is enabled.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"SR to hold the redo log."}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Enable the redo log on the given SR and start using it, unless HA is enabled."}]},"implicit":false},{"name":"enable_tls_verification","description":"Enable TLS server certificate verification","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.290.0","description":""}]},"implicit":false},{"name":"certificate_sync","description":"Copy the TLS CA certificates and CRLs of the master to all slaves.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Copy the TLS CA certificates and CRLs of the master to all slaves."}]},"implicit":false},{"name":"crl_list","description":"List the names of all installed TLS CA-issued Certificate Revocation Lists.","result":["string set","The names of all installed CRLs"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"List the names of all installed TLS CA-issued Certificate Revocation Lists."}]},"implicit":false},{"name":"crl_uninstall","description":"Remove a pool-wide TLS CA-issued Certificate Revocation List.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"name","doc":"The CRL name"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Remove a pool-wide TLS CA-issued Certificate Revocation List."}]},"implicit":false},{"name":"crl_install","description":"Install a TLS CA-issued Certificate Revocation List, pool-wide.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"name","doc":"A name to give the CRL"},{"type":"string","name":"cert","doc":"The CRL"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Install a TLS CA-issued Certificate Revocation List, pool-wide."}]},"implicit":false},{"name":"uninstall_ca_certificate","description":"Remove a pool-wide TLS CA certificate.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"name","doc":"The certificate name"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.290.0","description":"Uninstall TLS CA certificate"}]},"implicit":false},{"name":"install_ca_certificate","description":"Install a TLS CA certificate, pool-wide.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"name","doc":"A name to give the certificate"},{"type":"string","name":"cert","doc":"The certificate in PEM format"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.290.0","description":"Install TLS CA certificate"}]},"implicit":false},{"name":"certificate_list","description":"List the names of all installed TLS CA certificates.","result":["string set","All installed certificates"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"george","description":"List installed TLS CA certificate"},{"transition":"deprecated","release":"1.290.0","description":"Use openssl to inspect certificate"}]},"implicit":false},{"name":"certificate_uninstall","description":"Remove a pool-wide TLS CA certificate.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"name","doc":"The certificate name"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"george","description":"Install TLS CA certificate"},{"transition":"deprecated","release":"1.290.0","description":"Use Pool.uninstall_ca_certificate instead"}]},"implicit":false},{"name":"certificate_install","description":"Install a TLS CA certificate, pool-wide.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"name","doc":"A name to give the certificate"},{"type":"string","name":"cert","doc":"The certificate in PEM format"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"george","description":"Install TLS CA certificate"},{"transition":"deprecated","release":"1.290.0","description":"Use Pool.install_ca_certificate instead"}]},"implicit":false},{"name":"send_test_post","description":"Send the given body to the given host and port, using HTTPS, and print the response. This is used for debugging the SSL layer.","result":["string","The response"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"host","doc":""},{"type":"int","name":"port","doc":""},{"type":"string","name":"body","doc":""}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Send the given body to the given host and port, using HTTPS, and print the response. This is used for debugging the SSL layer."}]},"implicit":false},{"name":"retrieve_wlb_recommendations","description":"Retrieves vm migrate recommendations for the pool from the workload balancing server","result":["(VM ref -> string set) map","The list of vm migration recommendations"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Retrieves vm migrate recommendations for the pool from the workload balancing server"}]},"implicit":false},{"name":"retrieve_wlb_configuration","description":"Retrieves the pool optimization criteria from the workload balancing server","result":["(string -> string) map","The configuration used in optimizing this pool"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Retrieves the pool optimization criteria from the workload balancing server"}]},"implicit":false},{"name":"send_wlb_configuration","description":"Sets the pool optimization criteria for the workload balancing server","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"(string -> string) map","name":"config","doc":"The configuration to use in optimizing this pool"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Sets the pool optimization criteria for the workload balancing server"}]},"implicit":false},{"name":"deconfigure_wlb","description":"Permanently deconfigures workload balancing monitoring on this pool","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Permanently deconfigures workload balancing monitoring on this pool"}]},"implicit":false},{"name":"initialize_wlb","description":"Initializes workload balancing monitoring on this pool with the specified wlb server","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"wlb_url","doc":"The ip address and port to use when accessing the wlb server"},{"type":"string","name":"wlb_username","doc":"The username used to authenticate with the wlb server"},{"type":"string","name":"wlb_password","doc":"The password used to authenticate with the wlb server"},{"type":"string","name":"xenserver_username","doc":"The username used by the wlb server to authenticate with the xenserver"},{"type":"string","name":"xenserver_password","doc":"The password used by the wlb server to authenticate with the xenserver"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Initializes workload balancing monitoring on this pool with the specified wlb server"}]},"implicit":false},{"name":"detect_nonhomogeneous_external_auth","description":"This call asynchronously detects if the external authentication configuration in any slave is different from that in the master and raises appropriate alerts","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"pool","doc":"The pool where to detect non-homogeneous external authentication configuration"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"This call asynchronously detects if the external authentication configuration in any slave is different from that in the master and raises appropriate alerts"}]},"implicit":false},{"name":"disable_external_auth","description":"This call disables external authentication on all the hosts of the pool","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"pool","doc":"The pool whose external authentication should be disabled"},{"type":"(string -> string) map","name":"config","doc":"Optional parameters as a list of key-values containing the configuration data"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"This call disables external authentication on all the hosts of the pool"}]},"implicit":false},{"name":"enable_external_auth","description":"This call enables external authentication on all the hosts of the pool","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"pool","doc":"The pool whose external authentication should be enabled"},{"type":"(string -> string) map","name":"config","doc":"A list of key-values containing the configuration data"},{"type":"string","name":"service_name","doc":"The name of the service"},{"type":"string","name":"auth_type","doc":"The type of authentication (e.g. AD for Active Directory)"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"This call enables external authentication on all the hosts of the pool"}]},"implicit":false},{"name":"create_new_blob","description":"Create a placeholder for a named binary blob of data that is associated with this pool","result":["blob ref","The reference of the blob, needed for populating its data"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"pool","doc":"The pool"},{"type":"string","name":"name","doc":"The name associated with the blob"},{"type":"string","name":"mime_type","doc":"The mime type for the data. Empty string translates to application/octet-stream"},{"type":"bool","name":"public","doc":"True if the blob should be publicly available"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Create a placeholder for a named binary blob of data that is associated with this pool"}]},"implicit":false},{"name":"set_ha_host_failures_to_tolerate","description":"Set the maximum number of host failures to consider in the HA VM restart planner","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"The pool"},{"type":"int","name":"value","doc":"New number of host failures to consider"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Set the maximum number of host failures to consider in the HA VM restart planner"}]},"implicit":false},{"name":"ha_compute_vm_failover_plan","description":"Return a VM failover plan assuming a given subset of hosts fail","result":["(VM ref -> (string -> string) map) map","VM failover plan: a map of VM to host to restart the host on"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref set","name":"failed_hosts","doc":"The set of hosts to assume have failed"},{"type":"VM ref set","name":"failed_vms","doc":"The set of VMs to restart"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Return a VM failover plan assuming a given subset of hosts fail"}]},"implicit":false},{"name":"ha_compute_hypothetical_max_host_failures_to_tolerate","description":"Returns the maximum number of host failures we could tolerate before we would be unable to restart the provided VMs","result":["int","maximum value for ha_host_failures_to_tolerate given provided configuration"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"(VM ref -> string) map","name":"configuration","doc":"Map of protected VM reference to restart priority"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Returns the maximum number of host failures we could tolerate before we would be unable to restart the provided VMs"}]},"implicit":false},{"name":"ha_compute_max_host_failures_to_tolerate","description":"Returns the maximum number of host failures we could tolerate before we would be unable to restart configured VMs","result":["int","maximum value for ha_host_failures_to_tolerate given current configuration"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Returns the maximum number of host failures we could tolerate before we would be unable to restart configured VMs"}]},"implicit":false},{"name":"ha_failover_plan_exists","description":"Returns true if a VM failover plan exists for up to 'n' host failures","result":["bool","true if a failover plan exists for the supplied number of host failures"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"int","name":"n","doc":"The number of host failures to plan for"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Returns true if a VM failover plan exists for up to 'n' host failures"}]},"implicit":false},{"name":"ha_prevent_restarts_for","description":"When this call returns the VM restart logic will not run for the requested number of seconds. If the argument is zero then the restart thread is immediately unblocked","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"int","name":"seconds","doc":"The number of seconds to block the restart thread for"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando-update-1","description":"When this call returns the VM restart logic will not run for the requested number of seconds. If the argument is zero then the restart thread is immediately unblocked"}]},"implicit":false},{"name":"designate_new_master","description":"Perform an orderly handover of the role of master to the referenced host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host who should become the new master"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Perform an orderly handover of the role of master to the referenced host."}]},"implicit":false},{"name":"sync_database","description":"Forcibly synchronise the database now","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Forcibly synchronise the database now"}]},"implicit":false},{"name":"disable_ha","description":"Turn off High Availability mode","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Turn off High Availability mode"}]},"implicit":false},{"name":"enable_ha","description":"Turn on High Availability mode","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref set","name":"heartbeat_srs","doc":"Set of SRs to use for storage heartbeating"},{"type":"(string -> string) map","name":"configuration","doc":"Detailed HA configuration to apply"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Turn on High Availability mode"}]},"implicit":false},{"name":"create_VLAN_from_PIF","description":"Create a pool-wide VLAN by taking the PIF.","result":["PIF ref set","The references of the created PIF objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"pif","doc":"physical interface on any particular host, that identifies the PIF on which to create the (pool-wide) VLAN interface"},{"type":"network ref","name":"network","doc":"network to which this interface should be connected"},{"type":"int","name":"VLAN","doc":"VLAN tag for the new interface"}],"errors":[{"name":"VLAN_TAG_INVALID","doc":"You tried to create a VLAN, but the tag you gave was invalid -- it must be between 0 and 4094. The parameter echoes the VLAN tag you gave."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Create a pool-wide VLAN by taking the PIF."}]},"implicit":false},{"name":"management_reconfigure","description":"Reconfigure the management network interface for all Hosts in the Pool","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"network","doc":"The network"}],"errors":[{"name":"HA_IS_ENABLED","doc":"The operation could not be performed because HA is enabled on the Pool"},{"name":"PIF_NOT_PRESENT","doc":"This host has no PIF on the given network."},{"name":"CANNOT_PLUG_BOND_SLAVE","doc":"This PIF is a bond member and cannot be plugged."},{"name":"PIF_INCOMPATIBLE_PRIMARY_ADDRESS_TYPE","doc":"The primary address types are not compatible"},{"name":"PIF_HAS_NO_NETWORK_CONFIGURATION","doc":"PIF has no IP configuration (mode currently set to 'none')"},{"name":"PIF_HAS_NO_V6_NETWORK_CONFIGURATION","doc":"PIF has no IPv6 configuration (mode currently set to 'none')"}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"Reconfigure the management network interface for all Hosts in the Pool"}]},"implicit":false},{"name":"create_VLAN","description":"Create PIFs, mapping a network to the same physical interface/VLAN on each host. This call is deprecated: use Pool.create_VLAN_from_PIF instead.","result":["PIF ref set","The references of the created PIF objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"device","doc":"physical interface on which to create the VLAN interface"},{"type":"network ref","name":"network","doc":"network to which this interface should be connected"},{"type":"int","name":"VLAN","doc":"VLAN tag for the new interface"}],"errors":[{"name":"VLAN_TAG_INVALID","doc":"You tried to create a VLAN, but the tag you gave was invalid -- it must be between 0 and 4094. The parameter echoes the VLAN tag you gave."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Create PIFs, mapping a network to the same physical interface/VLAN on each host. This call is deprecated: use Pool.create_VLAN_from_PIF instead."}]},"implicit":false},{"name":"recover_slaves","description":"Instruct a pool master, M, to try and contact its slaves and, if slaves are in emergency mode, reset their master address to M.","result":["host ref set","list of hosts whose master address were successfully reset"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Instruct a pool master, M, to try and contact its slaves and, if slaves are in emergency mode, reset their master address to M."}]},"implicit":false},{"name":"emergency_reset_master","description":"Instruct a slave already in a pool that the master has changed","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"master_address","doc":"The hostname of the master"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Instruct a slave already in a pool that the master has changed"}]},"implicit":false},{"name":"emergency_transition_to_master","description":"Instruct host that's currently a slave to transition to being master","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Instruct host that's currently a slave to transition to being master"}]},"implicit":false},{"name":"eject","description":"Instruct a pool master to eject a host from the pool","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host to eject"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Instruct a pool master to eject a host from the pool"}]},"implicit":false},{"name":"join_force","description":"Instruct host to join a new pool","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"master_address","doc":"The hostname of the master of the pool to join"},{"type":"string","name":"master_username","doc":"The username of the master (for initial authentication)"},{"type":"string","name":"master_password","doc":"The password for the master (for initial authentication)"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Instruct host to join a new pool"}]},"implicit":false},{"name":"join","description":"Instruct host to join a new pool","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"master_address","doc":"The hostname of the master of the pool to join"},{"type":"string","name":"master_username","doc":"The username of the master (for initial authentication)"},{"type":"string","name":"master_password","doc":"The password for the master (for initial authentication)"}],"errors":[{"name":"JOINING_HOST_CANNOT_CONTAIN_SHARED_SRS","doc":"The server joining the pool cannot contain any shared storage."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Instruct host to join a new pool"}]},"implicit":false},{"name":"set_coordinator_bias","description":"Set the coordinator_bias field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"bool","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"22.37.0","description":""},{"transition":"published","release":"rio","description":"true if bias against pool master when scheduling vms is enabled, false otherwise"}]},"implicit":true},{"name":"set_migration_compression","description":"Set the migration_compression field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"bool","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.33.0","description":""}]},"implicit":true},{"name":"set_is_psr_pending","description":"Set the is_psr_pending field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"bool","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm_psr","description":"True if either a PSR is running or we are waiting for a PSR to be re-run"}]},"implicit":true},{"name":"set_live_patching_disabled","description":"Set the live_patching_disabled field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"bool","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"The pool-wide flag to show if the live patching feauture is disabled or not."}]},"implicit":true},{"name":"set_policy_no_vendor_device","description":"Set the policy_no_vendor_device field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"bool","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"The pool-wide policy for clients on whether to use the vendor device or not on newly created VMs. This field will also be consulted if the 'has_vendor_device' field is not specified in the VM.create call."}]},"implicit":true},{"name":"set_wlb_verify_cert","description":"Set the wlb_verify_cert field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"bool","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"george","description":""},{"transition":"deprecated","release":"1.290.0","description":"Deprecated: to enable TLS verification use Pool.enable_tls_verification instead"}]},"implicit":true},{"name":"set_wlb_enabled","description":"Set the wlb_enabled field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"bool","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"true if workload balancing is enabled on the pool, false otherwise"}]},"implicit":true},{"name":"remove_from_health_check_config","description":"Remove the given key and its corresponding value from the health_check_config field of the given pool. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Configuration for the automatic health check feature"}]},"implicit":true},{"name":"add_to_health_check_config","description":"Add the given key-value pair to the health_check_config field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Configuration for the automatic health check feature"}]},"implicit":true},{"name":"set_health_check_config","description":"Set the health_check_config field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Configuration for the automatic health check feature"}]},"implicit":true},{"name":"remove_from_gui_config","description":"Remove the given key and its corresponding value from the gui_config field of the given pool. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"gui-specific configuration for pool"}]},"implicit":true},{"name":"add_to_gui_config","description":"Add the given key-value pair to the gui_config field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"gui-specific configuration for pool"}]},"implicit":true},{"name":"set_gui_config","description":"Set the gui_config field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"gui-specific configuration for pool"}]},"implicit":true},{"name":"remove_tags","description":"Remove the given value from the tags field of the given pool. If the value is not in that Set, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"Value to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"add_tags","description":"Add the given value to the tags field of the given pool. If the value is already in that Set, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"set_tags","description":"Set the tags field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"string set","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"set_ha_allow_overcommit","description":"Set the ha_allow_overcommit field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"bool","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"If set to false then operations which would cause the Pool to become overcommitted will be blocked."}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given pool. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"set_crash_dump_SR","description":"Set the crash_dump_SR field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"SR ref","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The SR in which VDIs for crash dumps are created"}]},"implicit":true},{"name":"set_suspend_image_SR","description":"Set the suspend_image_SR field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"SR ref","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The SR in which VDIs for suspend images are created"}]},"implicit":true},{"name":"set_default_SR","description":"Set the default_SR field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"SR ref","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Default SR for VDIs"}]},"implicit":true},{"name":"set_name_description","description":"Set the name_description field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Description"}]},"implicit":true},{"name":"set_name_label","description":"Set the name_label field of the given pool.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Short name"}]},"implicit":true},{"name":"get_update_sync_enabled","description":"Get the update_sync_enabled field of the given pool.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.18.0","description":""}]},"implicit":true},{"name":"get_update_sync_day","description":"Get the update_sync_day field of the given pool.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.18.0","description":""}]},"implicit":true},{"name":"get_update_sync_frequency","description":"Get the update_sync_frequency field of the given pool.","result":["enum update_sync_frequency","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.18.0","description":""}]},"implicit":true},{"name":"get_last_update_sync","description":"Get the last_update_sync field of the given pool.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.18.0","description":""}]},"implicit":true},{"name":"get_telemetry_next_collection","description":"Get the telemetry_next_collection field of the given pool.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.9.0","description":""}]},"implicit":true},{"name":"get_telemetry_frequency","description":"Get the telemetry_frequency field of the given pool.","result":["enum telemetry_frequency","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.9.0","description":""}]},"implicit":true},{"name":"get_telemetry_uuid","description":"Get the telemetry_uuid field of the given pool.","result":["secret ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.9.0","description":""}]},"implicit":true},{"name":"get_ext_auth_max_threads","description":"Get the ext_auth_max_threads field of the given pool.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.27.0","description":""}]},"implicit":true},{"name":"get_local_auth_max_threads","description":"Get the local_auth_max_threads field of the given pool.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.27.0","description":""}]},"implicit":true},{"name":"get_coordinator_bias","description":"Get the coordinator_bias field of the given pool.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"22.37.0","description":""},{"transition":"published","release":"rio","description":"true if bias against pool master when scheduling vms is enabled, false otherwise"}]},"implicit":true},{"name":"get_migration_compression","description":"Get the migration_compression field of the given pool.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.33.0","description":""}]},"implicit":true},{"name":"get_repository_proxy_password","description":"Get the repository_proxy_password field of the given pool.","result":["secret ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"21.3.0","description":""},{"transition":"changed","release":"23.9.0","description":"Changed internal_only to false"}]},"implicit":true},{"name":"get_repository_proxy_username","description":"Get the repository_proxy_username field of the given pool.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"21.3.0","description":"Username for the authentication of the proxy used in syncing with the enabled repositories"}]},"implicit":true},{"name":"get_repository_proxy_url","description":"Get the repository_proxy_url field of the given pool.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"21.3.0","description":"Url of the proxy used in syncing with the enabled repositories"}]},"implicit":true},{"name":"get_client_certificate_auth_name","description":"Get the client_certificate_auth_name field of the given pool.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.318.0","description":""}]},"implicit":true},{"name":"get_client_certificate_auth_enabled","description":"Get the client_certificate_auth_enabled field of the given pool.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.318.0","description":""}]},"implicit":true},{"name":"get_repositories","description":"Get the repositories field of the given pool.","result":["Repository ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":"The set of currently enabled repositories"}]},"implicit":true},{"name":"get_tls_verification_enabled","description":"Get the tls_verification_enabled field of the given pool.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.290.0","description":""}]},"implicit":true},{"name":"get_is_psr_pending","description":"Get the is_psr_pending field of the given pool.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm_psr","description":"True if either a PSR is running or we are waiting for a PSR to be re-run"}]},"implicit":true},{"name":"get_custom_uefi_certificates","description":"Get the custom_uefi_certificates field of the given pool.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.0.0","description":""}]},"implicit":true},{"name":"get_uefi_certificates","description":"Get the uefi_certificates field of the given pool.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"quebec","description":"The UEFI certificates allowing Secure Boot"},{"transition":"changed","release":"22.16.0","description":"Became StaticRO to be editable through new method"}]},"implicit":true},{"name":"get_igmp_snooping_enabled","description":"Get the igmp_snooping_enabled field of the given pool.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"true if IGMP snooping is enabled in the pool, false otherwise."}]},"implicit":true},{"name":"get_live_patching_disabled","description":"Get the live_patching_disabled field of the given pool.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"The pool-wide flag to show if the live patching feauture is disabled or not."}]},"implicit":true},{"name":"get_policy_no_vendor_device","description":"Get the policy_no_vendor_device field of the given pool.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"The pool-wide policy for clients on whether to use the vendor device or not on newly created VMs. This field will also be consulted if the 'has_vendor_device' field is not specified in the VM.create call."}]},"implicit":true},{"name":"get_cpu_info","description":"Get the cpu_info field of the given pool.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Details about the physical CPUs on the pool"}]},"implicit":true},{"name":"get_guest_agent_config","description":"Get the guest_agent_config field of the given pool.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Pool-wide guest agent configuration information"}]},"implicit":true},{"name":"get_current_operations","description":"Get the current_operations field of the given pool.","result":["(string -> enum pool_allowed_operations) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"implicit":true},{"name":"get_allowed_operations","description":"Get the allowed_operations field of the given pool.","result":["enum pool_allowed_operations set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"implicit":true},{"name":"get_ha_cluster_stack","description":"Get the ha_cluster_stack field of the given pool.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"The HA cluster stack that is currently in use. Only valid when HA is enabled."}]},"implicit":true},{"name":"get_metadata_VDIs","description":"Get the metadata_VDIs field of the given pool.","result":["VDI ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The set of currently known metadata VDIs for this pool"}]},"implicit":true},{"name":"get_restrictions","description":"Get the restrictions field of the given pool.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Pool-wide restrictions currently in effect"}]},"implicit":true},{"name":"get_vswitch_controller","description":"Get the vswitch_controller field of the given pool.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"midnight-ride","description":"the IP address of the vswitch controller."},{"transition":"deprecated","release":"falcon","description":"Deprecated: set the IP address of the vswitch controller in SDN_controller instead."}]},"implicit":true},{"name":"get_redo_log_vdi","description":"Get the redo_log_vdi field of the given pool.","result":["VDI ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"indicates the VDI to use for the redo-log other than when HA is enabled"}]},"implicit":true},{"name":"get_redo_log_enabled","description":"Get the redo_log_enabled field of the given pool.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"true a redo-log is to be used other than when HA is enabled, false otherwise"}]},"implicit":true},{"name":"get_wlb_verify_cert","description":"Get the wlb_verify_cert field of the given pool.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"george","description":""},{"transition":"deprecated","release":"1.290.0","description":"Deprecated: to enable TLS verification use Pool.enable_tls_verification instead"}]},"implicit":true},{"name":"get_wlb_enabled","description":"Get the wlb_enabled field of the given pool.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"true if workload balancing is enabled on the pool, false otherwise"}]},"implicit":true},{"name":"get_wlb_username","description":"Get the wlb_username field of the given pool.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Username for accessing the workload balancing host"}]},"implicit":true},{"name":"get_wlb_url","description":"Get the wlb_url field of the given pool.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Url for the configured workload balancing host"}]},"implicit":true},{"name":"get_health_check_config","description":"Get the health_check_config field of the given pool.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Configuration for the automatic health check feature"}]},"implicit":true},{"name":"get_gui_config","description":"Get the gui_config field of the given pool.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"gui-specific configuration for pool"}]},"implicit":true},{"name":"get_tags","description":"Get the tags field of the given pool.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"get_blobs","description":"Get the blobs field of the given pool.","result":["(string -> blob ref) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Binary blobs associated with this pool"}]},"implicit":true},{"name":"get_ha_overcommitted","description":"Get the ha_overcommitted field of the given pool.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"True if the Pool is considered to be overcommitted i.e. if there exist insufficient physical resources to tolerate the configured number of host failures"}]},"implicit":true},{"name":"get_ha_allow_overcommit","description":"Get the ha_allow_overcommit field of the given pool.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"If set to false then operations which would cause the Pool to become overcommitted will be blocked."}]},"implicit":true},{"name":"get_ha_plan_exists_for","description":"Get the ha_plan_exists_for field of the given pool.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Number of future host failures we have managed to find a plan for. Once this reaches zero any future host failures will cause the failure of protected VMs."}]},"implicit":true},{"name":"get_ha_host_failures_to_tolerate","description":"Get the ha_host_failures_to_tolerate field of the given pool.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Number of host failures to tolerate before the Pool is declared to be overcommitted"}]},"implicit":true},{"name":"get_ha_statefiles","description":"Get the ha_statefiles field of the given pool.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"HA statefile VDIs in use"}]},"implicit":true},{"name":"get_ha_configuration","description":"Get the ha_configuration field of the given pool.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"The current HA configuration"}]},"implicit":true},{"name":"get_ha_enabled","description":"Get the ha_enabled field of the given pool.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"true if HA is enabled on the pool, false otherwise"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given pool.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"get_crash_dump_SR","description":"Get the crash_dump_SR field of the given pool.","result":["SR ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The SR in which VDIs for crash dumps are created"}]},"implicit":true},{"name":"get_suspend_image_SR","description":"Get the suspend_image_SR field of the given pool.","result":["SR ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The SR in which VDIs for suspend images are created"}]},"implicit":true},{"name":"get_default_SR","description":"Get the default_SR field of the given pool.","result":["SR ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Default SR for VDIs"}]},"implicit":true},{"name":"get_master","description":"Get the master field of the given pool.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The host that is pool master"}]},"implicit":true},{"name":"get_name_description","description":"Get the name_description field of the given pool.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name_label field of the given pool.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Short name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given pool.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the pool instance with the specified UUID.","result":["pool ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Pool-wide information"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given pool.","result":["pool record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Pool-wide information"}]},"implicit":true}],"enums":[{"name":"pool_allowed_operations","values":[{"name":"ha_enable","doc":"Indicates this pool is in the process of enabling HA"},{"name":"ha_disable","doc":"Indicates this pool is in the process of disabling HA"},{"name":"cluster_create","doc":"Indicates this pool is in the process of creating a cluster"},{"name":"designate_new_master","doc":"Indicates this pool is in the process of changing master"},{"name":"configure_repositories","doc":"Indicates this pool is in the process of configuring repositories"},{"name":"sync_updates","doc":"Indicates this pool is in the process of syncing updates"},{"name":"get_updates","doc":"Indicates this pool is in the process of getting updates"},{"name":"apply_updates","doc":"Indicates this pool is in the process of applying updates"},{"name":"tls_verification_enable","doc":"Indicates this pool is in the process of enabling TLS verification"},{"name":"cert_refresh","doc":"A certificate refresh and distribution is in progress"},{"name":"exchange_certificates_on_join","doc":"Indicates this pool is exchanging internal certificates with a new joiner"},{"name":"exchange_ca_certificates_on_join","doc":"Indicates this pool is exchanging ca certificates with a new joiner"},{"name":"copy_primary_host_certs","doc":"Indicates the primary host is sending its certificates to another host"},{"name":"eject","doc":"Ejection of a host from the pool is under way"}]},{"name":"telemetry_frequency","values":[{"name":"daily","doc":"Run telemetry task daily"},{"name":"weekly","doc":"Run telemetry task weekly"},{"name":"monthly","doc":"Run telemetry task monthly"}]},{"name":"update_sync_frequency","values":[{"name":"daily","doc":"The update synchronizations happen every day"},{"name":"weekly","doc":"The update synchronizations happen every week on the chosen day"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Pool-wide information"}]},"tag":""},{"name":"pool_patch","description":"Pool-wide patches","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"version","description":"Patch version number","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Patch version number"}]},"default":"\"\""},{"name":"size","description":"Size of the patch","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Size of the patch"}]},"default":"0"},{"name":"pool_applied","description":"This patch should be applied across the entire pool","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"This patch should be applied across the entire pool"}]},"default":"false"},{"name":"host_patches","description":"This hosts this patch is applied to.","type":"host_patch ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"This hosts this patch is applied to."}]}},{"name":"after_apply_guidance","description":"What the client should do after this patch has been applied.","type":"enum after_apply_guidance set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"What the client should do after this patch has been applied."}]},"default":"{}"},{"name":"pool_update","description":"A reference to the associated pool_update object","type":"pool_update ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"A reference to the associated pool_update object"}]},"default":"OpaqueRef:NULL"},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of pool_patch references to pool_patch records for all pool_patchs known to the system.","result":["(pool_patch ref -> pool_patch record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"miami","description":"Pool-wide patches"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the pool_patchs known to the system.","result":["pool_patch ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"miami","description":"Pool-wide patches"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":true},{"name":"clean_on_host","description":"Removes the patch's files from the specified host","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"The patch to clean up"},{"type":"host ref","name":"host","doc":"The host on which to clean the patch"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"tampa","description":"Removes the patch's files from the specified host"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":false},{"name":"destroy","description":"Removes the patch's files from all hosts in the pool, and removes the database entries. Only works on unapplied patches.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"The patch to destroy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"miami","description":"Removes the patch's files from all hosts in the pool, and removes the database entries. Only works on unapplied patches."},{"transition":"deprecated","release":"ely","description":""}]},"implicit":false},{"name":"pool_clean","description":"Removes the patch's files from all hosts in the pool, but does not remove the database entries","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"The patch to clean up"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"tampa","description":"Removes the patch's files from all hosts in the pool, but does not remove the database entries"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":false},{"name":"clean","description":"Removes the patch's files from the server","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"The patch to clean up"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"miami","description":"Removes the patch's files from the server"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":false},{"name":"precheck","description":"Execute the precheck stage of the selected patch on a host and return its output","result":["string","the output of the patch prechecks"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"The patch whose prechecks will be run"},{"type":"host ref","name":"host","doc":"The host to run the prechecks on"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"miami","description":"Execute the precheck stage of the selected patch on a host and return its output"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":false},{"name":"pool_apply","description":"Apply the selected patch to all hosts in the pool and return a map of host_ref -> patch output","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"The patch to apply"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"miami","description":"Apply the selected patch to all hosts in the pool and return a map of host_ref -> patch output"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":false},{"name":"apply","description":"Apply the selected patch to a host and return its output","result":["string","the output of the patch application process"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"The patch to apply"},{"type":"host ref","name":"host","doc":"The host to apply the patch too"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"miami","description":"Apply the selected patch to a host and return its output"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given pool_patch. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given pool_patch.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given pool_patch.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given pool_patch.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_pool_update","description":"Get the pool_update field of the given pool_patch.","result":["pool_update ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"A reference to the associated pool_update object"}]},"implicit":true},{"name":"get_after_apply_guidance","description":"Get the after_apply_guidance field of the given pool_patch.","result":["enum after_apply_guidance set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"What the client should do after this patch has been applied."}]},"implicit":true},{"name":"get_host_patches","description":"Get the host_patches field of the given pool_patch.","result":["host_patch ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"This hosts this patch is applied to."}]},"implicit":true},{"name":"get_pool_applied","description":"Get the pool_applied field of the given pool_patch.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"This patch should be applied across the entire pool"}]},"implicit":true},{"name":"get_size","description":"Get the size field of the given pool_patch.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Size of the patch"}]},"implicit":true},{"name":"get_version","description":"Get the version field of the given pool_patch.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Patch version number"}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given pool_patch.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given pool_patch.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given pool_patch.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the pool_patch instances with the given label.","result":["pool_patch ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"miami","description":"Pool-wide patches"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the pool_patch instance with the specified UUID.","result":["pool_patch ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"miami","description":"Pool-wide patches"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given pool_patch.","result":["pool_patch record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"miami","description":"Pool-wide patches"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":true}],"enums":[{"name":"after_apply_guidance","values":[{"name":"restartHVM","doc":"This patch requires HVM guests to be restarted once applied."},{"name":"restartPV","doc":"This patch requires PV guests to be restarted once applied."},{"name":"restartHost","doc":"This patch requires the host to be restarted once applied."},{"name":"restartXAPI","doc":"This patch requires XAPI to be restarted once applied."}]}],"lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"miami","description":"Pool-wide patches"},{"transition":"deprecated","release":"ely","description":""}]},"tag":""},{"name":"pool_update","description":"Pool-wide updates to the host software","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"version","description":"Update version number","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Update version number"}]},"default":"\"\""},{"name":"installation_size","description":"Size of the update in bytes","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Size of the update in bytes"}]},"default":"0"},{"name":"key","description":"GPG key of the update","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"GPG key of the update"}]},"default":"\"\""},{"name":"after_apply_guidance","description":"What the client should do after this update has been applied.","type":"enum update_after_apply_guidance set","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"What the client should do after this update has been applied."}]},"default":"{}"},{"name":"vdi","description":"VDI the update was uploaded to","type":"VDI ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"VDI the update was uploaded to"}]}},{"name":"hosts","description":"The hosts that have applied this update.","type":"host ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"The hosts that have applied this update."}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"additional configuration"}]},"default":"{}"},{"name":"enforce_homogeneity","description":"Flag - if true, all hosts in a pool must apply this update","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"Flag - if true, all hosts in a pool must apply this update"}]},"default":"false"}],"messages":[{"name":"get_all_records","description":"Return a map of pool_update references to pool_update records for all pool_updates known to the system.","result":["(pool_update ref -> pool_update record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Pool-wide updates to the host software"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the pool_updates known to the system.","result":["pool_update ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Pool-wide updates to the host software"}]},"implicit":true},{"name":"destroy","description":"Removes the database entry. Only works on unapplied update.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"The update to destroy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Removes the database entry. Only works on unapplied update."}]},"implicit":false},{"name":"pool_clean","description":"Removes the update's files from all hosts in the pool, but does not revert the update","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"The update to clean up"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Removes the update's files from all hosts in the pool, but does not revert the update"}]},"implicit":false},{"name":"pool_apply","description":"Apply the selected update to all hosts in the pool","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"The update to apply"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Apply the selected update to all hosts in the pool"}]},"implicit":false},{"name":"apply","description":"Apply the selected update to a host","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"The update to apply"},{"type":"host ref","name":"host","doc":"The host to apply the update to."}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Apply the selected update to a host"}]},"implicit":false},{"name":"precheck","description":"Execute the precheck stage of the selected update on a host","result":["enum livepatch_status","The precheck pool update"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"The update whose prechecks will be run"},{"type":"host ref","name":"host","doc":"The host to run the prechecks on."}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Execute the precheck stage of the selected update on a host"}]},"implicit":false},{"name":"introduce","description":"Introduce update VDI","result":["pool_update ref","the introduced pool update"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"vdi","doc":"The VDI which contains a software update."}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Introduce update VDI"}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given pool_update. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given pool_update.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given pool_update.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"additional configuration"}]},"implicit":true},{"name":"get_enforce_homogeneity","description":"Get the enforce_homogeneity field of the given pool_update.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"Flag - if true, all hosts in a pool must apply this update"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given pool_update.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"additional configuration"}]},"implicit":true},{"name":"get_hosts","description":"Get the hosts field of the given pool_update.","result":["host ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"The hosts that have applied this update."}]},"implicit":true},{"name":"get_vdi","description":"Get the vdi field of the given pool_update.","result":["VDI ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"VDI the update was uploaded to"}]},"implicit":true},{"name":"get_after_apply_guidance","description":"Get the after_apply_guidance field of the given pool_update.","result":["enum update_after_apply_guidance set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"What the client should do after this update has been applied."}]},"implicit":true},{"name":"get_key","description":"Get the key field of the given pool_update.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"GPG key of the update"}]},"implicit":true},{"name":"get_installation_size","description":"Get the installation_size field of the given pool_update.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Size of the update in bytes"}]},"implicit":true},{"name":"get_version","description":"Get the version field of the given pool_update.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Update version number"}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given pool_update.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given pool_update.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given pool_update.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the pool_update instances with the given label.","result":["pool_update ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Pool-wide updates to the host software"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the pool_update instance with the specified UUID.","result":["pool_update ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Pool-wide updates to the host software"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given pool_update.","result":["pool_update record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"pool_update ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Pool-wide updates to the host software"}]},"implicit":true}],"enums":[{"name":"update_after_apply_guidance","values":[{"name":"restartHVM","doc":"This update requires HVM guests to be restarted once applied."},{"name":"restartPV","doc":"This update requires PV guests to be restarted once applied."},{"name":"restartHost","doc":"This update requires the host to be restarted once applied."},{"name":"restartXAPI","doc":"This update requires XAPI to be restarted once applied."}]},{"name":"livepatch_status","values":[{"name":"ok_livepatch_complete","doc":"An applicable live patch exists for every required component"},{"name":"ok_livepatch_incomplete","doc":"An applicable live patch exists but it is not sufficient"},{"name":"ok","doc":"There is no applicable live patch"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Pool-wide updates to the host software"}]},"tag":""},{"name":"VM","description":"A virtual machine (or 'guest').","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"allowed_operations","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client.","type":"enum vm_operations set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"default":"{}"},{"name":"current_operations","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task.","type":"(string -> enum vm_operations) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"default":"{}"},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"power_state","description":"Current power state of the machine","type":"enum vm_power_state","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"Made StaticRO to allow Suspended VM creation"}]},"default":"Halted"},{"name":"user_version","description":"Creators of VMs and templates may store version information here.","type":"int","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Creators of VMs and templates may store version information here."}]}},{"name":"is_a_template","description":"true if this is a template. Template VMs can never be started, they are used only for cloning other VMs","type":"bool","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this is a template. Template VMs can never be started, they are used only for cloning other VMs"}]}},{"name":"is_default_template","description":"true if this is a default template. Default template VMs can never be started or migrated, they are used only for cloning other VMs","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"Identifies default templates"}]},"default":"false"},{"name":"suspend_VDI","description":"The VDI that a suspend image is stored on. (Only has meaning if VM is currently suspended)","type":"VDI ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"Become static to allow Suspended VM creation"}]},"default":"OpaqueRef:NULL"},{"name":"resident_on","description":"the host the VM is currently resident on","type":"host ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the host the VM is currently resident on"}]}},{"name":"scheduled_to_be_resident_on","description":"the host on which the VM is due to be started/resumed/migrated. This acts as a memory reservation indicator","type":"host ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the host on which the VM is due to be started/resumed/migrated. This acts as a memory reservation indicator"}]},"default":"OpaqueRef:NULL"},{"name":"affinity","description":"A host which the VM has some affinity for (or NULL). This is used as a hint to the start call when it decides where to run the VM. Resource constraints may cause the VM to be started elsewhere.","type":"host ref","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A host which the VM has some affinity for (or NULL). This is used as a hint to the start call when it decides where to run the VM. Resource constraints may cause the VM to be started elsewhere."}]}},{"name":"memory_overhead","description":"Virtualization memory overhead (bytes).","type":"int","qualifier":"RO/runtime","tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Virtualization memory overhead (bytes)."}]},"default":"0"},{"name":"memory_target","description":"Dynamically-set memory target (bytes). The value of this field indicates the current target for memory available to this VM.","type":"int","qualifier":"RO/constructor","tag":"memory","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Dynamically-set memory target (bytes). The value of this field indicates the current target for memory available to this VM."},{"transition":"deprecated","release":"midnight-ride","description":""}]},"default":"0"},{"name":"memory_static_max","description":"Statically-set (i.e. absolute) maximum (bytes). The value of this field at VM start time acts as a hard limit of the amount of memory a guest can use. New values only take effect on reboot.","type":"int","qualifier":"RO/constructor","tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Statically-set (i.e. absolute) maximum (bytes). The value of this field at VM start time acts as a hard limit of the amount of memory a guest can use. New values only take effect on reboot."}]}},{"name":"memory_dynamic_max","description":"Dynamic maximum (bytes)","type":"int","qualifier":"RO/constructor","tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Dynamic maximum (bytes)"}]}},{"name":"memory_dynamic_min","description":"Dynamic minimum (bytes)","type":"int","qualifier":"RO/constructor","tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Dynamic minimum (bytes)"}]}},{"name":"memory_static_min","description":"Statically-set (i.e. absolute) mininum (bytes). The value of this field indicates the least amount of memory this VM can boot with without crashing.","type":"int","qualifier":"RO/constructor","tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Statically-set (i.e. absolute) mininum (bytes). The value of this field indicates the least amount of memory this VM can boot with without crashing."}]}},{"name":"VCPUs_params","description":"configuration parameters for the selected VCPU policy","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"configuration parameters for the selected VCPU policy"}]}},{"name":"VCPUs_max","description":"Max number of VCPUs","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Max number of VCPUs"}]}},{"name":"VCPUs_at_startup","description":"Boot number of VCPUs","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Boot number of VCPUs"}]}},{"name":"actions_after_softreboot","description":"action to take after soft reboot","type":"enum on_softreboot_behavior","qualifier":"RW","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.1.0","description":""}]},"default":"soft_reboot"},{"name":"actions_after_shutdown","description":"action to take after the guest has shutdown itself","type":"enum on_normal_exit","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"action to take after the guest has shutdown itself"}]}},{"name":"actions_after_reboot","description":"action to take after the guest has rebooted itself","type":"enum on_normal_exit","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"action to take after the guest has rebooted itself"}]}},{"name":"actions_after_crash","description":"action to take if the guest crashes","type":"enum on_crash_behaviour","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"action to take if the guest crashes"}]}},{"name":"consoles","description":"virtual console devices","type":"console ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"virtual console devices"}]}},{"name":"VIFs","description":"virtual network interfaces","type":"VIF ref set","qualifier":"RO/runtime","tag":"networking","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"virtual network interfaces"}]}},{"name":"VBDs","description":"virtual block devices","type":"VBD ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"virtual block devices"}]}},{"name":"VUSBs","description":"vitual usb devices","type":"VUSB ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"vitual usb devices"}]}},{"name":"crash_dumps","description":"crash dumps associated with this VM","type":"crashdump ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"crash dumps associated with this VM"}]}},{"name":"VTPMs","description":"virtual TPMs","type":"VTPM ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"virtual TPMs"}]}},{"name":"PV_bootloader","description":"name of or path to bootloader","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"name of or path to bootloader"}]}},{"name":"PV_kernel","description":"path to the kernel","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"path to the kernel"}]}},{"name":"PV_ramdisk","description":"path to the initrd","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"path to the initrd"}]}},{"name":"PV_args","description":"kernel command-line arguments","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"kernel command-line arguments"}]}},{"name":"PV_bootloader_args","description":"miscellaneous arguments for the bootloader","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"miscellaneous arguments for the bootloader"}]}},{"name":"PV_legacy_args","description":"to make Zurich guests boot","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"to make Zurich guests boot"}]}},{"name":"HVM_boot_policy","description":"HVM boot policy","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"kolkata","description":"Replaced by VM.domain_type"}]}},{"name":"HVM_boot_params","description":"HVM boot params","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"HVM boot params"}]}},{"name":"HVM_shadow_multiplier","description":"multiplier applied to the amount of shadow that will be made available to the guest","type":"float","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"multiplier applied to the amount of shadow that will be made available to the guest"}]},"default":"1."},{"name":"platform","description":"platform-specific configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"platform-specific configuration"}]}},{"name":"PCI_bus","description":"PCI bus path for pass-through devices","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"PCI bus path for pass-through devices"},{"transition":"deprecated","release":"boston","description":"Field was never used"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]}},{"name":"domid","description":"domain ID (if available, -1 otherwise)","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"domain ID (if available, -1 otherwise)"}]}},{"name":"domarch","description":"Domain architecture (if available, null string otherwise)","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Domain architecture (if available, null string otherwise)"}]}},{"name":"last_boot_CPU_flags","description":"describes the CPU flags on which the VM was last booted","type":"(string -> string) map","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"describes the CPU flags on which the VM was last booted"}]},"default":"{}"},{"name":"is_control_domain","description":"true if this is a control domain (domain 0 or a driver domain)","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this is a control domain (domain 0 or a driver domain)"}]}},{"name":"metrics","description":"metrics associated with this VM","type":"VM_metrics ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"metrics associated with this VM"}]}},{"name":"guest_metrics","description":"metrics associated with the running guest","type":"VM_guest_metrics ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"metrics associated with the running guest"}]}},{"name":"last_booted_record","description":"marshalled value containing VM record at time of last boot","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Marshalled value containing VM record at time of last boot, updated dynamically to reflect the runtime state of the domain"},{"transition":"changed","release":"1.257.0","description":"Become static to allow Suspended VM creation"}]},"default":"\"\""},{"name":"recommendations","description":"An XML specification of recommended values and ranges for properties of this VM","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"An XML specification of recommended values and ranges for properties of this VM"}]}},{"name":"xenstore_data","description":"data to be inserted into the xenstore tree (/local/domain//vm-data) after the VM is created.","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"data to be inserted into the xenstore tree (/local/domain//vm-data) after the VM is created."}]},"default":"{}"},{"name":"ha_always_run","description":"if true then the system will attempt to keep the VM running as much as possible.","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"orlando","description":"if true then the system will attempt to keep the VM running as much as possible."},{"transition":"deprecated","release":"boston","description":""}]},"default":"false"},{"name":"ha_restart_priority","description":"has possible values: \"best-effort\" meaning \"try to restart this VM if possible but don't consider the Pool to be overcommitted if this is not possible\"; \"restart\" meaning \"this VM should be restarted\"; \"\" meaning \"do not try to restart this VM\"","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"has possible values: \"best-effort\" meaning \"try to restart this VM if possible but don't consider the Pool to be overcommitted if this is not possible\"; \"restart\" meaning \"this VM should be restarted\"; \"\" meaning \"do not try to restart this VM\""}]},"default":"\"\""},{"name":"is_a_snapshot","description":"true if this is a snapshot. Snapshotted VMs can never be started, they are used only for cloning other VMs","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"true if this is a snapshot. Snapshotted VMs can never be started, they are used only for cloning other VMs"}]},"default":"false"},{"name":"snapshot_of","description":"Ref pointing to the VM this snapshot is of.","type":"VM ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Ref pointing to the VM this snapshot is of."}]},"default":"Null"},{"name":"snapshots","description":"List pointing to all the VM snapshots.","type":"VM ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"List pointing to all the VM snapshots."}]}},{"name":"snapshot_time","description":"Date/time when this snapshot was created.","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Date/time when this snapshot was created."}]},"default":"19700101T00:00:00Z"},{"name":"transportable_snapshot_id","description":"Transportable ID of the snapshot VM","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Transportable ID of the snapshot VM"}]},"default":"\"\""},{"name":"blobs","description":"Binary blobs associated with this VM","type":"(string -> blob ref) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Binary blobs associated with this VM"}]},"default":"{}"},{"name":"tags","description":"user-specified tags for categorization purposes","type":"string set","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"default":"{}"},{"name":"blocked_operations","description":"List of operations which have been explicitly blocked and an error code","type":"(enum vm_operations -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"List of operations which have been explicitly blocked and an error code"}]},"default":"{}"},{"name":"snapshot_info","description":"Human-readable information concerning this snapshot","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Human-readable information concerning this snapshot"}]},"default":"{}"},{"name":"snapshot_metadata","description":"Encoded information about the VM's metadata this is a snapshot of","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Encoded information about the VM's metadata this is a snapshot of"}]},"default":"\"\""},{"name":"parent","description":"Ref pointing to the parent of this VM","type":"VM ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Ref pointing to the parent of this VM"}]},"default":"Null"},{"name":"children","description":"List pointing to all the children of this VM","type":"VM ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"List pointing to all the children of this VM"}]}},{"name":"bios_strings","description":"BIOS strings","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"BIOS strings"}]},"default":"{}"},{"name":"protection_policy","description":"Ref pointing to a protection policy for this VM","type":"VMPP ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"OpaqueRef:NULL"},{"name":"is_snapshot_from_vmpp","description":"true if this snapshot was created by the protection policy","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"false"},{"name":"snapshot_schedule","description":"Ref pointing to a snapshot schedule for this VM","type":"VMSS ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"Ref pointing to a snapshot schedule for this VM"}]},"default":"OpaqueRef:NULL"},{"name":"is_vmss_snapshot","description":"true if this snapshot was created by the snapshot schedule","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"true if this snapshot was created by the snapshot schedule"}]},"default":"false"},{"name":"appliance","description":"the appliance to which this VM belongs","type":"VM_appliance ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the appliance to which this VM belongs"}]},"default":"OpaqueRef:NULL"},{"name":"start_delay","description":"The delay to wait before proceeding to the next order in the startup sequence (seconds)","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The delay to wait before proceeding to the next order in the startup sequence (seconds)"}]},"default":"0"},{"name":"shutdown_delay","description":"The delay to wait before proceeding to the next order in the shutdown sequence (seconds)","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The delay to wait before proceeding to the next order in the shutdown sequence (seconds)"}]},"default":"0"},{"name":"order","description":"The point in the startup or shutdown sequence at which this VM will be started","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The point in the startup or shutdown sequence at which this VM will be started"}]},"default":"0"},{"name":"VGPUs","description":"Virtual GPUs","type":"VGPU ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]}},{"name":"attached_PCIs","description":"Currently passed-through PCI devices","type":"PCI ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]}},{"name":"suspend_SR","description":"The SR on which a suspend image is stored","type":"SR ref","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The SR on which a suspend image is stored"}]},"default":"OpaqueRef:NULL"},{"name":"version","description":"The number of times this VM has been recovered","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The number of times this VM has been recovered"}]},"default":"0"},{"name":"generation_id","description":"Generation ID of the VM","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"clearwater","description":"Generation ID of the VM"}]},"default":"\"0:0\""},{"name":"hardware_platform_version","description":"The host virtual hardware platform version the VM can run on","type":"int","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":"The host virtual hardware platform version the VM can run on"}]},"default":"0"},{"name":"has_vendor_device","description":"When an HVM guest starts, this controls the presence of the emulated C000 PCI device which triggers Windows Update to fetch or update PV drivers.","type":"bool","qualifier":"RO/constructor","tag":"windows-vm","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"default":"false"},{"name":"requires_reboot","description":"Indicates whether a VM requires a reboot in order to update its configuration, e.g. its memory allocation.","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"false"},{"name":"reference_label","description":"Textual reference to the template used to create a VM. This can be used by clients in need of an immutable reference to the template since the latter's uuid and name_label may change, for example, after a package installation or upgrade.","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Textual reference to the template used to create a VM. This can be used by clients in need of an immutable reference to the template since the latter's uuid and name_label may change, for example, after a package installation or upgrade."}]},"default":"\"\""},{"name":"domain_type","description":"The type of domain that will be created when the VM is started","type":"enum domain_type","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"jura","description":"Internal-only field; not yet in the public API"},{"transition":"published","release":"kolkata","description":"The field is now valid"}]},"default":"unspecified"},{"name":"NVRAM","description":"initial value for guest NVRAM (containing UEFI variables, etc). Cannot be changed while the VM is running","type":"(string -> string) map","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"naples","description":""}]},"default":"{}"},{"name":"pending_guidances","description":"The set of pending mandatory guidances after applying updates, which must be applied, as otherwise there may be e.g. VM failures","type":"enum update_guidances set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.303.0","description":"The set of pending mandatory guidances after applying updates, which must be applied, as otherwise there may be e.g. VM failures"}]},"default":"{}"},{"name":"pending_guidances_recommended","description":"The set of pending recommended guidances after applying updates, which most users should follow to make the updates effective, but if not followed, will not cause a failure","type":"enum update_guidances set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.10.0","description":""}]},"default":"{}"},{"name":"pending_guidances_full","description":"The set of pending full guidances after applying updates, which a user should follow to make some updates, e.g. specific hardware drivers or CPU features, fully effective, but the 'average user' doesn't need to","type":"enum update_guidances set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.10.0","description":""}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of VM references to VM records for all VMs known to the system.","result":["(VM ref -> VM record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"possibility to create a VM in suspended mode with a suspend_VDI set"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VMs known to the system.","result":["VM ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"possibility to create a VM in suspended mode with a suspend_VDI set"}]},"implicit":true},{"name":"restart_device_models","description":"Restart device models of the VM","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"OTHER_OPERATION_IN_PROGRESS","doc":"Another operation involving the object is currently in progress"},{"name":"VM_IS_TEMPLATE","doc":"The operation attempted is not valid for a template VM"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."}],"roles":["pool-admin","pool-operator","vm-power-admin","client-cert"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.30.0","description":""}]},"implicit":false},{"name":"set_HVM_boot_policy","description":"Set the VM.HVM_boot_policy field of the given VM, which will take effect when it is next started","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"string","name":"value","doc":"The new HVM boot policy"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"kolkata","description":"Replaced by VM.set_domain_type"}]},"implicit":false},{"name":"set_domain_type","description":"Set the VM.domain_type field of the given VM, which will take effect when it is next started","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"enum domain_type","name":"value","doc":"The new domain type"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":false},{"name":"set_actions_after_crash","description":"Sets the actions_after_crash parameter","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM to set"},{"type":"enum on_crash_behaviour","name":"value","doc":"The new value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Sets the actions_after_crash parameter"}]},"implicit":false},{"name":"import","description":"Import an XVA from a URI","result":["VM ref set","Imported VM reference"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"url","doc":"The URL of the XVA file"},{"type":"SR ref","name":"sr","doc":"The destination SR for the disks"},{"type":"bool","name":"full_restore","doc":"Perform a full restore"},{"type":"bool","name":"force","doc":"Force the import"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Import an XVA from a URI"}]},"implicit":false},{"name":"set_has_vendor_device","description":"Controls whether, when the VM starts in HVM mode, its virtual hardware will include the emulated PCI device for which drivers may be available through Windows Update. Usually this should never be changed on a VM on which Windows has been installed: changing it on such a VM is likely to lead to a crash on next start.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM on which to set this flag"},{"type":"bool","name":"value","doc":"True to provide the vendor PCI device."}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"windows-vm","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Controls whether, when the VM starts in HVM mode, its virtual hardware will include the emulated PCI device for which drivers may be available through Windows Update. Usually this should never be changed on a VM on which Windows has been installed: changing it on such a VM is likely to lead to a crash on next start."}]},"implicit":false},{"name":"call_plugin","description":"Call an API plugin on this vm","result":["string","Result from the plugin"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The vm"},{"type":"string","name":"plugin","doc":"The name of the plugin"},{"type":"string","name":"fn","doc":"The name of the function within the plugin"},{"type":"(string -> string) map","name":"args","doc":"Arguments for the function"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":"Call an API plugin on this vm"}]},"implicit":false},{"name":"query_services","description":"Query the system services advertised by this VM and register them. This can only be applied to a system domain.","result":["(string -> string) map","map of service type to name"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Query the system services advertised by this VM and register them. This can only be applied to a system domain."}]},"implicit":false},{"name":"set_appliance","description":"Assign this VM to an appliance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM to assign to an appliance."},{"type":"VM_appliance ref","name":"value","doc":"The appliance to which this VM should be assigned."}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Assign this VM to an appliance."}]},"implicit":false},{"name":"import_convert","description":"Import using a conversion service.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"type","doc":"Type of the conversion"},{"type":"string","name":"username","doc":"Admin username on the host"},{"type":"string","name":"password","doc":"Password on the host"},{"type":"SR ref","name":"sr","doc":"The destination SR"},{"type":"(string -> string) map","name":"remote_config","doc":"Remote configuration options"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Import using a conversion service."}]},"implicit":false},{"name":"recover","description":"Recover the VM","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM to recover"},{"type":"session ref","name":"session_to","doc":"The session to which the VM is to be recovered."},{"type":"bool","name":"force","doc":"Whether the VM should replace newer versions of itself."}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Recover the VM"}]},"implicit":false},{"name":"get_SRs_required_for_recovery","description":"List all the SR's that are required for the VM to be recovered","result":["SR ref set","refs for SRs required to recover the VM"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM for which the SRs have to be recovered"},{"type":"session ref","name":"session_to","doc":"The session to which the SRs of the VM have to be recovered."}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"creedence","description":"List all the SR's that are required for the VM to be recovered"}]},"implicit":false},{"name":"assert_can_be_recovered","description":"Assert whether all SRs required to recover this VM are available.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM to recover"},{"type":"session ref","name":"session_to","doc":"The session to which the VM is to be recovered."}],"errors":[{"name":"VM_IS_PART_OF_AN_APPLIANCE","doc":"This operation is not allowed as the VM is part of an appliance."},{"name":"VM_REQUIRES_SR","doc":"You attempted to run a VM on a host which doesn't have access to an SR needed by the VM. The VM has at least one VBD attached to a VDI in the SR."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Assert whether all SRs required to recover this VM are available."}]},"implicit":false},{"name":"set_suspend_VDI","description":"Set this VM's suspend VDI, which must be indentical to its current one","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"VDI ref","name":"value","doc":"The suspend VDI uuid"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Set this VM's suspend VDI, which must be indentical to its current one"}]},"implicit":false},{"name":"set_order","description":"Set this VM's boot order","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"int","name":"value","doc":"This VM's boot order"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Set this VM's boot order"}]},"implicit":false},{"name":"set_shutdown_delay","description":"Set this VM's shutdown delay in seconds","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"int","name":"value","doc":"This VM's shutdown delay in seconds"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Set this VM's shutdown delay in seconds"}]},"implicit":false},{"name":"set_start_delay","description":"Set this VM's start delay in seconds","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"int","name":"value","doc":"This VM's start delay in seconds"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Set this VM's start delay in seconds"}]},"implicit":false},{"name":"set_snapshot_schedule","description":"Set the value of the snapshot schedule field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"VMSS ref","name":"value","doc":"The value"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"Set the value of the snapshot schedule field"}]},"implicit":false},{"name":"set_protection_policy","description":"Set the value of the protection_policy field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"VMPP ref","name":"value","doc":"The value"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"copy_bios_strings","description":"Copy the BIOS strings from the given host to this VM","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to modify"},{"type":"host ref","name":"host","doc":"The host to copy the BIOS strings from"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Copy the BIOS strings from the given host to this VM"}]},"implicit":false},{"name":"set_bios_strings","description":"Set custom BIOS strings to this VM. VM will be given a default set of BIOS strings, only some of which can be overridden by the supplied values. Allowed keys are: 'bios-vendor', 'bios-version', 'system-manufacturer', 'system-product-name', 'system-version', 'system-serial-number', 'enclosure-asset-tag', 'baseboard-manufacturer', 'baseboard-product-name', 'baseboard-version', 'baseboard-serial-number', 'baseboard-asset-tag', 'baseboard-location-in-chassis', 'enclosure-asset-tag'","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM to modify"},{"type":"(string -> string) map","name":"value","doc":"The custom BIOS strings as a list of key-value pairs"}],"errors":[{"name":"VM_BIOS_STRINGS_ALREADY_SET","doc":"The BIOS strings for this VM have already been set and cannot be changed."},{"name":"INVALID_VALUE","doc":"The value given is invalid"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"Set custom BIOS strings to this VM. VM will be given a default set of BIOS strings, only some of which can be overridden by the supplied values. Allowed keys are: 'bios-vendor', 'bios-version', 'system-manufacturer', 'system-product-name', 'system-version', 'system-serial-number', 'enclosure-asset-tag', 'baseboard-manufacturer', 'baseboard-product-name', 'baseboard-version', 'baseboard-serial-number', 'baseboard-asset-tag', 'baseboard-location-in-chassis', 'enclosure-asset-tag'"}]},"implicit":false},{"name":"retrieve_wlb_recommendations","description":"Returns mapping of hosts to ratings, indicating the suitability of starting the VM at that location according to wlb. Rating is replaced with an error if the VM cannot boot there.","result":["(host ref -> string set) map","The potential hosts and their corresponding recommendations or errors"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Returns mapping of hosts to ratings, indicating the suitability of starting the VM at that location according to wlb. Rating is replaced with an error if the VM cannot boot there."}]},"implicit":false},{"name":"assert_agile","description":"Returns an error if the VM is not considered agile e.g. because it is tied to a resource local to a host","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Returns an error if the VM is not considered agile e.g. because it is tied to a resource local to a host"}]},"implicit":false},{"name":"create_new_blob","description":"Create a placeholder for a named binary blob of data that is associated with this VM","result":["blob ref","The reference of the blob, needed for populating its data"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM"},{"type":"string","name":"name","doc":"The name associated with the blob"},{"type":"string","name":"mime_type","doc":"The mime type for the data. Empty string translates to application/octet-stream"},{"type":"bool","name":"public","doc":"True if the blob should be publicly available"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Create a placeholder for a named binary blob of data that is associated with this VM"}]},"implicit":false},{"name":"assert_can_boot_here","description":"Returns an error if the VM could not boot on this host for some reason","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"host ref","name":"host","doc":"The host"}],"errors":[{"name":"HOST_NOT_ENOUGH_FREE_MEMORY","doc":"Not enough server memory is available to perform this operation."},{"name":"HOST_NOT_ENOUGH_PCPUS","doc":"The host does not have enough pCPUs to run the VM. It needs at least as many as the VM has vCPUs."},{"name":"NETWORK_SRIOV_INSUFFICIENT_CAPACITY","doc":"There is insufficient capacity for VF reservation"},{"name":"HOST_NOT_LIVE","doc":"This operation cannot be completed as the server is not live."},{"name":"HOST_DISABLED","doc":"The specified server is disabled."},{"name":"HOST_CANNOT_ATTACH_NETWORK","doc":"Server cannot attach network (in the case of NIC bonding, this may be because attaching the network on this server would require other networks - that are currently active - to be taken down)."},{"name":"VM_HVM_REQUIRED","doc":"HVM is required for this operation"},{"name":"VM_REQUIRES_GPU","doc":"You attempted to run a VM on a host which doesn't have a pGPU available in the GPU group needed by the VM. The VM has a vGPU attached to this GPU group."},{"name":"VM_REQUIRES_IOMMU","doc":"You attempted to run a VM on a host which doesn't have I/O virtualization (IOMMU/VT-d) enabled, which is needed by the VM."},{"name":"VM_REQUIRES_NETWORK","doc":"You attempted to run a VM on a host which doesn't have a PIF on a Network needed by the VM. The VM has at least one VIF attached to the Network."},{"name":"VM_REQUIRES_SR","doc":"You attempted to run a VM on a host which doesn't have access to an SR needed by the VM. The VM has at least one VBD attached to a VDI in the SR."},{"name":"VM_REQUIRES_VGPU","doc":"You attempted to run a VM on a host on which the vGPU required by the VM cannot be allocated on any pGPUs in the GPU_group needed by the VM."},{"name":"VM_HOST_INCOMPATIBLE_VERSION","doc":"This VM operation cannot be performed on an older-versioned host during an upgrade."},{"name":"VM_HOST_INCOMPATIBLE_VIRTUAL_HARDWARE_PLATFORM_VERSION","doc":"You attempted to run a VM on a host that cannot provide the VM's required Virtual Hardware Platform version."},{"name":"INVALID_VALUE","doc":"The value given is invalid"},{"name":"MEMORY_CONSTRAINT_VIOLATION","doc":"The dynamic memory range does not satisfy the following constraint."},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VALUE_NOT_SUPPORTED","doc":"You attempted to set a value that is not supported by this implementation. The fully-qualified field name and the value that you tried to set are returned. Also returned is a developer-only diagnostic reason."},{"name":"VM_INCOMPATIBLE_WITH_THIS_HOST","doc":"The VM is incompatible with the CPU features of this host."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"quebec","description":"Does additional compatibility checks when VM powerstate is not halted (e.g. CPUID). Use this before calling VM.resume or VM.pool_migrate."}]},"implicit":false},{"name":"get_possible_hosts","description":"Return the list of hosts on which this VM may run.","result":["host ref set","The possible hosts"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Return the list of hosts on which this VM may run."}]},"implicit":false},{"name":"get_allowed_VIF_devices","description":"Returns a list of the allowed values that a VIF device field can take","result":["string set","The allowed values"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to query"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Returns a list of the allowed values that a VIF device field can take"}]},"implicit":false},{"name":"get_allowed_VBD_devices","description":"Returns a list of the allowed values that a VBD device field can take","result":["string set","The allowed values"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to query"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Returns a list of the allowed values that a VBD device field can take"}]},"implicit":false},{"name":"update_allowed_operations","description":"Recomputes the list of acceptable operations","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Recomputes the list of acceptable operations"}]},"implicit":false},{"name":"assert_operation_valid","description":"Check to see whether this operation is acceptable in the current state of the system, raising an error if the operation is invalid for some reason","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"enum vm_operations","name":"op","doc":"proposed operation"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Check to see whether this operation is acceptable in the current state of the system, raising an error if the operation is invalid for some reason"}]},"implicit":false},{"name":"forget_data_source_archives","description":"Forget the recorded statistics related to the specified data source","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"string","name":"data_source","doc":"The data source whose archives are to be forgotten"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Forget the recorded statistics related to the specified data source"}]},"implicit":false},{"name":"query_data_source","description":"Query the latest value of the specified data source","result":["float","The latest value, averaged over the last 5 seconds"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"string","name":"data_source","doc":"The data source to query"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Query the latest value of the specified data source"}]},"implicit":false},{"name":"record_data_source","description":"Start recording the specified data source","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"string","name":"data_source","doc":"The data source to record"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Start recording the specified data source"}]},"implicit":false},{"name":"get_data_sources","description":"","result":["data_source record set","A set of data sources"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM to interrogate"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":""}]},"implicit":false},{"name":"get_boot_record","description":"Returns a record describing the VM's dynamic state, initialised when the VM boots and updated to reflect runtime configuration changes e.g. CPU hotplug","result":["VM record","A record describing the VM"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM whose boot-time state to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"inverness","description":"Use the current VM record/fields instead"}]},"implicit":false},{"name":"assert_can_migrate","description":"Assert whether a VM can be migrated to the specified destination.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM"},{"type":"(string -> string) map","name":"dest","doc":"The result of a VM.migrate_receive call."},{"type":"bool","name":"live","doc":"Live migration"},{"type":"(VDI ref -> SR ref) map","name":"vdi_map","doc":"Map of source VDI to destination SR"},{"type":"(VIF ref -> network ref) map","name":"vif_map","doc":"Map of source VIF to destination network"},{"type":"(string -> string) map","name":"options","doc":"Other parameters"},{"type":"(VGPU ref -> GPU_group ref) map","name":"vgpu_map","doc":"Map of source vGPU to destination GPU group"}],"errors":[{"name":"LICENCE_RESTRICTION","doc":"This operation is not allowed because your license lacks a needed feature. Please contact your support representative."}],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Assert whether a VM can be migrated to the specified destination."}]},"implicit":false},{"name":"migrate_send","description":"Migrate the VM to another host. This can only be called when the specified VM is in the Running state.","result":["VM ref","The reference of the newly created VM in the destination pool"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM"},{"type":"(string -> string) map","name":"dest","doc":"The result of a Host.migrate_receive call."},{"type":"bool","name":"live","doc":"Live migration"},{"type":"(VDI ref -> SR ref) map","name":"vdi_map","doc":"Map of source VDI to destination SR"},{"type":"(VIF ref -> network ref) map","name":"vif_map","doc":"Map of source VIF to destination network"},{"type":"(string -> string) map","name":"options","doc":"Other parameters"},{"type":"(VGPU ref -> GPU_group ref) map","name":"vgpu_map","doc":"Map of source vGPU to destination GPU group"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"LICENCE_RESTRICTION","doc":"This operation is not allowed because your license lacks a needed feature. Please contact your support representative."}],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Migrate the VM to another host. This can only be called when the specified VM is in the Running state."}]},"implicit":false},{"name":"maximise_memory","description":"Returns the maximum amount of guest memory which will fit, together with overheads, in the supplied amount of physical memory. If 'exact' is true then an exact calculation is performed using the VM's current settings. If 'exact' is false then a more conservative approximation is used","result":["int","The maximum possible static-max"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"int","name":"total","doc":"Total amount of physical RAM to fit within"},{"type":"bool","name":"approximate","doc":"If false the limit is calculated with the guest's current exact configuration. Otherwise a more approximate calculation is performed"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Returns the maximum amount of guest memory which will fit, together with overheads, in the supplied amount of physical memory. If 'exact' is true then an exact calculation is performed using the VM's current settings. If 'exact' is false then a more conservative approximation is used"}]},"implicit":false},{"name":"send_trigger","description":"Send the named trigger to this VM. This can only be called when the specified VM is in the Running state.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM"},{"type":"string","name":"trigger","doc":"The trigger to send"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."}],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Send the named trigger to this VM. This can only be called when the specified VM is in the Running state."}]},"implicit":false},{"name":"send_sysrq","description":"Send the given key as a sysrq to this VM. The key is specified as a single character (a String of length 1). This can only be called when the specified VM is in the Running state.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM"},{"type":"string","name":"key","doc":"The key to send"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."}],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Send the given key as a sysrq to this VM. The key is specified as a single character (a String of length 1). This can only be called when the specified VM is in the Running state."}]},"implicit":false},{"name":"set_VCPUs_at_startup","description":"Set the number of startup VCPUs for a halted VM","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"int","name":"value","doc":"The new maximum number of VCPUs"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Set the number of startup VCPUs for a halted VM"}]},"implicit":false},{"name":"set_VCPUs_max","description":"Set the maximum number of VCPUs for a halted VM","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"int","name":"value","doc":"The new maximum number of VCPUs"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Set the maximum number of VCPUs for a halted VM"}]},"implicit":false},{"name":"set_shadow_multiplier_live","description":"Set the shadow memory multiplier on a running VM","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"float","name":"multiplier","doc":"The new shadow memory multiplier to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Set the shadow memory multiplier on a running VM"}]},"implicit":false},{"name":"set_HVM_shadow_multiplier","description":"Set the shadow memory multiplier on a halted VM","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"float","name":"value","doc":"The new shadow memory multiplier to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Set the shadow memory multiplier on a halted VM"}]},"implicit":false},{"name":"get_cooperative","description":"Return true if the VM is currently 'co-operative' i.e. is expected to reach a balloon target and actually has done","result":["bool","true if the VM is currently 'co-operative'; false otherwise"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"memory","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Return true if the VM is currently 'co-operative' i.e. is expected to reach a balloon target and actually has done"},{"transition":"deprecated","release":"tampa","description":""}]},"implicit":false},{"name":"wait_memory_target_live","description":"Wait for a running VM to reach its current memory target","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"memory","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"orlando","description":"Wait for a running VM to reach its current memory target"},{"transition":"deprecated","release":"midnight-ride","description":""}]},"implicit":false},{"name":"set_memory_target_live","description":"Set the memory target for a running VM","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"int","name":"target","doc":"The target in bytes"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"memory","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Set the memory target for a running VM"},{"transition":"deprecated","release":"midnight-ride","description":""}]},"implicit":false},{"name":"set_memory","description":"Set the memory allocation of this VM. Sets all of memory_static_max, memory_dynamic_min, and memory_dynamic_max to the given value, and leaves memory_static_min untouched.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"int","name":"value","doc":"The new memory allocation (bytes)."}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Set the memory allocation of this VM. Sets all of memory_static_max, memory_dynamic_min, and memory_dynamic_max to the given value, and leaves memory_static_min untouched."}]},"implicit":false},{"name":"set_memory_limits","description":"Set the memory limits of this VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"int","name":"static_min","doc":"The new value of memory_static_min."},{"type":"int","name":"static_max","doc":"The new value of memory_static_max."},{"type":"int","name":"dynamic_min","doc":"The new value of memory_dynamic_min."},{"type":"int","name":"dynamic_max","doc":"The new value of memory_dynamic_max."}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Set the memory limits of this VM."}]},"implicit":false},{"name":"set_memory_static_range","description":"Set the static (ie boot-time) range of virtual memory that the VM is allowed to use.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"int","name":"min","doc":"The new minimum value"},{"type":"int","name":"max","doc":"The new maximum value"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Set the static (ie boot-time) range of virtual memory that the VM is allowed to use."}]},"implicit":false},{"name":"set_memory_static_min","description":"Set the value of the memory_static_min field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM to modify"},{"type":"int","name":"value","doc":"The new value of memory_static_min"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Set the value of the memory_static_min field"}]},"implicit":false},{"name":"set_memory_static_max","description":"Set the value of the memory_static_max field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM to modify"},{"type":"int","name":"value","doc":"The new value of memory_static_max"}],"errors":[{"name":"HA_OPERATION_WOULD_BREAK_FAILOVER_PLAN","doc":"This operation cannot be performed because it would invalidate VM failover planning such that the system would be unable to guarantee to restart protected VMs after a Host failure."}],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Set the value of the memory_static_max field"}]},"implicit":false},{"name":"set_memory_dynamic_range","description":"Set the minimum and maximum amounts of physical memory the VM is allowed to use.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"int","name":"min","doc":"The new minimum value"},{"type":"int","name":"max","doc":"The new maximum value"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Set the minimum and maximum amounts of physical memory the VM is allowed to use."}]},"implicit":false},{"name":"set_memory_dynamic_min","description":"Set the value of the memory_dynamic_min field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM to modify"},{"type":"int","name":"value","doc":"The new value of memory_dynamic_min"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Set the value of the memory_dynamic_min field"}]},"implicit":false},{"name":"set_memory_dynamic_max","description":"Set the value of the memory_dynamic_max field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM to modify"},{"type":"int","name":"value","doc":"The new value of memory_dynamic_max"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Set the value of the memory_dynamic_max field"}]},"implicit":false},{"name":"compute_memory_overhead","description":"Computes the virtualization memory overhead of a VM.","result":["int","the virtualization memory overhead of the VM."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM for which to compute the memory overhead"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Computes the virtualization memory overhead of a VM."}]},"implicit":false},{"name":"set_ha_always_run","description":"Set the value of the ha_always_run","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"bool","name":"value","doc":"The value"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"orlando","description":"Set the value of the ha_always_run"},{"transition":"deprecated","release":"boston","description":""}]},"implicit":false},{"name":"set_ha_restart_priority","description":"Set the value of the ha_restart_priority field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"string","name":"value","doc":"The value"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Set the value of the ha_restart_priority field"}]},"implicit":false},{"name":"remove_from_NVRAM","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"string","name":"key","doc":"The key"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"naples","description":""}]},"implicit":false},{"name":"add_to_NVRAM","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"string","name":"key","doc":"The key"},{"type":"string","name":"value","doc":"The value"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"naples","description":""}]},"implicit":false},{"name":"set_NVRAM","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"(string -> string) map","name":"value","doc":"The value"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"naples","description":""}]},"implicit":false},{"name":"add_to_VCPUs_params_live","description":"Add the given key-value pair to VM.VCPUs_params, and apply that value on the running VM","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"string","name":"key","doc":"The key"},{"type":"string","name":"value","doc":"The value"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Add the given key-value pair to VM.VCPUs_params, and apply that value on the running VM"}]},"implicit":false},{"name":"set_VCPUs_number_live","description":"Set the number of VCPUs for a running VM","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"The VM"},{"type":"int","name":"nvcpu","doc":"The number of VCPUs"}],"errors":[{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"LICENCE_RESTRICTION","doc":"This operation is not allowed because your license lacks a needed feature. Please contact your support representative."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Set the number of VCPUs for a running VM"},{"transition":"changed","release":"ely","description":"Unless the feature is explicitly enabled for every host in the pool, this fails with Api_errors.license_restriction."}]},"implicit":false},{"name":"pool_migrate","description":"Migrate a VM to another Host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to migrate"},{"type":"host ref","name":"host","doc":"The target host"},{"type":"(string -> string) map","name":"options","doc":"Extra configuration operations: force, live, copy, compress. Each is a boolean option, taking 'true' or 'false' as a value. Option 'compress' controls the use of stream compression during migration."}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"OTHER_OPERATION_IN_PROGRESS","doc":"Another operation involving the object is currently in progress"},{"name":"VM_IS_TEMPLATE","doc":"The operation attempted is not valid for a template VM"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."}],"roles":["pool-admin","pool-operator","vm-power-admin","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Migrate a VM to another Host."}]},"implicit":false},{"name":"resume_on","description":"Awaken the specified VM and resume it on a particular Host. This can only be called when the specified VM is in the Suspended state.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to resume"},{"type":"host ref","name":"host","doc":"The Host on which to resume the VM"},{"type":"bool","name":"start_paused","doc":"Resume VM in paused state if set to true."},{"type":"bool","name":"force","doc":"Attempt to force the VM to resume. If this flag is false then the VM may fail pre-resume safety checks (e.g. if the CPU the VM was running on looks substantially different to the current one)"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VM_IS_TEMPLATE","doc":"The operation attempted is not valid for a template VM"}],"roles":["pool-admin","pool-operator","vm-power-admin","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Awaken the specified VM and resume it on a particular Host. This can only be called when the specified VM is in the Suspended state."}]},"implicit":false},{"name":"resume","description":"Awaken the specified VM and resume it. This can only be called when the specified VM is in the Suspended state.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to resume"},{"type":"bool","name":"start_paused","doc":"Resume VM in paused state if set to true."},{"type":"bool","name":"force","doc":"Attempt to force the VM to resume. If this flag is false then the VM may fail pre-resume safety checks (e.g. if the CPU the VM was running on looks substantially different to the current one)"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VM_IS_TEMPLATE","doc":"The operation attempted is not valid for a template VM"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Awaken the specified VM and resume it. This can only be called when the specified VM is in the Suspended state."}]},"implicit":false},{"name":"suspend","description":"Suspend the specified VM to disk. This can only be called when the specified VM is in the Running state.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to suspend"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"OTHER_OPERATION_IN_PROGRESS","doc":"Another operation involving the object is currently in progress"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VM_IS_TEMPLATE","doc":"The operation attempted is not valid for a template VM"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Suspend the specified VM to disk. This can only be called when the specified VM is in the Running state."}]},"implicit":false},{"name":"hard_reboot","description":"Stop executing the specified VM without attempting a clean shutdown and immediately restart the VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to reboot"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"OTHER_OPERATION_IN_PROGRESS","doc":"Another operation involving the object is currently in progress"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VM_IS_TEMPLATE","doc":"The operation attempted is not valid for a template VM"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Stop executing the specified VM without attempting a clean shutdown and immediately restart the VM."}]},"implicit":false},{"name":"power_state_reset","description":"Reset the power-state of the VM to halted in the database only. (Used to recover from slave failures in pooling scenarios by resetting the power-states of VMs running on dead slaves to halted.) This is a potentially dangerous operation; use with care.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to reset"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Reset the power-state of the VM to halted in the database only. (Used to recover from slave failures in pooling scenarios by resetting the power-states of VMs running on dead slaves to halted.) This is a potentially dangerous operation; use with care."}]},"implicit":false},{"name":"hard_shutdown","description":"Stop executing the specified VM without attempting a clean shutdown.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to destroy"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"OTHER_OPERATION_IN_PROGRESS","doc":"Another operation involving the object is currently in progress"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VM_IS_TEMPLATE","doc":"The operation attempted is not valid for a template VM"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Stop executing the specified VM without attempting a clean shutdown."}]},"implicit":false},{"name":"clean_reboot","description":"Attempt to cleanly shutdown the specified VM (Note: this may not be supported---e.g. if a guest agent is not installed). This can only be called when the specified VM is in the Running state.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to shutdown"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"OTHER_OPERATION_IN_PROGRESS","doc":"Another operation involving the object is currently in progress"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VM_IS_TEMPLATE","doc":"The operation attempted is not valid for a template VM"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Attempt to cleanly shutdown the specified VM (Note: this may not be supported---e.g. if a guest agent is not installed). This can only be called when the specified VM is in the Running state."}]},"implicit":false},{"name":"shutdown","description":"Attempts to first clean shutdown a VM and if it should fail then perform a hard shutdown on it.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to shutdown"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"OTHER_OPERATION_IN_PROGRESS","doc":"Another operation involving the object is currently in progress"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VM_IS_TEMPLATE","doc":"The operation attempted is not valid for a template VM"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"clearwater","description":"Attempts to first clean shutdown a VM and if it should fail then perform a hard shutdown on it."}]},"implicit":false},{"name":"clean_shutdown","description":"Attempt to cleanly shutdown the specified VM. (Note: this may not be supported---e.g. if a guest agent is not installed). This can only be called when the specified VM is in the Running state.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to shutdown"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"OTHER_OPERATION_IN_PROGRESS","doc":"Another operation involving the object is currently in progress"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VM_IS_TEMPLATE","doc":"The operation attempted is not valid for a template VM"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Attempt to cleanly shutdown the specified VM. (Note: this may not be supported---e.g. if a guest agent is not installed). This can only be called when the specified VM is in the Running state."}]},"implicit":false},{"name":"unpause","description":"Resume the specified VM. This can only be called when the specified VM is in the Paused state.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to unpause"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VM_IS_TEMPLATE","doc":"The operation attempted is not valid for a template VM"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Resume the specified VM. This can only be called when the specified VM is in the Paused state."}]},"implicit":false},{"name":"pause","description":"Pause the specified VM. This can only be called when the specified VM is in the Running state.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to pause"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"OTHER_OPERATION_IN_PROGRESS","doc":"Another operation involving the object is currently in progress"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VM_IS_TEMPLATE","doc":"The operation attempted is not valid for a template VM"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Pause the specified VM. This can only be called when the specified VM is in the Running state."}]},"implicit":false},{"name":"start_on","description":"Start the specified VM on a particular host. This function can only be called with the VM is in the Halted State.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to start"},{"type":"host ref","name":"host","doc":"The Host on which to start the VM"},{"type":"bool","name":"start_paused","doc":"Instantiate VM in paused state if set to true."},{"type":"bool","name":"force","doc":"Attempt to force the VM to start. If this flag is false then the VM may fail pre-boot safety checks (e.g. if the CPU the VM last booted on looks substantially different to the current one)"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"VM_IS_TEMPLATE","doc":"The operation attempted is not valid for a template VM"},{"name":"OTHER_OPERATION_IN_PROGRESS","doc":"Another operation involving the object is currently in progress"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"BOOTLOADER_FAILED","doc":"The bootloader returned an error"},{"name":"UNKNOWN_BOOTLOADER","doc":"The requested bootloader is unknown"}],"roles":["pool-admin","pool-operator","vm-power-admin","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Start the specified VM on a particular host. This function can only be called with the VM is in the Halted State."}]},"implicit":false},{"name":"start","description":"Start the specified VM. This function can only be called with the VM is in the Halted State.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to start"},{"type":"bool","name":"start_paused","doc":"Instantiate VM in paused state if set to true."},{"type":"bool","name":"force","doc":"Attempt to force the VM to start. If this flag is false then the VM may fail pre-boot safety checks (e.g. if the CPU the VM last booted on looks substantially different to the current one)"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"VM_HVM_REQUIRED","doc":"HVM is required for this operation"},{"name":"VM_IS_TEMPLATE","doc":"The operation attempted is not valid for a template VM"},{"name":"OTHER_OPERATION_IN_PROGRESS","doc":"Another operation involving the object is currently in progress"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"BOOTLOADER_FAILED","doc":"The bootloader returned an error"},{"name":"UNKNOWN_BOOTLOADER","doc":"The requested bootloader is unknown"},{"name":"NO_HOSTS_AVAILABLE","doc":"There were no servers available to complete the specified operation."},{"name":"LICENCE_RESTRICTION","doc":"This operation is not allowed because your license lacks a needed feature. Please contact your support representative."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Start the specified VM. This function can only be called with the VM is in the Halted State."}]},"implicit":false},{"name":"provision","description":"Inspects the disk configuration contained within the VM's other_config, creates VDIs and VBDs and then executes any applicable post-install script.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to be provisioned"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"SR_FULL","doc":"The SR is full. Requested new size exceeds the maximum size"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"LICENCE_RESTRICTION","doc":"This operation is not allowed because your license lacks a needed feature. Please contact your support representative."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Inspects the disk configuration contained within the VM's other_config, creates VDIs and VBDs and then executes any applicable post-install script."}]},"implicit":false},{"name":"checkpoint","description":"Checkpoints the specified VM, making a new VM. Checkpoint automatically exploits the capabilities of the underlying storage repository in which the VM's disk images are stored (e.g. Copy on Write) and saves the memory image as well.","result":["VM ref","The reference of the newly created VM."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to be checkpointed"},{"type":"string","name":"new_name","doc":"The name of the checkpointed VM"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"SR_FULL","doc":"The SR is full. Requested new size exceeds the maximum size"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VM_CHECKPOINT_SUSPEND_FAILED","doc":"An error occured while saving the memory image of the specified virtual machine"},{"name":"VM_CHECKPOINT_RESUME_FAILED","doc":"An error occured while restoring the memory image of the specified virtual machine"}],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Checkpoints the specified VM, making a new VM. Checkpoint automatically exploits the capabilities of the underlying storage repository in which the VM's disk images are stored (e.g. Copy on Write) and saves the memory image as well."}]},"implicit":false},{"name":"revert","description":"Reverts the specified VM to a previous state.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"snapshot","doc":"The snapshotted state that we revert to"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"SR_FULL","doc":"The SR is full. Requested new size exceeds the maximum size"},{"name":"VM_REVERT_FAILED","doc":"An error occured while reverting the specified virtual machine to the specified snapshot"}],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"snapshots","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Reverts the specified VM to a previous state."}]},"implicit":false},{"name":"copy","description":"Copied the specified VM, making a new VM. Unlike clone, copy does not exploits the capabilities of the underlying storage repository in which the VM's disk images are stored. Instead, copy guarantees that the disk images of the newly created VM will be 'full disks' - i.e. not part of a CoW chain. This function can only be called when the VM is in the Halted State.","result":["VM ref","The reference of the newly created VM."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to be copied"},{"type":"string","name":"new_name","doc":"The name of the copied VM"},{"type":"SR ref","name":"sr","doc":"An SR to copy all the VM's disks into (if an invalid reference then it uses the existing SRs)"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"SR_FULL","doc":"The SR is full. Requested new size exceeds the maximum size"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"LICENCE_RESTRICTION","doc":"This operation is not allowed because your license lacks a needed feature. Please contact your support representative."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Copies a VM to an SR. There must be a host that can see both the source and destination SRs simultaneously"},{"transition":"extended","release":"cowley","description":"The copy can now be performed between any two SRs."}]},"implicit":false},{"name":"clone","description":"Clones the specified VM, making a new VM. Clone automatically exploits the capabilities of the underlying storage repository in which the VM's disk images are stored (e.g. Copy on Write). This function can only be called when the VM is in the Halted State.","result":["VM ref","The reference of the newly created VM."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to be cloned"},{"type":"string","name":"new_name","doc":"The name of the cloned VM"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"SR_FULL","doc":"The SR is full. Requested new size exceeds the maximum size"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"LICENCE_RESTRICTION","doc":"This operation is not allowed because your license lacks a needed feature. Please contact your support representative."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Clones the specified VM, making a new VM. Clone automatically exploits the capabilities of the underlying storage repository in which the VM's disk images are stored (e.g. Copy on Write). This function can only be called when the VM is in the Halted State."}]},"implicit":false},{"name":"snapshot_with_quiesce","description":"Snapshots the specified VM with quiesce, making a new VM. Snapshot automatically exploits the capabilities of the underlying storage repository in which the VM's disk images are stored (e.g. Copy on Write).","result":["VM ref","The reference of the newly created VM."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to be snapshotted"},{"type":"string","name":"new_name","doc":"The name of the snapshotted VM"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"SR_FULL","doc":"The SR is full. Requested new size exceeds the maximum size"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VM_SNAPSHOT_WITH_QUIESCE_FAILED","doc":"The quiesced-snapshot operation failed for an unexpected reason"},{"name":"VM_SNAPSHOT_WITH_QUIESCE_TIMEOUT","doc":"The VSS plug-in has timed out"},{"name":"VM_SNAPSHOT_WITH_QUIESCE_PLUGIN_DEOS_NOT_RESPOND","doc":"The VSS plug-in cannot be contacted"},{"name":"VM_SNAPSHOT_WITH_QUIESCE_NOT_SUPPORTED","doc":"The VSS plug-in is not installed on this virtual machine"}],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"orlando","description":""},{"transition":"deprecated","release":"quebec","description":"Dummy transition"},{"transition":"removed","release":"quebec","description":"VSS support has been removed"}]},"implicit":false},{"name":"snapshot","description":"Snapshots the specified VM, making a new VM. Snapshot automatically exploits the capabilities of the underlying storage repository in which the VM's disk images are stored (e.g. Copy on Write).","result":["VM ref","The reference of the newly created VM."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vm","doc":"The VM to be snapshotted"},{"type":"string","name":"new_name","doc":"The name of the snapshotted VM"},{"type":"VDI ref set","name":"ignore_vdis","doc":"A list of VDIs to ignore for the snapshot"}],"errors":[{"name":"VM_BAD_POWER_STATE","doc":"You attempted an operation on a VM that was not in an appropriate power state at the time; for example, you attempted to start a VM that was already running. The parameters returned are the VM's handle, and the expected and actual VM state at the time of the call."},{"name":"SR_FULL","doc":"The SR is full. Requested new size exceeds the maximum size"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."}],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"snapshots","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Snapshots the specified VM, making a new VM. Snapshot automatically exploits the capabilities of the underlying storage repository in which the VM's disk images are stored (e.g. Copy on Write)."}]},"implicit":false},{"name":"set_hardware_platform_version","description":"Set the hardware_platform_version field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"int","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":"The host virtual hardware platform version the VM can run on"}]},"implicit":true},{"name":"set_suspend_SR","description":"Set the suspend_SR field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"SR ref","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The SR on which a suspend image is stored"}]},"implicit":true},{"name":"remove_from_blocked_operations","description":"Remove the given key and its corresponding value from the blocked_operations field of the given VM. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"enum vm_operations","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"List of operations which have been explicitly blocked and an error code"}]},"implicit":true},{"name":"add_to_blocked_operations","description":"Add the given key-value pair to the blocked_operations field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"enum vm_operations","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"List of operations which have been explicitly blocked and an error code"}]},"implicit":true},{"name":"set_blocked_operations","description":"Set the blocked_operations field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"(enum vm_operations -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"List of operations which have been explicitly blocked and an error code"}]},"implicit":true},{"name":"remove_tags","description":"Remove the given value from the tags field of the given VM. If the value is not in that Set, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"Value to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"add_tags","description":"Add the given value to the tags field of the given VM. If the value is already in that Set, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"set_tags","description":"Set the tags field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string set","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"remove_from_xenstore_data","description":"Remove the given key and its corresponding value from the xenstore_data field of the given VM. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"data to be inserted into the xenstore tree (/local/domain//vm-data) after the VM is created."}]},"implicit":true},{"name":"add_to_xenstore_data","description":"Add the given key-value pair to the xenstore_data field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"data to be inserted into the xenstore tree (/local/domain//vm-data) after the VM is created."}]},"implicit":true},{"name":"set_xenstore_data","description":"Set the xenstore_data field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"data to be inserted into the xenstore tree (/local/domain//vm-data) after the VM is created."}]},"implicit":true},{"name":"set_recommendations","description":"Set the recommendations field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"An XML specification of recommended values and ranges for properties of this VM"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given VM. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"set_PCI_bus","description":"Set the PCI_bus field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"PCI bus path for pass-through devices"},{"transition":"deprecated","release":"boston","description":"Field was never used"}]},"implicit":true},{"name":"remove_from_platform","description":"Remove the given key and its corresponding value from the platform field of the given VM. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"platform-specific configuration"}]},"implicit":true},{"name":"add_to_platform","description":"Add the given key-value pair to the platform field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"platform-specific configuration"}]},"implicit":true},{"name":"set_platform","description":"Set the platform field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"platform-specific configuration"}]},"implicit":true},{"name":"remove_from_HVM_boot_params","description":"Remove the given key and its corresponding value from the HVM/boot_params field of the given VM. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"HVM boot params"}]},"implicit":true},{"name":"add_to_HVM_boot_params","description":"Add the given key-value pair to the HVM/boot_params field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"HVM boot params"}]},"implicit":true},{"name":"set_HVM_boot_params","description":"Set the HVM/boot_params field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"HVM boot params"}]},"implicit":true},{"name":"set_PV_legacy_args","description":"Set the PV/legacy_args field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"to make Zurich guests boot"}]},"implicit":true},{"name":"set_PV_bootloader_args","description":"Set the PV/bootloader_args field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"miscellaneous arguments for the bootloader"}]},"implicit":true},{"name":"set_PV_args","description":"Set the PV/args field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"kernel command-line arguments"}]},"implicit":true},{"name":"set_PV_ramdisk","description":"Set the PV/ramdisk field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"path to the initrd"}]},"implicit":true},{"name":"set_PV_kernel","description":"Set the PV/kernel field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"path to the kernel"}]},"implicit":true},{"name":"set_PV_bootloader","description":"Set the PV/bootloader field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"name of or path to bootloader"}]},"implicit":true},{"name":"set_actions_after_reboot","description":"Set the actions/after_reboot field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"enum on_normal_exit","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"action to take after the guest has rebooted itself"}]},"implicit":true},{"name":"set_actions_after_shutdown","description":"Set the actions/after_shutdown field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"enum on_normal_exit","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"action to take after the guest has shutdown itself"}]},"implicit":true},{"name":"set_actions_after_softreboot","description":"Set the actions/after_softreboot field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"enum on_softreboot_behavior","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.1.0","description":""}]},"implicit":true},{"name":"remove_from_VCPUs_params","description":"Remove the given key and its corresponding value from the VCPUs/params field of the given VM. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"configuration parameters for the selected VCPU policy"}]},"implicit":true},{"name":"add_to_VCPUs_params","description":"Add the given key-value pair to the VCPUs/params field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"configuration parameters for the selected VCPU policy"}]},"implicit":true},{"name":"set_VCPUs_params","description":"Set the VCPUs/params field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"configuration parameters for the selected VCPU policy"}]},"implicit":true},{"name":"set_affinity","description":"Set the affinity field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"host ref","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A host which the VM has some affinity for (or NULL). This is used as a hint to the start call when it decides where to run the VM. Resource constraints may cause the VM to be started elsewhere."}]},"implicit":true},{"name":"set_is_a_template","description":"Set the is_a_template field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"bool","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this is a template. Template VMs can never be started, they are used only for cloning other VMs"}]},"implicit":true},{"name":"set_user_version","description":"Set the user_version field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"int","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Creators of VMs and templates may store version information here."}]},"implicit":true},{"name":"set_name_description","description":"Set the name/description field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"set_name_label","description":"Set the name/label field of the given VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_pending_guidances_full","description":"Get the pending_guidances_full field of the given VM.","result":["enum update_guidances set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.10.0","description":""}]},"implicit":true},{"name":"get_pending_guidances_recommended","description":"Get the pending_guidances_recommended field of the given VM.","result":["enum update_guidances set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.10.0","description":""}]},"implicit":true},{"name":"get_pending_guidances","description":"Get the pending_guidances field of the given VM.","result":["enum update_guidances set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.303.0","description":"The set of pending mandatory guidances after applying updates, which must be applied, as otherwise there may be e.g. VM failures"}]},"implicit":true},{"name":"get_NVRAM","description":"Get the NVRAM field of the given VM.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"naples","description":""}]},"implicit":true},{"name":"get_domain_type","description":"Get the domain_type field of the given VM.","result":["enum domain_type","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"jura","description":"Internal-only field; not yet in the public API"},{"transition":"published","release":"kolkata","description":"The field is now valid"}]},"implicit":true},{"name":"get_reference_label","description":"Get the reference_label field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Textual reference to the template used to create a VM. This can be used by clients in need of an immutable reference to the template since the latter's uuid and name_label may change, for example, after a package installation or upgrade."}]},"implicit":true},{"name":"get_requires_reboot","description":"Get the requires_reboot field of the given VM.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_has_vendor_device","description":"Get the has_vendor_device field of the given VM.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"implicit":true},{"name":"get_hardware_platform_version","description":"Get the hardware_platform_version field of the given VM.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":"The host virtual hardware platform version the VM can run on"}]},"implicit":true},{"name":"get_generation_id","description":"Get the generation_id field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"clearwater","description":"Generation ID of the VM"}]},"implicit":true},{"name":"get_version","description":"Get the version field of the given VM.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The number of times this VM has been recovered"}]},"implicit":true},{"name":"get_suspend_SR","description":"Get the suspend_SR field of the given VM.","result":["SR ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The SR on which a suspend image is stored"}]},"implicit":true},{"name":"get_attached_PCIs","description":"Get the attached_PCIs field of the given VM.","result":["PCI ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_VGPUs","description":"Get the VGPUs field of the given VM.","result":["VGPU ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_order","description":"Get the order field of the given VM.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The point in the startup or shutdown sequence at which this VM will be started"}]},"implicit":true},{"name":"get_shutdown_delay","description":"Get the shutdown_delay field of the given VM.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The delay to wait before proceeding to the next order in the shutdown sequence (seconds)"}]},"implicit":true},{"name":"get_start_delay","description":"Get the start_delay field of the given VM.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The delay to wait before proceeding to the next order in the startup sequence (seconds)"}]},"implicit":true},{"name":"get_appliance","description":"Get the appliance field of the given VM.","result":["VM_appliance ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the appliance to which this VM belongs"}]},"implicit":true},{"name":"get_is_vmss_snapshot","description":"Get the is_vmss_snapshot field of the given VM.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"true if this snapshot was created by the snapshot schedule"}]},"implicit":true},{"name":"get_snapshot_schedule","description":"Get the snapshot_schedule field of the given VM.","result":["VMSS ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"Ref pointing to a snapshot schedule for this VM"}]},"implicit":true},{"name":"get_is_snapshot_from_vmpp","description":"Get the is_snapshot_from_vmpp field of the given VM.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_protection_policy","description":"Get the protection_policy field of the given VM.","result":["VMPP ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_bios_strings","description":"Get the bios_strings field of the given VM.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"BIOS strings"}]},"implicit":true},{"name":"get_children","description":"Get the children field of the given VM.","result":["VM ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"List pointing to all the children of this VM"}]},"implicit":true},{"name":"get_parent","description":"Get the parent field of the given VM.","result":["VM ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Ref pointing to the parent of this VM"}]},"implicit":true},{"name":"get_snapshot_metadata","description":"Get the snapshot_metadata field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Encoded information about the VM's metadata this is a snapshot of"}]},"implicit":true},{"name":"get_snapshot_info","description":"Get the snapshot_info field of the given VM.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Human-readable information concerning this snapshot"}]},"implicit":true},{"name":"get_blocked_operations","description":"Get the blocked_operations field of the given VM.","result":["(enum vm_operations -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"List of operations which have been explicitly blocked and an error code"}]},"implicit":true},{"name":"get_tags","description":"Get the tags field of the given VM.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"get_blobs","description":"Get the blobs field of the given VM.","result":["(string -> blob ref) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Binary blobs associated with this VM"}]},"implicit":true},{"name":"get_transportable_snapshot_id","description":"Get the transportable_snapshot_id field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Transportable ID of the snapshot VM"}]},"implicit":true},{"name":"get_snapshot_time","description":"Get the snapshot_time field of the given VM.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Date/time when this snapshot was created."}]},"implicit":true},{"name":"get_snapshots","description":"Get the snapshots field of the given VM.","result":["VM ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"List pointing to all the VM snapshots."}]},"implicit":true},{"name":"get_snapshot_of","description":"Get the snapshot_of field of the given VM.","result":["VM ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Ref pointing to the VM this snapshot is of."}]},"implicit":true},{"name":"get_is_a_snapshot","description":"Get the is_a_snapshot field of the given VM.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"true if this is a snapshot. Snapshotted VMs can never be started, they are used only for cloning other VMs"}]},"implicit":true},{"name":"get_ha_restart_priority","description":"Get the ha_restart_priority field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"has possible values: \"best-effort\" meaning \"try to restart this VM if possible but don't consider the Pool to be overcommitted if this is not possible\"; \"restart\" meaning \"this VM should be restarted\"; \"\" meaning \"do not try to restart this VM\""}]},"implicit":true},{"name":"get_ha_always_run","description":"Get the ha_always_run field of the given VM.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"orlando","description":"if true then the system will attempt to keep the VM running as much as possible."},{"transition":"deprecated","release":"boston","description":""}]},"implicit":true},{"name":"get_xenstore_data","description":"Get the xenstore_data field of the given VM.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"data to be inserted into the xenstore tree (/local/domain//vm-data) after the VM is created."}]},"implicit":true},{"name":"get_recommendations","description":"Get the recommendations field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"An XML specification of recommended values and ranges for properties of this VM"}]},"implicit":true},{"name":"get_last_booted_record","description":"Get the last_booted_record field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Marshalled value containing VM record at time of last boot, updated dynamically to reflect the runtime state of the domain"},{"transition":"changed","release":"1.257.0","description":"Become static to allow Suspended VM creation"}]},"implicit":true},{"name":"get_guest_metrics","description":"Get the guest_metrics field of the given VM.","result":["VM_guest_metrics ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"metrics associated with the running guest"}]},"implicit":true},{"name":"get_metrics","description":"Get the metrics field of the given VM.","result":["VM_metrics ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"metrics associated with this VM"}]},"implicit":true},{"name":"get_is_control_domain","description":"Get the is_control_domain field of the given VM.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this is a control domain (domain 0 or a driver domain)"}]},"implicit":true},{"name":"get_last_boot_CPU_flags","description":"Get the last_boot_CPU_flags field of the given VM.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"describes the CPU flags on which the VM was last booted"}]},"implicit":true},{"name":"get_domarch","description":"Get the domarch field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Domain architecture (if available, null string otherwise)"}]},"implicit":true},{"name":"get_domid","description":"Get the domid field of the given VM.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"domain ID (if available, -1 otherwise)"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given VM.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"get_PCI_bus","description":"Get the PCI_bus field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"PCI bus path for pass-through devices"},{"transition":"deprecated","release":"boston","description":"Field was never used"}]},"implicit":true},{"name":"get_platform","description":"Get the platform field of the given VM.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"platform-specific configuration"}]},"implicit":true},{"name":"get_HVM_shadow_multiplier","description":"Get the HVM/shadow_multiplier field of the given VM.","result":["float","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"multiplier applied to the amount of shadow that will be made available to the guest"}]},"implicit":true},{"name":"get_HVM_boot_params","description":"Get the HVM/boot_params field of the given VM.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"HVM boot params"}]},"implicit":true},{"name":"get_HVM_boot_policy","description":"Get the HVM/boot_policy field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"kolkata","description":"Replaced by VM.domain_type"}]},"implicit":true},{"name":"get_PV_legacy_args","description":"Get the PV/legacy_args field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"to make Zurich guests boot"}]},"implicit":true},{"name":"get_PV_bootloader_args","description":"Get the PV/bootloader_args field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"miscellaneous arguments for the bootloader"}]},"implicit":true},{"name":"get_PV_args","description":"Get the PV/args field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"kernel command-line arguments"}]},"implicit":true},{"name":"get_PV_ramdisk","description":"Get the PV/ramdisk field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"path to the initrd"}]},"implicit":true},{"name":"get_PV_kernel","description":"Get the PV/kernel field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"path to the kernel"}]},"implicit":true},{"name":"get_PV_bootloader","description":"Get the PV/bootloader field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"name of or path to bootloader"}]},"implicit":true},{"name":"get_VTPMs","description":"Get the VTPMs field of the given VM.","result":["VTPM ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"virtual TPMs"}]},"implicit":true},{"name":"get_crash_dumps","description":"Get the crash_dumps field of the given VM.","result":["crashdump ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"crash dumps associated with this VM"}]},"implicit":true},{"name":"get_VUSBs","description":"Get the VUSBs field of the given VM.","result":["VUSB ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"vitual usb devices"}]},"implicit":true},{"name":"get_VBDs","description":"Get the VBDs field of the given VM.","result":["VBD ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"virtual block devices"}]},"implicit":true},{"name":"get_VIFs","description":"Get the VIFs field of the given VM.","result":["VIF ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"virtual network interfaces"}]},"implicit":true},{"name":"get_consoles","description":"Get the consoles field of the given VM.","result":["console ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"virtual console devices"}]},"implicit":true},{"name":"get_actions_after_crash","description":"Get the actions/after_crash field of the given VM.","result":["enum on_crash_behaviour","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"action to take if the guest crashes"}]},"implicit":true},{"name":"get_actions_after_reboot","description":"Get the actions/after_reboot field of the given VM.","result":["enum on_normal_exit","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"action to take after the guest has rebooted itself"}]},"implicit":true},{"name":"get_actions_after_shutdown","description":"Get the actions/after_shutdown field of the given VM.","result":["enum on_normal_exit","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"action to take after the guest has shutdown itself"}]},"implicit":true},{"name":"get_actions_after_softreboot","description":"Get the actions/after_softreboot field of the given VM.","result":["enum on_softreboot_behavior","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.1.0","description":""}]},"implicit":true},{"name":"get_VCPUs_at_startup","description":"Get the VCPUs/at_startup field of the given VM.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Boot number of VCPUs"}]},"implicit":true},{"name":"get_VCPUs_max","description":"Get the VCPUs/max field of the given VM.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Max number of VCPUs"}]},"implicit":true},{"name":"get_VCPUs_params","description":"Get the VCPUs/params field of the given VM.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"configuration parameters for the selected VCPU policy"}]},"implicit":true},{"name":"get_memory_static_min","description":"Get the memory/static_min field of the given VM.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Statically-set (i.e. absolute) mininum (bytes). The value of this field indicates the least amount of memory this VM can boot with without crashing."}]},"implicit":true},{"name":"get_memory_dynamic_min","description":"Get the memory/dynamic_min field of the given VM.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Dynamic minimum (bytes)"}]},"implicit":true},{"name":"get_memory_dynamic_max","description":"Get the memory/dynamic_max field of the given VM.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Dynamic maximum (bytes)"}]},"implicit":true},{"name":"get_memory_static_max","description":"Get the memory/static_max field of the given VM.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Statically-set (i.e. absolute) maximum (bytes). The value of this field at VM start time acts as a hard limit of the amount of memory a guest can use. New values only take effect on reboot."}]},"implicit":true},{"name":"get_memory_target","description":"Get the memory/target field of the given VM.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Dynamically-set memory target (bytes). The value of this field indicates the current target for memory available to this VM."},{"transition":"deprecated","release":"midnight-ride","description":""}]},"implicit":true},{"name":"get_memory_overhead","description":"Get the memory/overhead field of the given VM.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Virtualization memory overhead (bytes)."}]},"implicit":true},{"name":"get_affinity","description":"Get the affinity field of the given VM.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A host which the VM has some affinity for (or NULL). This is used as a hint to the start call when it decides where to run the VM. Resource constraints may cause the VM to be started elsewhere."}]},"implicit":true},{"name":"get_scheduled_to_be_resident_on","description":"Get the scheduled_to_be_resident_on field of the given VM.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the host on which the VM is due to be started/resumed/migrated. This acts as a memory reservation indicator"}]},"implicit":true},{"name":"get_resident_on","description":"Get the resident_on field of the given VM.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the host the VM is currently resident on"}]},"implicit":true},{"name":"get_suspend_VDI","description":"Get the suspend_VDI field of the given VM.","result":["VDI ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"Become static to allow Suspended VM creation"}]},"implicit":true},{"name":"get_is_default_template","description":"Get the is_default_template field of the given VM.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"Identifies default templates"}]},"implicit":true},{"name":"get_is_a_template","description":"Get the is_a_template field of the given VM.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this is a template. Template VMs can never be started, they are used only for cloning other VMs"}]},"implicit":true},{"name":"get_user_version","description":"Get the user_version field of the given VM.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Creators of VMs and templates may store version information here."}]},"implicit":true},{"name":"get_power_state","description":"Get the power_state field of the given VM.","result":["enum vm_power_state","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"Made StaticRO to allow Suspended VM creation"}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_current_operations","description":"Get the current_operations field of the given VM.","result":["(string -> enum vm_operations) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"implicit":true},{"name":"get_allowed_operations","description":"Get the allowed_operations field of the given VM.","result":["enum vm_operations set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the VM instances with the given label.","result":["VM ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"possibility to create a VM in suspended mode with a suspend_VDI set"}]},"implicit":true},{"name":"destroy","description":"Destroy the specified VM. The VM is completely removed from the system. This function can only be called when the VM is in the Halted State.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"possibility to create a VM in suspended mode with a suspend_VDI set"}]},"implicit":true},{"name":"create","description":"NOT RECOMMENDED! VM.clone or VM.copy (or VM.import) is a better choice in almost all situations. The standard way to obtain a new VM is to call VM.clone on a template VM, then call VM.provision on the new clone. Caution: if VM.create is used and then the new VM is attached to a virtual disc that has an operating system already installed, then there is no guarantee that the operating system will boot and run. Any software that calls VM.create on a future version of this API may fail or give unexpected results. For example this could happen if an additional parameter were added to VM.create. VM.create is intended only for use in the automatic creation of the system VM templates. It creates a new VM instance, and returns its handle.\nThe constructor args are: name_label, name_description, power_state, user_version*, is_a_template*, suspend_VDI, affinity*, memory_target, memory_static_max*, memory_dynamic_max*, memory_dynamic_min*, memory_static_min*, VCPUs_params*, VCPUs_max*, VCPUs_at_startup*, actions_after_softreboot, actions_after_shutdown*, actions_after_reboot*, actions_after_crash*, PV_bootloader*, PV_kernel*, PV_ramdisk*, PV_args*, PV_bootloader_args*, PV_legacy_args*, HVM_boot_policy*, HVM_boot_params*, HVM_shadow_multiplier, platform*, PCI_bus*, other_config*, last_boot_CPU_flags, last_booted_record, recommendations*, xenstore_data, ha_always_run, ha_restart_priority, tags, blocked_operations, protection_policy, is_snapshot_from_vmpp, snapshot_schedule, is_vmss_snapshot, appliance, start_delay, shutdown_delay, order, suspend_SR, version, generation_id, hardware_platform_version, has_vendor_device, reference_label, domain_type, NVRAM (* = non-optional).","result":["VM ref","reference to the newly created object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM record","name":"args","doc":"All constructor arguments"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"possibility to create a VM in suspended mode with a suspend_VDI set"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VM instance with the specified UUID.","result":["VM ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"possibility to create a VM in suspended mode with a suspend_VDI set"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VM.","result":["VM record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"possibility to create a VM in suspended mode with a suspend_VDI set"}]},"implicit":true}],"enums":[{"name":"vm_power_state","values":[{"name":"Halted","doc":"VM is offline and not using any resources"},{"name":"Paused","doc":"All resources have been allocated but the VM itself is paused and its vCPUs are not running"},{"name":"Running","doc":"Running"},{"name":"Suspended","doc":"VM state has been saved to disk and it is nolonger running. Note that disks remain in-use while the VM is suspended."}]},{"name":"update_guidances","values":[{"name":"reboot_host","doc":"Indicates the updated host should reboot as soon as possible"},{"name":"reboot_host_on_livepatch_failure","doc":"Indicates the updated host should reboot as soon as possible since one or more livepatch(es) failed to be applied."},{"name":"reboot_host_on_kernel_livepatch_failure","doc":"Indicates the updated host should reboot as soon as possible since one or more kernel livepatch(es) failed to be applied."},{"name":"reboot_host_on_xen_livepatch_failure","doc":"Indicates the updated host should reboot as soon as possible since one or more xen livepatch(es) failed to be applied."},{"name":"restart_toolstack","doc":"Indicates the Toolstack running on the updated host should restart as soon as possible"},{"name":"restart_device_model","doc":"Indicates the device model of a running VM should restart as soon as possible"},{"name":"restart_vm","doc":"Indicates the VM should restart as soon as possible"}]},{"name":"on_softreboot_behavior","values":[{"name":"soft_reboot","doc":"perform soft-reboot"},{"name":"destroy","doc":"destroy the VM state"},{"name":"restart","doc":"restart the VM"},{"name":"preserve","doc":"leave the VM paused"}]},{"name":"on_normal_exit","values":[{"name":"destroy","doc":"destroy the VM state"},{"name":"restart","doc":"restart the VM"}]},{"name":"vm_operations","values":[{"name":"snapshot","doc":"refers to the operation \"snapshot\""},{"name":"clone","doc":"refers to the operation \"clone\""},{"name":"copy","doc":"refers to the operation \"copy\""},{"name":"create_template","doc":"refers to the operation \"create_template\""},{"name":"revert","doc":"refers to the operation \"revert\""},{"name":"checkpoint","doc":"refers to the operation \"checkpoint\""},{"name":"snapshot_with_quiesce","doc":"refers to the operation \"snapshot_with_quiesce\""},{"name":"provision","doc":"refers to the operation \"provision\""},{"name":"start","doc":"refers to the operation \"start\""},{"name":"start_on","doc":"refers to the operation \"start_on\""},{"name":"pause","doc":"refers to the operation \"pause\""},{"name":"unpause","doc":"refers to the operation \"unpause\""},{"name":"clean_shutdown","doc":"refers to the operation \"clean_shutdown\""},{"name":"clean_reboot","doc":"refers to the operation \"clean_reboot\""},{"name":"hard_shutdown","doc":"refers to the operation \"hard_shutdown\""},{"name":"power_state_reset","doc":"refers to the operation \"power_state_reset\""},{"name":"hard_reboot","doc":"refers to the operation \"hard_reboot\""},{"name":"suspend","doc":"refers to the operation \"suspend\""},{"name":"csvm","doc":"refers to the operation \"csvm\""},{"name":"resume","doc":"refers to the operation \"resume\""},{"name":"resume_on","doc":"refers to the operation \"resume_on\""},{"name":"pool_migrate","doc":"refers to the operation \"pool_migrate\""},{"name":"migrate_send","doc":"refers to the operation \"migrate_send\""},{"name":"get_boot_record","doc":"refers to the operation \"get_boot_record\""},{"name":"send_sysrq","doc":"refers to the operation \"send_sysrq\""},{"name":"send_trigger","doc":"refers to the operation \"send_trigger\""},{"name":"query_services","doc":"refers to the operation \"query_services\""},{"name":"shutdown","doc":"refers to the operation \"shutdown\""},{"name":"call_plugin","doc":"refers to the operation \"call_plugin\""},{"name":"changing_memory_live","doc":"Changing the memory settings"},{"name":"awaiting_memory_live","doc":"Waiting for the memory settings to change"},{"name":"changing_dynamic_range","doc":"Changing the memory dynamic range"},{"name":"changing_static_range","doc":"Changing the memory static range"},{"name":"changing_memory_limits","doc":"Changing the memory limits"},{"name":"changing_shadow_memory","doc":"Changing the shadow memory for a halted VM."},{"name":"changing_shadow_memory_live","doc":"Changing the shadow memory for a running VM."},{"name":"changing_VCPUs","doc":"Changing VCPU settings for a halted VM."},{"name":"changing_VCPUs_live","doc":"Changing VCPU settings for a running VM."},{"name":"changing_NVRAM","doc":"Changing NVRAM for a halted VM."},{"name":"assert_operation_valid","doc":""},{"name":"data_source_op","doc":"Add, remove, query or list data sources"},{"name":"update_allowed_operations","doc":""},{"name":"make_into_template","doc":"Turning this VM into a template"},{"name":"import","doc":"importing a VM from a network stream"},{"name":"export","doc":"exporting a VM to a network stream"},{"name":"metadata_export","doc":"exporting VM metadata to a network stream"},{"name":"reverting","doc":"Reverting the VM to a previous snapshotted state"},{"name":"destroy","doc":"refers to the act of uninstalling the VM"},{"name":"create_vtpm","doc":"Creating and adding a VTPM to this VM"}]},{"name":"on_crash_behaviour","values":[{"name":"destroy","doc":"destroy the VM state"},{"name":"coredump_and_destroy","doc":"record a coredump and then destroy the VM state"},{"name":"restart","doc":"restart the VM"},{"name":"coredump_and_restart","doc":"record a coredump and then restart the VM"},{"name":"preserve","doc":"leave the crashed VM paused"},{"name":"rename_restart","doc":"rename the crashed VM and start a new copy"}]},{"name":"domain_type","values":[{"name":"hvm","doc":"HVM; Fully Virtualised"},{"name":"pv","doc":"PV: Paravirtualised"},{"name":"pv_in_pvh","doc":"PV inside a PVH container"},{"name":"pvh","doc":"PVH"},{"name":"unspecified","doc":"Not specified or unknown domain type"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"possibility to create a VM in suspended mode with a suspend_VDI set"}]},"tag":""},{"name":"VM_metrics","description":"The metrics associated with a VM","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"memory_actual","description":"Guest's actual memory (bytes)","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Guest's actual memory (bytes)"}]}},{"name":"VCPUs_number","description":"Current number of VCPUs","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Current number of VCPUs"}]}},{"name":"VCPUs_utilisation","description":"Utilisation for all of guest's current VCPUs","type":"(int -> float) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRDs"}]},"default":"{}"},{"name":"VCPUs_CPU","description":"VCPU to PCPU map","type":"(int -> int) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"VCPU to PCPU map"}]}},{"name":"VCPUs_params","description":"The live equivalent to VM.VCPUs_params","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The live equivalent to VM.VCPUs_params"}]}},{"name":"VCPUs_flags","description":"CPU flags (blocked,online,running)","type":"(int -> string set) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"CPU flags (blocked,online,running)"}]}},{"name":"state","description":"The state of the guest, eg blocked, dying etc","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The state of the guest, eg blocked, dying etc"}]}},{"name":"start_time","description":"Time at which this VM was last booted","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which this VM was last booted"}]}},{"name":"install_time","description":"Time at which the VM was installed","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which the VM was installed"}]}},{"name":"last_updated","description":"Time at which this information was last updated","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which this information was last updated"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"default":"{}"},{"name":"hvm","description":"hardware virtual machine","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"hardware virtual machine"}]},"default":"false"},{"name":"nested_virt","description":"VM supports nested virtualisation","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"VM supports nested virtualisation"}]},"default":"false"},{"name":"nomigrate","description":"VM is immobile and can't migrate between hosts","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"VM is immobile and can't migrate between hosts"}]},"default":"false"},{"name":"current_domain_type","description":"The current domain type of the VM (for running,suspended, or paused VMs). The last-known domain type for halted VMs.","type":"enum domain_type","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"jura","description":"Not yet implemented (for future use)"},{"transition":"published","release":"kolkata","description":"This field now contains valid data"}]},"default":"unspecified"}],"messages":[{"name":"get_all_records","description":"Return a map of VM_metrics references to VM_metrics records for all VM_metrics instances known to the system.","result":["(VM_metrics ref -> VM_metrics record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a VM"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VM_metrics instances known to the system.","result":["VM_metrics ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a VM"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given VM_metrics. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given VM_metrics.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given VM_metrics.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"get_current_domain_type","description":"Get the current_domain_type field of the given VM_metrics.","result":["enum domain_type","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"jura","description":"Not yet implemented (for future use)"},{"transition":"published","release":"kolkata","description":"This field now contains valid data"}]},"implicit":true},{"name":"get_nomigrate","description":"Get the nomigrate field of the given VM_metrics.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"VM is immobile and can't migrate between hosts"}]},"implicit":true},{"name":"get_nested_virt","description":"Get the nested_virt field of the given VM_metrics.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"VM supports nested virtualisation"}]},"implicit":true},{"name":"get_hvm","description":"Get the hvm field of the given VM_metrics.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"hardware virtual machine"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given VM_metrics.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"get_last_updated","description":"Get the last_updated field of the given VM_metrics.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which this information was last updated"}]},"implicit":true},{"name":"get_install_time","description":"Get the install_time field of the given VM_metrics.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which the VM was installed"}]},"implicit":true},{"name":"get_start_time","description":"Get the start_time field of the given VM_metrics.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which this VM was last booted"}]},"implicit":true},{"name":"get_state","description":"Get the state field of the given VM_metrics.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The state of the guest, eg blocked, dying etc"}]},"implicit":true},{"name":"get_VCPUs_flags","description":"Get the VCPUs/flags field of the given VM_metrics.","result":["(int -> string set) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"CPU flags (blocked,online,running)"}]},"implicit":true},{"name":"get_VCPUs_params","description":"Get the VCPUs/params field of the given VM_metrics.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The live equivalent to VM.VCPUs_params"}]},"implicit":true},{"name":"get_VCPUs_CPU","description":"Get the VCPUs/CPU field of the given VM_metrics.","result":["(int -> int) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"VCPU to PCPU map"}]},"implicit":true},{"name":"get_VCPUs_utilisation","description":"Get the VCPUs/utilisation field of the given VM_metrics.","result":["(int -> float) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRDs"}]},"implicit":true},{"name":"get_VCPUs_number","description":"Get the VCPUs/number field of the given VM_metrics.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Current number of VCPUs"}]},"implicit":true},{"name":"get_memory_actual","description":"Get the memory/actual field of the given VM_metrics.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Guest's actual memory (bytes)"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VM_metrics.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VM_metrics instance with the specified UUID.","result":["VM_metrics ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a VM"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VM_metrics.","result":["VM_metrics record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a VM"}]},"implicit":true}],"enums":[{"name":"domain_type","values":[{"name":"hvm","doc":"HVM; Fully Virtualised"},{"name":"pv","doc":"PV: Paravirtualised"},{"name":"pv_in_pvh","doc":"PV inside a PVH container"},{"name":"pvh","doc":"PVH"},{"name":"unspecified","doc":"Not specified or unknown domain type"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a VM"}]},"tag":""},{"name":"VM_guest_metrics","description":"The metrics reported by the guest (as opposed to inferred from outside)","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"os_version","description":"version of the OS","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"version of the OS"}]}},{"name":"PV_drivers_version","description":"version of the PV drivers","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"version of the PV drivers"}]}},{"name":"PV_drivers_up_to_date","description":"Logically equivalent to PV_drivers_detected","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"true if the PV drivers appear to be up to date"},{"transition":"deprecated","release":"dundee","description":"Deprecated in favour of PV_drivers_detected, and redefined in terms of it"}]}},{"name":"memory","description":"This field exists but has no data. Use the memory and memory_internal_free RRD data-sources instead.","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":"free/used/total"},{"transition":"deprecated","release":"george","description":"Dummy transition"},{"transition":"removed","release":"george","description":"Disabled in favour of the RRDs, to improve scalability"}]},"default":"{}"},{"name":"disks","description":"This field exists but has no data.","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":"Disk configuration/free space"},{"transition":"deprecated","release":"orlando","description":"Dummy transition"},{"transition":"removed","release":"orlando","description":"No data"}]},"default":"{}"},{"name":"networks","description":"network configuration","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"network configuration"}]}},{"name":"other","description":"anything else","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"anything else"}]}},{"name":"last_updated","description":"Time at which this information was last updated","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which this information was last updated"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"default":"{}"},{"name":"live","description":"True if the guest is sending heartbeat messages via the guest agent","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"True if the guest is sending heartbeat messages via the guest agent"}]},"default":"false"},{"name":"can_use_hotplug_vbd","description":"The guest's statement of whether it supports VBD hotplug, i.e. whether it is capable of responding immediately to instantiation of a new VBD by bringing online a new PV block device. If the guest states that it is not capable, then the VBD plug and unplug operations will not be allowed while the guest is running.","type":"enum tristate_type","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"To be used where relevant and available instead of checking PV driver version."}]},"default":"unspecified"},{"name":"can_use_hotplug_vif","description":"The guest's statement of whether it supports VIF hotplug, i.e. whether it is capable of responding immediately to instantiation of a new VIF by bringing online a new PV network device. If the guest states that it is not capable, then the VIF plug and unplug operations will not be allowed while the guest is running.","type":"enum tristate_type","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"To be used where relevant and available instead of checking PV driver version."}]},"default":"unspecified"},{"name":"PV_drivers_detected","description":"At least one of the guest's devices has successfully connected to the backend.","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"default":"false"}],"messages":[{"name":"get_all_records","description":"Return a map of VM_guest_metrics references to VM_guest_metrics records for all VM_guest_metrics instances known to the system.","result":["(VM_guest_metrics ref -> VM_guest_metrics record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics reported by the guest (as opposed to inferred from outside)"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VM_guest_metrics instances known to the system.","result":["VM_guest_metrics ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics reported by the guest (as opposed to inferred from outside)"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given VM_guest_metrics. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given VM_guest_metrics.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given VM_guest_metrics.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"get_PV_drivers_detected","description":"Get the PV_drivers_detected field of the given VM_guest_metrics.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"implicit":true},{"name":"get_can_use_hotplug_vif","description":"Get the can_use_hotplug_vif field of the given VM_guest_metrics.","result":["enum tristate_type","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"To be used where relevant and available instead of checking PV driver version."}]},"implicit":true},{"name":"get_can_use_hotplug_vbd","description":"Get the can_use_hotplug_vbd field of the given VM_guest_metrics.","result":["enum tristate_type","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"To be used where relevant and available instead of checking PV driver version."}]},"implicit":true},{"name":"get_live","description":"Get the live field of the given VM_guest_metrics.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"True if the guest is sending heartbeat messages via the guest agent"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given VM_guest_metrics.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"get_last_updated","description":"Get the last_updated field of the given VM_guest_metrics.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which this information was last updated"}]},"implicit":true},{"name":"get_other","description":"Get the other field of the given VM_guest_metrics.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"anything else"}]},"implicit":true},{"name":"get_networks","description":"Get the networks field of the given VM_guest_metrics.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"network configuration"}]},"implicit":true},{"name":"get_disks","description":"Get the disks field of the given VM_guest_metrics.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":"Disk configuration/free space"},{"transition":"deprecated","release":"orlando","description":"Dummy transition"},{"transition":"removed","release":"orlando","description":"No data"}]},"implicit":true},{"name":"get_memory","description":"Get the memory field of the given VM_guest_metrics.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":"free/used/total"},{"transition":"deprecated","release":"george","description":"Dummy transition"},{"transition":"removed","release":"george","description":"Disabled in favour of the RRDs, to improve scalability"}]},"implicit":true},{"name":"get_PV_drivers_up_to_date","description":"Get the PV_drivers_up_to_date field of the given VM_guest_metrics.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"true if the PV drivers appear to be up to date"},{"transition":"deprecated","release":"dundee","description":"Deprecated in favour of PV_drivers_detected, and redefined in terms of it"}]},"implicit":true},{"name":"get_PV_drivers_version","description":"Get the PV_drivers_version field of the given VM_guest_metrics.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"version of the PV drivers"}]},"implicit":true},{"name":"get_os_version","description":"Get the os_version field of the given VM_guest_metrics.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"version of the OS"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VM_guest_metrics.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VM_guest_metrics instance with the specified UUID.","result":["VM_guest_metrics ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics reported by the guest (as opposed to inferred from outside)"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VM_guest_metrics.","result":["VM_guest_metrics record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_guest_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics reported by the guest (as opposed to inferred from outside)"}]},"implicit":true}],"enums":[{"name":"tristate_type","values":[{"name":"yes","doc":"Known to be true"},{"name":"no","doc":"Known to be false"},{"name":"unspecified","doc":"Unknown or unspecified"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics reported by the guest (as opposed to inferred from outside)"}]},"tag":""},{"name":"VMPP","description":"VM Protection Policy","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"is_policy_enabled","description":"enable or disable this policy","type":"bool","qualifier":"RW","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"true"},{"name":"backup_type","description":"type of the backup sub-policy","type":"enum vmpp_backup_type","qualifier":"RW","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"snapshot"},{"name":"backup_retention_value","description":"maximum number of backups that should be stored at any time","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"7"},{"name":"backup_frequency","description":"frequency of the backup schedule","type":"enum vmpp_backup_frequency","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"daily"},{"name":"backup_schedule","description":"schedule of the backup containing 'hour', 'min', 'days'. Date/time-related information is in Local Timezone","type":"(string -> string) map","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"{}"},{"name":"is_backup_running","description":"true if this protection policy's backup is running","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]}},{"name":"backup_last_run_time","description":"time of the last backup","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"19700101T00:00:00Z"},{"name":"archive_target_type","description":"type of the archive target config","type":"enum vmpp_archive_target_type","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"none"},{"name":"archive_target_config","description":"configuration for the archive, including its 'location', 'username', 'password'","type":"(string -> string) map","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"{}"},{"name":"archive_frequency","description":"frequency of the archive schedule","type":"enum vmpp_archive_frequency","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"never"},{"name":"archive_schedule","description":"schedule of the archive containing 'hour', 'min', 'days'. Date/time-related information is in Local Timezone","type":"(string -> string) map","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"{}"},{"name":"is_archive_running","description":"true if this protection policy's archive is running","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]}},{"name":"archive_last_run_time","description":"time of the last archive","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"19700101T00:00:00Z"},{"name":"VMs","description":"all VMs attached to this protection policy","type":"VM ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]}},{"name":"is_alarm_enabled","description":"true if alarm is enabled for this policy","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"false"},{"name":"alarm_config","description":"configuration for the alarm","type":"(string -> string) map","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"{}"},{"name":"recent_alerts","description":"recent alerts","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of VMPP references to VMPP records for all VMPPs known to the system.","result":["(VMPP ref -> VMPP record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VMPPs known to the system.","result":["VMPP ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"set_archive_last_run_time","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"datetime","name":"value","doc":"the value to set"}],"errors":[],"roles":[],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"set_backup_last_run_time","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"datetime","name":"value","doc":"the value to set"}],"errors":[],"roles":[],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"remove_from_alarm_config","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"string","name":"key","doc":"the key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"remove_from_archive_schedule","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"string","name":"key","doc":"the key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"remove_from_archive_target_config","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"string","name":"key","doc":"the key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"remove_from_backup_schedule","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"string","name":"key","doc":"the key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"add_to_alarm_config","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"string","name":"key","doc":"the key to add"},{"type":"string","name":"value","doc":"the value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"add_to_archive_schedule","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"string","name":"key","doc":"the key to add"},{"type":"string","name":"value","doc":"the value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"add_to_archive_target_config","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"string","name":"key","doc":"the key to add"},{"type":"string","name":"value","doc":"the value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"add_to_backup_schedule","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"string","name":"key","doc":"the key to add"},{"type":"string","name":"value","doc":"the value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"set_alarm_config","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"(string -> string) map","name":"value","doc":"the value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"set_is_alarm_enabled","description":"Set the value of the is_alarm_enabled field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"bool","name":"value","doc":"true if alarm is enabled for this policy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"set_archive_target_config","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"(string -> string) map","name":"value","doc":"the value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"set_archive_target_type","description":"Set the value of the archive_target_config_type field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"enum vmpp_archive_target_type","name":"value","doc":"the archive target config type"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"set_archive_schedule","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"(string -> string) map","name":"value","doc":"the value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"set_archive_frequency","description":"Set the value of the archive_frequency field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"enum vmpp_archive_frequency","name":"value","doc":"the archive frequency"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"set_backup_schedule","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"(string -> string) map","name":"value","doc":"the value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"set_backup_frequency","description":"Set the value of the backup_frequency field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"enum vmpp_backup_frequency","name":"value","doc":"the backup frequency"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"set_backup_retention_value","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"The protection policy"},{"type":"int","name":"value","doc":"the value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"get_alerts","description":"This call fetches a history of alerts for a given protection policy","result":["string set","A list of alerts encoded in xml"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"vmpp","doc":"The protection policy"},{"type":"int","name":"hours_from_now","doc":"how many hours in the past the oldest record to fetch is"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"archive_now","description":"This call archives the snapshot provided as a parameter","result":["string","An XMLRPC result"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"snapshot","doc":"The snapshot to archive"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"protect_now","description":"This call executes the protection policy immediately","result":["string","An XMLRPC result"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"vmpp","doc":"The protection policy to execute"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":false},{"name":"set_backup_type","description":"Set the backup_type field of the given VMPP.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"},{"type":"enum vmpp_backup_type","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"set_is_policy_enabled","description":"Set the is_policy_enabled field of the given VMPP.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"},{"type":"bool","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"set_name_description","description":"Set the name/description field of the given VMPP.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"set_name_label","description":"Set the name/label field of the given VMPP.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_recent_alerts","description":"Get the recent_alerts field of the given VMPP.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_alarm_config","description":"Get the alarm_config field of the given VMPP.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_is_alarm_enabled","description":"Get the is_alarm_enabled field of the given VMPP.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_VMs","description":"Get the VMs field of the given VMPP.","result":["VM ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_archive_last_run_time","description":"Get the archive_last_run_time field of the given VMPP.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_is_archive_running","description":"Get the is_archive_running field of the given VMPP.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_archive_schedule","description":"Get the archive_schedule field of the given VMPP.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_archive_frequency","description":"Get the archive_frequency field of the given VMPP.","result":["enum vmpp_archive_frequency","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_archive_target_config","description":"Get the archive_target_config field of the given VMPP.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_archive_target_type","description":"Get the archive_target_type field of the given VMPP.","result":["enum vmpp_archive_target_type","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_backup_last_run_time","description":"Get the backup_last_run_time field of the given VMPP.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_is_backup_running","description":"Get the is_backup_running field of the given VMPP.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_backup_schedule","description":"Get the backup_schedule field of the given VMPP.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_backup_frequency","description":"Get the backup_frequency field of the given VMPP.","result":["enum vmpp_backup_frequency","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_backup_retention_value","description":"Get the backup_retention_value field of the given VMPP.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_backup_type","description":"Get the backup_type field of the given VMPP.","result":["enum vmpp_backup_type","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_is_policy_enabled","description":"Get the is_policy_enabled field of the given VMPP.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given VMPP.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given VMPP.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VMPP.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the VMPP instances with the given label.","result":["VMPP ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"destroy","description":"Destroy the specified VMPP instance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"create","description":"Create a new VMPP instance, and return its handle.\nThe constructor args are: name_label, name_description, is_policy_enabled, backup_type, backup_retention_value, backup_frequency, backup_schedule, archive_target_type, archive_target_config, archive_frequency, archive_schedule, is_alarm_enabled, alarm_config (* = non-optional).","result":["VMPP ref","reference to the newly created object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP record","name":"args","doc":"All constructor arguments"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VMPP instance with the specified UUID.","result":["VMPP ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VMPP.","result":["VMPP record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMPP ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"implicit":true}],"enums":[{"name":"vmpp_backup_type","values":[{"name":"snapshot","doc":"The backup is a snapshot"},{"name":"checkpoint","doc":"The backup is a checkpoint"}]},{"name":"vmpp_backup_frequency","values":[{"name":"hourly","doc":"Hourly backups"},{"name":"daily","doc":"Daily backups"},{"name":"weekly","doc":"Weekly backups"}]},{"name":"vmpp_archive_frequency","values":[{"name":"never","doc":"Never archive"},{"name":"always_after_backup","doc":"Archive after backup"},{"name":"daily","doc":"Daily archives"},{"name":"weekly","doc":"Weekly backups"}]},{"name":"vmpp_archive_target_type","values":[{"name":"none","doc":"No target config"},{"name":"cifs","doc":"CIFS target config"},{"name":"nfs","doc":"NFS target config"}]}],"lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"The VMPR feature was removed"}]},"tag":""},{"name":"VMSS","description":"VM Snapshot Schedule","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"enabled","description":"enable or disable this snapshot schedule","type":"bool","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"enable or disable this snapshot schedule"}]},"default":"true"},{"name":"type","description":"type of the snapshot schedule","type":"enum vmss_type","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"type of the snapshot schedule"}]}},{"name":"retained_snapshots","description":"maximum number of snapshots that should be stored at any time","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"maximum number of snapshots that should be stored at any time"}]},"default":"7"},{"name":"frequency","description":"frequency of taking snapshot from snapshot schedule","type":"enum vmss_frequency","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"frequency of taking snapshot from snapshot schedule"}]}},{"name":"schedule","description":"schedule of the snapshot containing 'hour', 'min', 'days'. Date/time-related information is in Local Timezone","type":"(string -> string) map","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"schedule of the snapshot containing 'hour', 'min', 'days'. Date/time-related information is in Local Timezone"}]},"default":"{}"},{"name":"last_run_time","description":"time of the last snapshot","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"time of the last snapshot"}]},"default":"19700101T00:00:00Z"},{"name":"VMs","description":"all VMs attached to this snapshot schedule","type":"VM ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"all VMs attached to this snapshot schedule"}]}}],"messages":[{"name":"get_all_records","description":"Return a map of VMSS references to VMSS records for all VMSSs known to the system.","result":["(VMSS ref -> VMSS record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"VM Snapshot Schedule"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VMSSs known to the system.","result":["VMSS ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"VM Snapshot Schedule"}]},"implicit":true},{"name":"set_type","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"The snapshot schedule"},{"type":"enum vmss_type","name":"value","doc":"the snapshot schedule type"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":false},{"name":"set_last_run_time","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"The snapshot schedule"},{"type":"datetime","name":"value","doc":"the value to set"}],"errors":[],"roles":[],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":false},{"name":"remove_from_schedule","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"The snapshot schedule"},{"type":"string","name":"key","doc":"the key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":false},{"name":"add_to_schedule","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"The snapshot schedule"},{"type":"string","name":"key","doc":"the key to add"},{"type":"string","name":"value","doc":"the value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":false},{"name":"set_schedule","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"The snapshot schedule"},{"type":"(string -> string) map","name":"value","doc":"the value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":false},{"name":"set_frequency","description":"Set the value of the frequency field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"The snapshot schedule"},{"type":"enum vmss_frequency","name":"value","doc":"the snapshot schedule frequency"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"Set the value of the frequency field"}]},"implicit":false},{"name":"set_retained_snapshots","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"The schedule snapshot"},{"type":"int","name":"value","doc":"the value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":false},{"name":"snapshot_now","description":"This call executes the snapshot schedule immediately","result":["string","An XMLRPC result"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"vmss","doc":"Snapshot Schedule to execute"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"This call executes the snapshot schedule immediately"}]},"implicit":false},{"name":"set_enabled","description":"Set the enabled field of the given VMSS.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"reference to the object"},{"type":"bool","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"enable or disable this snapshot schedule"}]},"implicit":true},{"name":"set_name_description","description":"Set the name/description field of the given VMSS.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"set_name_label","description":"Set the name/label field of the given VMSS.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_VMs","description":"Get the VMs field of the given VMSS.","result":["VM ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"all VMs attached to this snapshot schedule"}]},"implicit":true},{"name":"get_last_run_time","description":"Get the last_run_time field of the given VMSS.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"time of the last snapshot"}]},"implicit":true},{"name":"get_schedule","description":"Get the schedule field of the given VMSS.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"schedule of the snapshot containing 'hour', 'min', 'days'. Date/time-related information is in Local Timezone"}]},"implicit":true},{"name":"get_frequency","description":"Get the frequency field of the given VMSS.","result":["enum vmss_frequency","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"frequency of taking snapshot from snapshot schedule"}]},"implicit":true},{"name":"get_retained_snapshots","description":"Get the retained_snapshots field of the given VMSS.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"maximum number of snapshots that should be stored at any time"}]},"implicit":true},{"name":"get_type","description":"Get the type field of the given VMSS.","result":["enum vmss_type","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"type of the snapshot schedule"}]},"implicit":true},{"name":"get_enabled","description":"Get the enabled field of the given VMSS.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"enable or disable this snapshot schedule"}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given VMSS.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given VMSS.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VMSS.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the VMSS instances with the given label.","result":["VMSS ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"VM Snapshot Schedule"}]},"implicit":true},{"name":"destroy","description":"Destroy the specified VMSS instance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"VM Snapshot Schedule"}]},"implicit":true},{"name":"create","description":"Create a new VMSS instance, and return its handle.\nThe constructor args are: name_label, name_description, enabled, type*, retained_snapshots, frequency*, schedule (* = non-optional).","result":["VMSS ref","reference to the newly created object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS record","name":"args","doc":"All constructor arguments"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"VM Snapshot Schedule"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VMSS instance with the specified UUID.","result":["VMSS ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"VM Snapshot Schedule"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VMSS.","result":["VMSS record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VMSS ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"VM Snapshot Schedule"}]},"implicit":true}],"enums":[{"name":"vmss_frequency","values":[{"name":"hourly","doc":"Hourly snapshots"},{"name":"daily","doc":"Daily snapshots"},{"name":"weekly","doc":"Weekly snapshots"}]},{"name":"vmss_type","values":[{"name":"snapshot","doc":"The snapshot is a disk snapshot"},{"name":"checkpoint","doc":"The snapshot is a checkpoint"},{"name":"snapshot_with_quiesce","doc":"Support for VSS has been removed."}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":"VM Snapshot Schedule"}]},"tag":""},{"name":"VM_appliance","description":"VM appliance","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"allowed_operations","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client.","type":"enum vm_appliance_operation set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"default":"{}"},{"name":"current_operations","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task.","type":"(string -> enum vm_appliance_operation) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"default":"{}"},{"name":"VMs","description":"all VMs in this appliance","type":"VM ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"all VMs in this appliance"}]}}],"messages":[{"name":"get_all_records","description":"Return a map of VM_appliance references to VM_appliance records for all VM_appliances known to the system.","result":["(VM_appliance ref -> VM_appliance record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"VM appliance"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VM_appliances known to the system.","result":["VM_appliance ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"VM appliance"}]},"implicit":true},{"name":"recover","description":"Recover the VM appliance","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"The VM appliance to recover"},{"type":"session ref","name":"session_to","doc":"The session to which the VM appliance is to be recovered."},{"type":"bool","name":"force","doc":"Whether the VMs should replace newer versions of themselves."}],"errors":[{"name":"VM_REQUIRES_SR","doc":"You attempted to run a VM on a host which doesn't have access to an SR needed by the VM. The VM has at least one VBD attached to a VDI in the SR."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Recover the VM appliance"}]},"implicit":false},{"name":"get_SRs_required_for_recovery","description":"Get the list of SRs required by the VM appliance to recover.","result":["SR ref set","refs for SRs required to recover the VM"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"The VM appliance for which the required list of SRs has to be recovered."},{"type":"session ref","name":"session_to","doc":"The session to which the list of SRs have to be recovered ."}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"creedence","description":"Get the list of SRs required by the VM appliance to recover."}]},"implicit":false},{"name":"assert_can_be_recovered","description":"Assert whether all SRs required to recover this VM appliance are available.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"The VM appliance to recover"},{"type":"session ref","name":"session_to","doc":"The session to which the VM appliance is to be recovered."}],"errors":[{"name":"VM_REQUIRES_SR","doc":"You attempted to run a VM on a host which doesn't have access to an SR needed by the VM. The VM has at least one VBD attached to a VDI in the SR."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Assert whether all SRs required to recover this VM appliance are available."}]},"implicit":false},{"name":"shutdown","description":"For each VM in the appliance, try to shut it down cleanly. If this fails, perform a hard shutdown of the VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"The VM appliance"}],"errors":[{"name":"OPERATION_PARTIALLY_FAILED","doc":"Some VMs belonging to the appliance threw an exception while carrying out the specified operation"}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"For each VM in the appliance, try to shut it down cleanly. If this fails, perform a hard shutdown of the VM."}]},"implicit":false},{"name":"hard_shutdown","description":"Perform a hard shutdown of all the VMs in the appliance","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"The VM appliance"}],"errors":[{"name":"OPERATION_PARTIALLY_FAILED","doc":"Some VMs belonging to the appliance threw an exception while carrying out the specified operation"}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Perform a hard shutdown of all the VMs in the appliance"}]},"implicit":false},{"name":"clean_shutdown","description":"Perform a clean shutdown of all the VMs in the appliance","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"The VM appliance"}],"errors":[{"name":"OPERATION_PARTIALLY_FAILED","doc":"Some VMs belonging to the appliance threw an exception while carrying out the specified operation"}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Perform a clean shutdown of all the VMs in the appliance"}]},"implicit":false},{"name":"start","description":"Start all VMs in the appliance","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"The VM appliance"},{"type":"bool","name":"paused","doc":"Instantiate all VMs belonging to this appliance in paused state if set to true."}],"errors":[{"name":"OPERATION_PARTIALLY_FAILED","doc":"Some VMs belonging to the appliance threw an exception while carrying out the specified operation"}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Start all VMs in the appliance"}]},"implicit":false},{"name":"set_name_description","description":"Set the name/description field of the given VM_appliance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"set_name_label","description":"Set the name/label field of the given VM_appliance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_VMs","description":"Get the VMs field of the given VM_appliance.","result":["VM ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"all VMs in this appliance"}]},"implicit":true},{"name":"get_current_operations","description":"Get the current_operations field of the given VM_appliance.","result":["(string -> enum vm_appliance_operation) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"implicit":true},{"name":"get_allowed_operations","description":"Get the allowed_operations field of the given VM_appliance.","result":["enum vm_appliance_operation set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given VM_appliance.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given VM_appliance.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VM_appliance.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the VM_appliance instances with the given label.","result":["VM_appliance ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"VM appliance"}]},"implicit":true},{"name":"destroy","description":"Destroy the specified VM_appliance instance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"VM appliance"}]},"implicit":true},{"name":"create","description":"Create a new VM_appliance instance, and return its handle.\nThe constructor args are: name_label, name_description (* = non-optional).","result":["VM_appliance ref","reference to the newly created object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance record","name":"args","doc":"All constructor arguments"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"VM appliance"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VM_appliance instance with the specified UUID.","result":["VM_appliance ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"VM appliance"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VM_appliance.","result":["VM_appliance record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM_appliance ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"VM appliance"}]},"implicit":true}],"enums":[{"name":"vm_appliance_operation","values":[{"name":"start","doc":"Start"},{"name":"clean_shutdown","doc":"Clean shutdown"},{"name":"hard_shutdown","doc":"Hard shutdown"},{"name":"shutdown","doc":"Shutdown"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"VM appliance"}]},"tag":""},{"name":"DR_task","description":"DR task","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"introduced_SRs","description":"All SRs introduced by this appliance","type":"SR ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"All SRs introduced by this appliance"}]}}],"messages":[{"name":"get_all_records","description":"Return a map of DR_task references to DR_task records for all DR_tasks known to the system.","result":["(DR_task ref -> DR_task record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"DR task"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the DR_tasks known to the system.","result":["DR_task ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"DR task"}]},"implicit":true},{"name":"destroy","description":"Destroy the disaster recovery task, detaching and forgetting any SRs introduced which are no longer required","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"DR_task ref","name":"self","doc":"The disaster recovery task to destroy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Destroy the disaster recovery task, detaching and forgetting any SRs introduced which are no longer required"}]},"implicit":false},{"name":"create","description":"Create a disaster recovery task which will query the supplied list of devices","result":["DR_task ref","The reference of the created DR_task"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"type","doc":"The SR driver type of the SRs to introduce"},{"type":"(string -> string) map","name":"device_config","doc":"The device configuration of the SRs to introduce"},{"type":"string set","name":"whitelist","doc":"The devices to use for disaster recovery"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Create a disaster recovery task which will query the supplied list of devices"}]},"implicit":false},{"name":"get_introduced_SRs","description":"Get the introduced_SRs field of the given DR_task.","result":["SR ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"DR_task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"All SRs introduced by this appliance"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given DR_task.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"DR_task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the DR_task instance with the specified UUID.","result":["DR_task ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"DR task"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given DR_task.","result":["DR_task record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"DR_task ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"DR task"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"DR task"}]},"tag":""},{"name":"host","description":"A physical host","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"memory_overhead","description":"Virtualization memory overhead (bytes).","type":"int","qualifier":"RO/runtime","tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Virtualization memory overhead (bytes)."}]},"default":"0"},{"name":"allowed_operations","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client.","type":"enum host_allowed_operations set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"default":"{}"},{"name":"current_operations","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task.","type":"(string -> enum host_allowed_operations) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"default":"{}"},{"name":"API_version_major","description":"major version number","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"major version number"}]}},{"name":"API_version_minor","description":"minor version number","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"minor version number"}]}},{"name":"API_version_vendor","description":"identification of vendor","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"identification of vendor"}]}},{"name":"API_version_vendor_implementation","description":"details of vendor implementation","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"details of vendor implementation"}]}},{"name":"enabled","description":"True if the host is currently enabled","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"True if the host is currently enabled"}]}},{"name":"software_version","description":"version strings","type":"(string -> string) map","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"version strings"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]}},{"name":"capabilities","description":"Xen capabilities","type":"string set","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Xen capabilities"}]}},{"name":"cpu_configuration","description":"The CPU configuration on this host. May contain keys such as \"nr_nodes\", \"sockets_per_node\", \"cores_per_socket\", or \"threads_per_core\"","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The CPU configuration on this host. May contain keys such as \"nr_nodes\", \"sockets_per_node\", \"cores_per_socket\", or \"threads_per_core\""}]}},{"name":"sched_policy","description":"Scheduler policy currently in force on this host","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Scheduler policy currently in force on this host"}]}},{"name":"supported_bootloaders","description":"a list of the bootloaders installed on the machine","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a list of the bootloaders installed on the machine"}]}},{"name":"resident_VMs","description":"list of VMs currently resident on host","type":"VM ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of VMs currently resident on host"}]}},{"name":"logging","description":"logging configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"logging configuration"}]}},{"name":"PIFs","description":"physical network interfaces","type":"PIF ref set","qualifier":"RO/runtime","tag":"networking","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"physical network interfaces"}]}},{"name":"suspend_image_sr","description":"The SR in which VDIs for suspend images are created","type":"SR ref","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The SR in which VDIs for suspend images are created"}]}},{"name":"crash_dump_sr","description":"The SR in which VDIs for crash dumps are created","type":"SR ref","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The SR in which VDIs for crash dumps are created"}]}},{"name":"crashdumps","description":"Set of host crash dumps","type":"host_crashdump ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Set of host crash dumps"}]}},{"name":"patches","description":"Set of host patches","type":"host_patch ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Set of host patches"},{"transition":"deprecated","release":"ely","description":""}]}},{"name":"updates","description":"Set of updates","type":"pool_update ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Set of updates"}]}},{"name":"PBDs","description":"physical blockdevices","type":"PBD ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"physical blockdevices"}]}},{"name":"host_CPUs","description":"The physical CPUs on this host","type":"host_cpu ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The physical CPUs on this host"}]}},{"name":"cpu_info","description":"Details about the physical CPUs on this host","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Details about the physical CPUs on this host"}]},"default":"{}"},{"name":"hostname","description":"The hostname of this host","type":"string","qualifier":"RW","tag":"networking","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The hostname of this host"}]}},{"name":"address","description":"The address by which this host can be contacted from any other host in the pool","type":"string","qualifier":"RW","tag":"networking","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The address by which this host can be contacted from any other host in the pool"}]}},{"name":"metrics","description":"metrics associated with this host","type":"host_metrics ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"metrics associated with this host"}]}},{"name":"license_params","description":"State of the current license","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"State of the current license"}]}},{"name":"ha_statefiles","description":"The set of statefiles accessible from this host","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"The set of statefiles accessible from this host"}]},"default":"{}"},{"name":"ha_network_peers","description":"The set of hosts visible via the network from this host","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"The set of hosts visible via the network from this host"}]},"default":"{}"},{"name":"blobs","description":"Binary blobs associated with this host","type":"(string -> blob ref) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Binary blobs associated with this host"}]},"default":"{}"},{"name":"tags","description":"user-specified tags for categorization purposes","type":"string set","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"default":"{}"},{"name":"external_auth_type","description":"type of external authentication service configured; empty if none configured.","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"type of external authentication service configured; empty if none configured."}]},"default":"\"\""},{"name":"external_auth_service_name","description":"name of external authentication service configured; empty if none configured.","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"name of external authentication service configured; empty if none configured."}]},"default":"\"\""},{"name":"external_auth_configuration","description":"configuration specific to external authentication service","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"configuration specific to external authentication service"}]},"default":"{}"},{"name":"edition","description":"Product edition","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Product edition"}]},"default":"\"\""},{"name":"license_server","description":"Contact information of the license server","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Contact information of the license server"}]},"default":"{\"address\" -> \"localhost\", \"port\" -> \"27000\"}"},{"name":"bios_strings","description":"BIOS strings","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"BIOS strings"}]},"default":"{}"},{"name":"power_on_mode","description":"The power on mode","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"The power on mode"}]},"default":"\"\""},{"name":"power_on_config","description":"The power on config","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"The power on config"}]},"default":"{}"},{"name":"local_cache_sr","description":"The SR that is used as a local cache","type":"SR ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"The SR that is used as a local cache"}]},"default":"OpaqueRef:NULL"},{"name":"chipset_info","description":"Information about chipset features","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"{}"},{"name":"PCIs","description":"List of PCI devices in the host","type":"PCI ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]}},{"name":"PGPUs","description":"List of physical GPUs in the host","type":"PGPU ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]}},{"name":"PUSBs","description":"List of physical USBs in the host","type":"PUSB ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]}},{"name":"ssl_legacy","description":"Allow SSLv3 protocol and ciphersuites as used by older server versions. This controls both incoming and outgoing connections. When this is set to a different value, the host immediately restarts its SSL/TLS listening service; typically this takes less than a second but existing connections to it will be broken. API login sessions will remain valid.","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"dundee","description":""},{"transition":"deprecated","release":"stockholm","description":"Legacy SSL no longer supported"}]},"default":"true"},{"name":"guest_VCPUs_params","description":"VCPUs params to apply to all resident guests","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"VCPUs params to apply to all resident guests"}]},"default":"{}"},{"name":"display","description":"indicates whether the host is configured to output its console to a physical display device","type":"enum host_display","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":"indicates whether the host is configured to output its console to a physical display device"}]},"default":"enabled"},{"name":"virtual_hardware_platform_versions","description":"The set of versions of the virtual hardware platform that the host can offer to its guests","type":"int set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":"The set of versions of the virtual hardware platform that the host can offer to its guests"}]},"default":"{0}"},{"name":"control_domain","description":"The control domain (domain 0)","type":"VM ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"The control domain (domain 0)"}]},"default":"OpaqueRef:NULL"},{"name":"updates_requiring_reboot","description":"List of updates which require reboot","type":"pool_update ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]}},{"name":"features","description":"List of features available on this host","type":"Feature ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]}},{"name":"iscsi_iqn","description":"The initiator IQN for the host","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"default":"\"\""},{"name":"multipathing","description":"Specifies whether multipathing is enabled","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"default":"false"},{"name":"uefi_certificates","description":"The UEFI certificates allowing Secure Boot","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"quebec","description":""},{"transition":"deprecated","release":"22.16.0","description":"Use Pool.uefi_certificates instead"}]},"default":"\"\""},{"name":"certificates","description":"List of certificates installed in the host","type":"Certificate ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]}},{"name":"editions","description":"List of all available product editions","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"default":"{}"},{"name":"pending_guidances","description":"The set of pending mandatory guidances after applying updates, which must be applied, as otherwise there may be e.g. VM failures","type":"enum update_guidances set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.303.0","description":"The set of pending mandatory guidances after applying updates, which must be applied, as otherwise there may be e.g. VM failures"}]},"default":"{}"},{"name":"tls_verification_enabled","description":"True if this host has TLS verifcation enabled","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.313.0","description":"True if this host has TLS verifcation enabled"}]},"default":"false"},{"name":"last_software_update","description":"Date and time when the last software update was applied","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.20.0","description":""}]},"default":"19700101T00:00:00Z"},{"name":"https_only","description":"Reflects whether port 80 is open (false) or not (true)","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.27.0","description":""}]},"default":"false"},{"name":"latest_synced_updates_applied","description":"Default as 'unknown', 'yes' if the host is up to date with updates synced from remote CDN, otherwise 'no'","type":"enum latest_synced_updates_applied_state","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.18.0","description":""}]},"default":"unknown"},{"name":"numa_affinity_policy","description":"NUMA-aware VM memory and vCPU placement policy","type":"enum host_numa_affinity_policy","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.0.0","description":""}]},"default":"default_policy"},{"name":"pending_guidances_recommended","description":"The set of pending recommended guidances after applying updates, which most users should follow to make the updates effective, but if not followed, will not cause a failure","type":"enum update_guidances set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.10.0","description":""}]},"default":"{}"},{"name":"pending_guidances_full","description":"The set of pending full guidances after applying updates, which a user should follow to make some updates, e.g. specific hardware drivers or CPU features, fully effective, but the 'average user' doesn't need to","type":"enum update_guidances set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.10.0","description":""}]},"default":"{}"},{"name":"last_update_hash","description":"The SHA256 checksum of updateinfo of the most recently applied update on the host","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.10.0","description":""}]},"default":"\"\""}],"messages":[{"name":"get_all_records","description":"Return a map of host references to host records for all hosts known to the system.","result":["(host ref -> host record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A physical host"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the hosts known to the system.","result":["host ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A physical host"}]},"implicit":true},{"name":"emergency_clear_mandatory_guidance","description":"Clear the pending mandatory guidance on this host","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":[],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.10.0","description":""}]},"implicit":false},{"name":"apply_recommended_guidances","description":"apply all recommended guidances both on the host and on all HVM VMs on the host after updates are applied on the host","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"The host whose recommended guidances will be applied"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"prototyped","release":"23.18.0","description":""},{"transition":"removed","release":"23.25.0","description":""}]},"implicit":false},{"name":"set_https_only","description":"updates the host firewall to open or close port 80 depending on the value","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"The Host"},{"type":"bool","name":"value","doc":"true - http port 80 will be blocked, false - http port 80 will be open"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.27.0","description":""}]},"implicit":false},{"name":"apply_updates","description":"apply updates from current enabled repository on a host","result":["string set set","The list of results after applying updates, including livepatch apply failures and recommended guidances"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"The host where updates will be applied"},{"type":"string","name":"hash","doc":"The hash of updateinfo to be applied which is returned by previous pool.sync_udpates"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":"apply updates from current enabled repository on a host"}]},"implicit":false},{"name":"emergency_reenable_tls_verification","description":"Reenable TLS verification for this host only","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":[],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.298.0","description":""}]},"implicit":false},{"name":"emergency_disable_tls_verification","description":"Disable TLS verification for this host only","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":[],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.290.0","description":""}]},"implicit":false},{"name":"set_numa_affinity_policy","description":"Set VM placement NUMA affinity policy","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"The host"},{"type":"enum host_numa_affinity_policy","name":"value","doc":"The NUMA affinity policy to apply to a host"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.0.0","description":""}]},"implicit":false},{"name":"get_sched_gran","description":"Gets xen's sched-gran on a host","result":["enum host_sched_gran","The host's sched-gran"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"The host"}],"errors":[],"roles":[],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.271.0","description":""}]},"implicit":false},{"name":"set_sched_gran","description":"Sets xen's sched-gran on a host. See: https://xenbits.xen.org/docs/unstable/misc/xen-command-line.html#sched-gran-x86","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"The host"},{"type":"enum host_sched_gran","name":"value","doc":"The sched-gran to apply to a host"}],"errors":[],"roles":[],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.271.0","description":""}]},"implicit":false},{"name":"set_uefi_certificates","description":"Sets the UEFI certificates on a host","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"},{"type":"string","name":"value","doc":"The certificates to apply to a host"}],"errors":[],"roles":[],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"quebec","description":""},{"transition":"deprecated","release":"22.16.0","description":"Use Pool.set_uefi_certificates instead"}]},"implicit":false},{"name":"set_multipathing","description":"Specifies whether multipathing is enabled","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"},{"type":"bool","name":"value","doc":"Whether multipathing should be enabled"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":false},{"name":"set_iscsi_iqn","description":"Sets the initiator IQN for the host","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"},{"type":"string","name":"value","doc":"The value to which the IQN should be set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":false},{"name":"set_ssl_legacy","description":"Enable/disable SSLv3 for interoperability with older server versions. When this is set to a different value, the host immediately restarts its SSL/TLS listening service; typically this takes less than a second but existing connections to it will be broken. API login sessions will remain valid.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"The host"},{"type":"bool","name":"value","doc":"True to allow SSLv3 and ciphersuites as used in old XenServer versions"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""},{"transition":"changed","release":"stockholm","description":"Legacy SSL no longer supported"}]},"implicit":false},{"name":"disable_display","description":"Disable console output to the physical display device next time this host boots","result":["enum host_display","This host's physical display usage"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":""}]},"implicit":false},{"name":"enable_display","description":"Enable console output to the physical display device next time this host boots","result":["enum host_display","This host's physical display usage"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":""}]},"implicit":false},{"name":"declare_dead","description":"Declare that a host is dead. This is a dangerous operation, and should only be called if the administrator is absolutely sure the host is definitely dead","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The Host to declare is dead"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"clearwater","description":"Declare that a host is dead. This is a dangerous operation, and should only be called if the administrator is absolutely sure the host is definitely dead"}]},"implicit":false},{"name":"migrate_receive","description":"Prepare to receive a VM, returning a token which can be passed to VM.migrate.","result":["(string -> string) map","A value which should be passed to VM.migrate"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The target host"},{"type":"network ref","name":"network","doc":"The network through which migration traffic should be received."},{"type":"(string -> string) map","name":"options","doc":"Extra configuration operations"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Prepare to receive a VM, returning a token which can be passed to VM.migrate."}]},"implicit":false},{"name":"disable_local_storage_caching","description":"Disable the use of a local SR for caching purposes","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Disable the use of a local SR for caching purposes"}]},"implicit":false},{"name":"enable_local_storage_caching","description":"Enable the use of a local SR for caching purposes","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"},{"type":"SR ref","name":"sr","doc":"The SR to use as a local cache"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Enable the use of a local SR for caching purposes"}]},"implicit":false},{"name":"reset_cpu_features","description":"Remove the feature mask, such that after a reboot all features of the CPU are enabled.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"midnight-ride","description":""},{"transition":"deprecated","release":"dundee","description":"Dummy transition"},{"transition":"removed","release":"dundee","description":"Manual CPU feature setting was removed"}]},"implicit":false},{"name":"set_cpu_features","description":"Set the CPU features to be used after a reboot, if the given features string is valid.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"},{"type":"string","name":"features","doc":"The features string (32 hexadecimal digits)"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"midnight-ride","description":""},{"transition":"deprecated","release":"dundee","description":"Dummy transition"},{"transition":"removed","release":"dundee","description":"Manual CPU feature setting was removed"}]},"implicit":false},{"name":"set_power_on_mode","description":"Set the power-on-mode, host, user and password","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"The host"},{"type":"string","name":"power_on_mode","doc":"power-on-mode can be empty, wake-on-lan, DRAC or other"},{"type":"(string -> string) map","name":"power_on_config","doc":"Power on config"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":""},{"transition":"changed","release":"stockholm","description":"Removed iLO script"}]},"implicit":false},{"name":"refresh_pack_info","description":"Refresh the list of installed Supplemental Packs.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The Host to modify"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"midnight-ride","description":""},{"transition":"deprecated","release":"ely","description":"Use Pool_update.resync_host instead"}]},"implicit":false},{"name":"apply_edition","description":"Change to another edition, or reactivate the current edition after a license has expired. This may be subject to the successful checkout of an appropriate license.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"},{"type":"string","name":"edition","doc":"The requested edition"},{"type":"bool","name":"force","doc":"Update the license params even if the apply call fails"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Change to another edition, or reactivate the current edition after a license has expired. This may be subject to the successful checkout of an appropriate license."}]},"implicit":false},{"name":"reset_server_certificate","description":"Delete the current TLS server certificate and replace by a new, self-signed one. This should only be used with extreme care.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.290.0","description":""}]},"implicit":false},{"name":"emergency_reset_server_certificate","description":"Delete the current TLS server certificate and replace by a new, self-signed one. This should only be used with extreme care.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":[],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"implicit":false},{"name":"install_server_certificate","description":"Install the TLS server certificate.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"},{"type":"string","name":"certificate","doc":"The server certificate, in PEM form"},{"type":"string","name":"private_key","doc":"The unencrypted private key used to sign the certificate, in PKCS#8 form"},{"type":"string","name":"certificate_chain","doc":"The certificate chain, in PEM form"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"implicit":false},{"name":"refresh_server_certificate","description":"Replace the internal self-signed host certficate with a new one.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.307.0","description":""}]},"implicit":false},{"name":"get_server_certificate","description":"Get the installed server public TLS certificate.","result":["string","The installed server public TLS certificate, in PEM form."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":""},{"transition":"changed","release":"inverness","description":"Now available to all RBAC roles."}]},"implicit":false},{"name":"retrieve_wlb_evacuate_recommendations","description":"Retrieves recommended host migrations to perform when evacuating the host from the wlb server. If a VM cannot be migrated from the host the reason is listed instead of a recommendation.","result":["(VM ref -> string set) map","VMs and the reasons why they would block evacuation, or their target host recommended by the wlb server"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"The host to query"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Retrieves recommended host migrations to perform when evacuating the host from the wlb server. If a VM cannot be migrated from the host the reason is listed instead of a recommendation."}]},"implicit":false},{"name":"disable_external_auth","description":"This call disables external authentication on the local host","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host whose external authentication should be disabled"},{"type":"(string -> string) map","name":"config","doc":"Optional parameters as a list of key-values containing the configuration data"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"This call disables external authentication on the local host"}]},"implicit":false},{"name":"enable_external_auth","description":"This call enables external authentication on a host","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host whose external authentication should be enabled"},{"type":"(string -> string) map","name":"config","doc":"A list of key-values containing the configuration data"},{"type":"string","name":"service_name","doc":"The name of the service"},{"type":"string","name":"auth_type","doc":"The type of authentication (e.g. AD for Active Directory)"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"This call enables external authentication on a host"}]},"implicit":false},{"name":"get_server_localtime","description":"This call queries the host's clock for the current time in the host's local timezone","result":["datetime","The current local time"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host whose clock should be queried"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"This call queries the host's clock for the current time in the host's local timezone"}]},"implicit":false},{"name":"get_servertime","description":"This call queries the host's clock for the current time","result":["datetime","The current time"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host whose clock should be queried"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"This call queries the host's clock for the current time"}]},"implicit":false},{"name":"call_extension","description":"Call an API extension on this host","result":["string","Result from the extension"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"},{"type":"string","name":"call","doc":"Rpc call for the extension"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Call an API extension on this host"}]},"implicit":false},{"name":"has_extension","description":"Return true if the extension is available on the host","result":["bool","True if the extension exists, false otherwise"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"},{"type":"string","name":"name","doc":"The name of the API call"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Return true if the extension is available on the host"}]},"implicit":false},{"name":"call_plugin","description":"Call an API plugin on this host","result":["string","Result from the plugin"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"},{"type":"string","name":"plugin","doc":"The name of the plugin"},{"type":"string","name":"fn","doc":"The name of the function within the plugin"},{"type":"(string -> string) map","name":"args","doc":"Arguments for the function"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Call an API plugin on this host"}]},"implicit":false},{"name":"create_new_blob","description":"Create a placeholder for a named binary blob of data that is associated with this host","result":["blob ref","The reference of the blob, needed for populating its data"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"},{"type":"string","name":"name","doc":"The name associated with the blob"},{"type":"string","name":"mime_type","doc":"The mime type for the data. Empty string translates to application/octet-stream"},{"type":"bool","name":"public","doc":"True if the blob should be publicly available"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Create a placeholder for a named binary blob of data that is associated with this host"}]},"implicit":false},{"name":"backup_rrds","description":"This causes the RRDs to be backed up to the master","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"Schedule a backup of the RRDs of this host"},{"type":"float","name":"delay","doc":"Delay in seconds from when the call is received to perform the backup"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"This causes the RRDs to be backed up to the master"}]},"implicit":false},{"name":"sync_data","description":"This causes the synchronisation of the non-database data (messages, RRDs and so on) stored on the master to be synchronised with the host","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host to whom the data should be sent"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"This causes the synchronisation of the non-database data (messages, RRDs and so on) stored on the master to be synchronised with the host"}]},"implicit":false},{"name":"compute_memory_overhead","description":"Computes the virtualization memory overhead of a host.","result":["int","the virtualization memory overhead of the host."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host for which to compute the memory overhead"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Computes the virtualization memory overhead of a host."}]},"implicit":false},{"name":"compute_free_memory","description":"Computes the amount of free memory on the host.","result":["int","the amount of free memory on the host."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host to send the request to"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Computes the amount of free memory on the host."}]},"implicit":false},{"name":"set_hostname_live","description":"Sets the host name to the specified string. Both the API and lower-level system hostname are changed immediately.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host whose host name to set"},{"type":"string","name":"hostname","doc":"The new host name"}],"errors":[{"name":"HOST_NAME_INVALID","doc":"The server name is invalid."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Sets the host name to the specified string. Both the API and lower-level system hostname are changed immediately."}]},"implicit":false},{"name":"shutdown_agent","description":"Shuts the agent down after a 10 second pause. WARNING: this is a dangerous operation. Any operations in progress will be aborted, and unrecoverable data loss may occur. The caller is responsible for ensuring that there are no operations in progress when this method is called.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Shuts the agent down after a 10 second pause. WARNING: this is a dangerous operation. Any operations in progress will be aborted, and unrecoverable data loss may occur. The caller is responsible for ensuring that there are no operations in progress when this method is called."}]},"implicit":false},{"name":"restart_agent","description":"Restarts the agent after a 10 second pause. WARNING: this is a dangerous operation. Any operations in progress will be aborted, and unrecoverable data loss may occur. The caller is responsible for ensuring that there are no operations in progress when this method is called.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The Host on which you want to restart the agent"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Restarts the agent after a 10 second pause. WARNING: this is a dangerous operation. Any operations in progress will be aborted, and unrecoverable data loss may occur. The caller is responsible for ensuring that there are no operations in progress when this method is called."}]},"implicit":false},{"name":"get_system_status_capabilities","description":"","result":["string","An XML fragment containing the system status capabilities."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host to interrogate"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":""}]},"implicit":false},{"name":"get_management_interface","description":"Returns the management interface for the specified host","result":["PIF ref","The management interface for the host"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"Which host's management interface is required"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"networking","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":""}]},"implicit":false},{"name":"management_disable","description":"Disable the management network interface","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"networking","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Disable the management network interface"}]},"implicit":false},{"name":"local_management_reconfigure","description":"Reconfigure the management network interface. Should only be used if Host.management_reconfigure is impossible because the network configuration is broken.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"interface","doc":"name of the interface to use as a management interface"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Reconfigure the management network interface. Should only be used if Host.management_reconfigure is impossible because the network configuration is broken."}]},"implicit":false},{"name":"management_reconfigure","description":"Reconfigure the management network interface","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"pif","doc":"reference to a PIF object corresponding to the management interface"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"networking","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Reconfigure the management network interface"}]},"implicit":false},{"name":"syslog_reconfigure","description":"Re-configure syslog logging","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"Tell the host to reread its Host.logging parameters and reconfigure itself accordingly"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Re-configure syslog logging"}]},"implicit":false},{"name":"evacuate","description":"Migrate all VMs off of this host, where possible.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host to evacuate"},{"type":"network ref","name":"network","doc":"Optional preferred network for migration"},{"type":"int","name":"evacuate_batch_size","doc":"The maximum number of VMs to be migrated per batch 0 will use the value `evacuation-batch-size` defined in xapi.conf"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":""},{"transition":"extended","release":"1.297.0","description":"Enable migration network selection."},{"transition":"extended","release":"23.27.0","description":"Choose batch size of VM evacuation."}]},"implicit":false},{"name":"get_uncooperative_resident_VMs","description":"Return a set of VMs which are not co-operating with the host's memory control system","result":["VM ref set","VMs which are not co-operating"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"The host to query"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Return a set of VMs which are not co-operating with the host's memory control system"},{"transition":"deprecated","release":"tampa","description":""}]},"implicit":false},{"name":"get_vms_which_prevent_evacuation","description":"Return a set of VMs which prevent the host being evacuated, with per-VM error codes","result":["(VM ref -> string set) map","VMs which block evacuation together with reasons"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"The host to query"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Return a set of VMs which prevent the host being evacuated, with per-VM error codes"}]},"implicit":false},{"name":"assert_can_evacuate","description":"Check this host can be evacuated.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host to evacuate"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Check this host can be evacuated."}]},"implicit":false},{"name":"forget_data_source_archives","description":"Forget the recorded statistics related to the specified data source","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"},{"type":"string","name":"data_source","doc":"The data source whose archives are to be forgotten"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Forget the recorded statistics related to the specified data source"}]},"implicit":false},{"name":"query_data_source","description":"Query the latest value of the specified data source","result":["float","The latest value, averaged over the last 5 seconds"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"},{"type":"string","name":"data_source","doc":"The data source to query"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Query the latest value of the specified data source"}]},"implicit":false},{"name":"record_data_source","description":"Start recording the specified data source","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"},{"type":"string","name":"data_source","doc":"The data source to record"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Start recording the specified data source"}]},"implicit":false},{"name":"get_data_sources","description":"","result":["data_source record set","A set of data sources"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host to interrogate"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":""}]},"implicit":false},{"name":"emergency_ha_disable","description":"This call disables HA on the local host. This should only be used with extreme care.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"bool","name":"soft","doc":"Disable HA temporarily, revert upon host reboot or further changes, idempotent"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"This call disables HA on the local host. This should only be used with extreme care."}]},"implicit":false},{"name":"power_on","description":"Attempt to power-on the host (if the capability exists).","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The Host to power on"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Attempt to power-on the host (if the capability exists)."}]},"implicit":false},{"name":"destroy","description":"Destroy specified host record in database","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"The host record to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Destroy specified host record in database"}]},"implicit":false},{"name":"license_remove","description":"Remove any license file from the specified host, and switch that host to the unlicensed edition","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host from which any license will be removed"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"indigo","description":""}]},"implicit":false},{"name":"license_add","description":"Apply a new license to a host","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host to upload the license to"},{"type":"string","name":"contents","doc":"The contents of the license file, base64 encoded"}],"errors":[{"name":"LICENSE_PROCESSING_ERROR","doc":"There was an error processing your license. Please contact your support representative."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"indigo","description":"Functionality for parsing license files re-added"}]},"implicit":false},{"name":"license_apply","description":"Apply a new license to a host","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host to upload the license to"},{"type":"string","name":"contents","doc":"The contents of the license file, base64 encoded"}],"errors":[{"name":"LICENSE_PROCESSING_ERROR","doc":"There was an error processing your license. Please contact your support representative."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":"Apply a new license to a host"},{"transition":"deprecated","release":"clearwater","description":"Dummy transition"},{"transition":"removed","release":"clearwater","description":"Free licenses no longer handled by xapi"}]},"implicit":false},{"name":"list_methods","description":"List all supported methods","result":["string set","The name of every supported method."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"List all supported methods"}]},"implicit":false},{"name":"bugreport_upload","description":"Run xen-bugtool --yestoall and upload the output to support","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host on which to run xen-bugtool"},{"type":"string","name":"url","doc":"The URL to upload to"},{"type":"(string -> string) map","name":"options","doc":"Extra configuration operations"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Run xen-bugtool --yestoall and upload the output to support"}]},"implicit":false},{"name":"send_debug_keys","description":"Inject the given string as debugging keys into Xen","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"},{"type":"string","name":"keys","doc":"The keys to send"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Inject the given string as debugging keys into Xen"}]},"implicit":false},{"name":"get_log","description":"Get the host's log file","result":["string","The contents of the host's primary log file"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The Host to query"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Get the host's log file"}]},"implicit":false},{"name":"dmesg_clear","description":"Get the host xen dmesg, and clear the buffer.","result":["string","dmesg string"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The Host to query"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Get the host xen dmesg, and clear the buffer."}]},"implicit":false},{"name":"dmesg","description":"Get the host xen dmesg.","result":["string","dmesg string"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The Host to query"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Get the host xen dmesg."}]},"implicit":false},{"name":"reboot","description":"Reboot the host. (This function can only be called if there are no currently running VMs on the host and it is disabled.)","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The Host to reboot"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Reboot the host. (This function can only be called if there are no currently running VMs on the host and it is disabled.)"}]},"implicit":false},{"name":"shutdown","description":"Shutdown the host. (This function can only be called if there are no currently running VMs on the host and it is disabled.)","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The Host to shutdown"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Shutdown the host. (This function can only be called if there are no currently running VMs on the host and it is disabled.)"}]},"implicit":false},{"name":"enable","description":"Puts the host into a state in which new VMs can be started.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The Host to enable"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Puts the host into a state in which new VMs can be started."}]},"implicit":false},{"name":"disable","description":"Puts the host into a state in which no new VMs can be started. Currently active VMs on the host continue to execute.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The Host to disable"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Puts the host into a state in which no new VMs can be started. Currently active VMs on the host continue to execute."}]},"implicit":false},{"name":"set_display","description":"Set the display field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"enum host_display","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":"indicates whether the host is configured to output its console to a physical display device"}]},"implicit":true},{"name":"remove_from_guest_VCPUs_params","description":"Remove the given key and its corresponding value from the guest_VCPUs_params field of the given host. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"VCPUs params to apply to all resident guests"}]},"implicit":true},{"name":"add_to_guest_VCPUs_params","description":"Add the given key-value pair to the guest_VCPUs_params field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"VCPUs params to apply to all resident guests"}]},"implicit":true},{"name":"set_guest_VCPUs_params","description":"Set the guest_VCPUs_params field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"VCPUs params to apply to all resident guests"}]},"implicit":true},{"name":"remove_from_license_server","description":"Remove the given key and its corresponding value from the license_server field of the given host. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Contact information of the license server"}]},"implicit":true},{"name":"add_to_license_server","description":"Add the given key-value pair to the license_server field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Contact information of the license server"}]},"implicit":true},{"name":"set_license_server","description":"Set the license_server field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Contact information of the license server"}]},"implicit":true},{"name":"remove_tags","description":"Remove the given value from the tags field of the given host. If the value is not in that Set, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"Value to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"add_tags","description":"Add the given value to the tags field of the given host. If the value is already in that Set, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"set_tags","description":"Set the tags field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"string set","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"set_address","description":"Set the address field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The address by which this host can be contacted from any other host in the pool"}]},"implicit":true},{"name":"set_hostname","description":"Set the hostname field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The hostname of this host"}]},"implicit":true},{"name":"set_crash_dump_sr","description":"Set the crash_dump_sr field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"SR ref","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The SR in which VDIs for crash dumps are created"}]},"implicit":true},{"name":"set_suspend_image_sr","description":"Set the suspend_image_sr field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"SR ref","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The SR in which VDIs for suspend images are created"}]},"implicit":true},{"name":"remove_from_logging","description":"Remove the given key and its corresponding value from the logging field of the given host. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"logging configuration"}]},"implicit":true},{"name":"add_to_logging","description":"Add the given key-value pair to the logging field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"logging configuration"}]},"implicit":true},{"name":"set_logging","description":"Set the logging field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"logging configuration"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given host. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"set_name_description","description":"Set the name/description field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"set_name_label","description":"Set the name/label field of the given host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_last_update_hash","description":"Get the last_update_hash field of the given host.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.10.0","description":""}]},"implicit":true},{"name":"get_pending_guidances_full","description":"Get the pending_guidances_full field of the given host.","result":["enum update_guidances set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.10.0","description":""}]},"implicit":true},{"name":"get_pending_guidances_recommended","description":"Get the pending_guidances_recommended field of the given host.","result":["enum update_guidances set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.10.0","description":""}]},"implicit":true},{"name":"get_numa_affinity_policy","description":"Get the numa_affinity_policy field of the given host.","result":["enum host_numa_affinity_policy","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.0.0","description":""}]},"implicit":true},{"name":"get_latest_synced_updates_applied","description":"Get the latest_synced_updates_applied field of the given host.","result":["enum latest_synced_updates_applied_state","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.18.0","description":""}]},"implicit":true},{"name":"get_https_only","description":"Get the https_only field of the given host.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.27.0","description":""}]},"implicit":true},{"name":"get_last_software_update","description":"Get the last_software_update field of the given host.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.20.0","description":""}]},"implicit":true},{"name":"get_tls_verification_enabled","description":"Get the tls_verification_enabled field of the given host.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.313.0","description":"True if this host has TLS verifcation enabled"}]},"implicit":true},{"name":"get_pending_guidances","description":"Get the pending_guidances field of the given host.","result":["enum update_guidances set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.303.0","description":"The set of pending mandatory guidances after applying updates, which must be applied, as otherwise there may be e.g. VM failures"}]},"implicit":true},{"name":"get_editions","description":"Get the editions field of the given host.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"implicit":true},{"name":"get_certificates","description":"Get the certificates field of the given host.","result":["Certificate ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"implicit":true},{"name":"get_uefi_certificates","description":"Get the uefi_certificates field of the given host.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"quebec","description":""},{"transition":"deprecated","release":"22.16.0","description":"Use Pool.uefi_certificates instead"}]},"implicit":true},{"name":"get_multipathing","description":"Get the multipathing field of the given host.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":true},{"name":"get_iscsi_iqn","description":"Get the iscsi_iqn field of the given host.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":true},{"name":"get_features","description":"Get the features field of the given host.","result":["Feature ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_updates_requiring_reboot","description":"Get the updates_requiring_reboot field of the given host.","result":["pool_update ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_control_domain","description":"Get the control_domain field of the given host.","result":["VM ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"The control domain (domain 0)"}]},"implicit":true},{"name":"get_virtual_hardware_platform_versions","description":"Get the virtual_hardware_platform_versions field of the given host.","result":["int set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":"The set of versions of the virtual hardware platform that the host can offer to its guests"}]},"implicit":true},{"name":"get_display","description":"Get the display field of the given host.","result":["enum host_display","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":"indicates whether the host is configured to output its console to a physical display device"}]},"implicit":true},{"name":"get_guest_VCPUs_params","description":"Get the guest_VCPUs_params field of the given host.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"VCPUs params to apply to all resident guests"}]},"implicit":true},{"name":"get_ssl_legacy","description":"Get the ssl_legacy field of the given host.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"dundee","description":""},{"transition":"deprecated","release":"stockholm","description":"Legacy SSL no longer supported"}]},"implicit":true},{"name":"get_PUSBs","description":"Get the PUSBs field of the given host.","result":["PUSB ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_PGPUs","description":"Get the PGPUs field of the given host.","result":["PGPU ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_PCIs","description":"Get the PCIs field of the given host.","result":["PCI ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_chipset_info","description":"Get the chipset_info field of the given host.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_local_cache_sr","description":"Get the local_cache_sr field of the given host.","result":["SR ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"The SR that is used as a local cache"}]},"implicit":true},{"name":"get_power_on_config","description":"Get the power_on_config field of the given host.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"The power on config"}]},"implicit":true},{"name":"get_power_on_mode","description":"Get the power_on_mode field of the given host.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"The power on mode"}]},"implicit":true},{"name":"get_bios_strings","description":"Get the bios_strings field of the given host.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"BIOS strings"}]},"implicit":true},{"name":"get_license_server","description":"Get the license_server field of the given host.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Contact information of the license server"}]},"implicit":true},{"name":"get_edition","description":"Get the edition field of the given host.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Product edition"}]},"implicit":true},{"name":"get_external_auth_configuration","description":"Get the external_auth_configuration field of the given host.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"configuration specific to external authentication service"}]},"implicit":true},{"name":"get_external_auth_service_name","description":"Get the external_auth_service_name field of the given host.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"name of external authentication service configured; empty if none configured."}]},"implicit":true},{"name":"get_external_auth_type","description":"Get the external_auth_type field of the given host.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"type of external authentication service configured; empty if none configured."}]},"implicit":true},{"name":"get_tags","description":"Get the tags field of the given host.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"get_blobs","description":"Get the blobs field of the given host.","result":["(string -> blob ref) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Binary blobs associated with this host"}]},"implicit":true},{"name":"get_ha_network_peers","description":"Get the ha_network_peers field of the given host.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"The set of hosts visible via the network from this host"}]},"implicit":true},{"name":"get_ha_statefiles","description":"Get the ha_statefiles field of the given host.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"The set of statefiles accessible from this host"}]},"implicit":true},{"name":"get_license_params","description":"Get the license_params field of the given host.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"State of the current license"}]},"implicit":true},{"name":"get_metrics","description":"Get the metrics field of the given host.","result":["host_metrics ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"metrics associated with this host"}]},"implicit":true},{"name":"get_address","description":"Get the address field of the given host.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The address by which this host can be contacted from any other host in the pool"}]},"implicit":true},{"name":"get_hostname","description":"Get the hostname field of the given host.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The hostname of this host"}]},"implicit":true},{"name":"get_cpu_info","description":"Get the cpu_info field of the given host.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"Details about the physical CPUs on this host"}]},"implicit":true},{"name":"get_host_CPUs","description":"Get the host_CPUs field of the given host.","result":["host_cpu ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The physical CPUs on this host"}]},"implicit":true},{"name":"get_PBDs","description":"Get the PBDs field of the given host.","result":["PBD ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"physical blockdevices"}]},"implicit":true},{"name":"get_updates","description":"Get the updates field of the given host.","result":["pool_update ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Set of updates"}]},"implicit":true},{"name":"get_patches","description":"Get the patches field of the given host.","result":["host_patch ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Set of host patches"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":true},{"name":"get_crashdumps","description":"Get the crashdumps field of the given host.","result":["host_crashdump ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Set of host crash dumps"}]},"implicit":true},{"name":"get_crash_dump_sr","description":"Get the crash_dump_sr field of the given host.","result":["SR ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The SR in which VDIs for crash dumps are created"}]},"implicit":true},{"name":"get_suspend_image_sr","description":"Get the suspend_image_sr field of the given host.","result":["SR ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The SR in which VDIs for suspend images are created"}]},"implicit":true},{"name":"get_PIFs","description":"Get the PIFs field of the given host.","result":["PIF ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"physical network interfaces"}]},"implicit":true},{"name":"get_logging","description":"Get the logging field of the given host.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"logging configuration"}]},"implicit":true},{"name":"get_resident_VMs","description":"Get the resident_VMs field of the given host.","result":["VM ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of VMs currently resident on host"}]},"implicit":true},{"name":"get_supported_bootloaders","description":"Get the supported_bootloaders field of the given host.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a list of the bootloaders installed on the machine"}]},"implicit":true},{"name":"get_sched_policy","description":"Get the sched_policy field of the given host.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Scheduler policy currently in force on this host"}]},"implicit":true},{"name":"get_cpu_configuration","description":"Get the cpu_configuration field of the given host.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The CPU configuration on this host. May contain keys such as \"nr_nodes\", \"sockets_per_node\", \"cores_per_socket\", or \"threads_per_core\""}]},"implicit":true},{"name":"get_capabilities","description":"Get the capabilities field of the given host.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Xen capabilities"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given host.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"get_software_version","description":"Get the software_version field of the given host.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"version strings"}]},"implicit":true},{"name":"get_enabled","description":"Get the enabled field of the given host.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"True if the host is currently enabled"}]},"implicit":true},{"name":"get_API_version_vendor_implementation","description":"Get the API_version/vendor_implementation field of the given host.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"details of vendor implementation"}]},"implicit":true},{"name":"get_API_version_vendor","description":"Get the API_version/vendor field of the given host.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"identification of vendor"}]},"implicit":true},{"name":"get_API_version_minor","description":"Get the API_version/minor field of the given host.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"minor version number"}]},"implicit":true},{"name":"get_API_version_major","description":"Get the API_version/major field of the given host.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"major version number"}]},"implicit":true},{"name":"get_current_operations","description":"Get the current_operations field of the given host.","result":["(string -> enum host_allowed_operations) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"implicit":true},{"name":"get_allowed_operations","description":"Get the allowed_operations field of the given host.","result":["enum host_allowed_operations set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"implicit":true},{"name":"get_memory_overhead","description":"Get the memory/overhead field of the given host.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Virtualization memory overhead (bytes)."}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given host.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given host.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given host.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the host instances with the given label.","result":["host ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A physical host"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the host instance with the specified UUID.","result":["host ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A physical host"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given host.","result":["host record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A physical host"}]},"implicit":true}],"enums":[{"name":"host_allowed_operations","values":[{"name":"provision","doc":"Indicates this host is able to provision another VM"},{"name":"evacuate","doc":"Indicates this host is evacuating"},{"name":"shutdown","doc":"Indicates this host is in the process of shutting itself down"},{"name":"reboot","doc":"Indicates this host is in the process of rebooting"},{"name":"power_on","doc":"Indicates this host is in the process of being powered on"},{"name":"vm_start","doc":"This host is starting a VM"},{"name":"vm_resume","doc":"This host is resuming a VM"},{"name":"vm_migrate","doc":"This host is the migration target of a VM"},{"name":"apply_updates","doc":"Indicates this host is being updated"},{"name":"enable","doc":"Indicates this host is in the process of enabling"}]},{"name":"latest_synced_updates_applied_state","values":[{"name":"yes","doc":"The host is up to date with the latest updates synced from remote CDN"},{"name":"no","doc":"The host is outdated with the latest updates synced from remote CDN"},{"name":"unknown","doc":"If the host is up to date with the latest updates synced from remote CDN is unknown"}]},{"name":"update_guidances","values":[{"name":"reboot_host","doc":"Indicates the updated host should reboot as soon as possible"},{"name":"reboot_host_on_livepatch_failure","doc":"Indicates the updated host should reboot as soon as possible since one or more livepatch(es) failed to be applied."},{"name":"reboot_host_on_kernel_livepatch_failure","doc":"Indicates the updated host should reboot as soon as possible since one or more kernel livepatch(es) failed to be applied."},{"name":"reboot_host_on_xen_livepatch_failure","doc":"Indicates the updated host should reboot as soon as possible since one or more xen livepatch(es) failed to be applied."},{"name":"restart_toolstack","doc":"Indicates the Toolstack running on the updated host should restart as soon as possible"},{"name":"restart_device_model","doc":"Indicates the device model of a running VM should restart as soon as possible"},{"name":"restart_vm","doc":"Indicates the VM should restart as soon as possible"}]},{"name":"host_display","values":[{"name":"enabled","doc":"This host is outputting its console to a physical display device"},{"name":"disable_on_reboot","doc":"The host will stop outputting its console to a physical display device on next boot"},{"name":"disabled","doc":"This host is not outputting its console to a physical display device"},{"name":"enable_on_reboot","doc":"The host will start outputting its console to a physical display device on next boot"}]},{"name":"host_sched_gran","values":[{"name":"core","doc":"core scheduling"},{"name":"cpu","doc":"CPU scheduling"},{"name":"socket","doc":"socket scheduling"}]},{"name":"host_numa_affinity_policy","values":[{"name":"any","doc":"VMs are spread across all available NUMA nodes"},{"name":"best_effort","doc":"VMs are placed on the smallest number of NUMA nodes that they fit using soft-pinning, but the policy doesn't guarantee a balanced placement, falling back to the 'any' policy."},{"name":"default_policy","doc":"Use the NUMA affinity policy that is the default for the current version"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A physical host"}]},"tag":""},{"name":"host_crashdump","description":"Represents a host crash dump","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"host","description":"Host the crashdump relates to","type":"host ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Host the crashdump relates to"}]}},{"name":"timestamp","description":"Time the crash happened","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time the crash happened"}]}},{"name":"size","description":"Size of the crashdump","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Size of the crashdump"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of host_crashdump references to host_crashdump records for all host_crashdumps known to the system.","result":["(host_crashdump ref -> host_crashdump record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Represents a host crash dump"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the host_crashdumps known to the system.","result":["host_crashdump ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Represents a host crash dump"}]},"implicit":true},{"name":"upload","description":"Upload the specified host crash dump to a specified URL","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_crashdump ref","name":"self","doc":"The host crashdump to upload"},{"type":"string","name":"url","doc":"The URL to upload to"},{"type":"(string -> string) map","name":"options","doc":"Extra configuration operations"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Upload the specified host crash dump to a specified URL"}]},"implicit":false},{"name":"destroy","description":"Destroy specified host crash dump, removing it from the disk.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_crashdump ref","name":"self","doc":"The host crashdump to destroy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Destroy specified host crash dump, removing it from the disk."}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given host_crashdump. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_crashdump ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given host_crashdump.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_crashdump ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given host_crashdump.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_crashdump ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given host_crashdump.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_crashdump ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_size","description":"Get the size field of the given host_crashdump.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_crashdump ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Size of the crashdump"}]},"implicit":true},{"name":"get_timestamp","description":"Get the timestamp field of the given host_crashdump.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_crashdump ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time the crash happened"}]},"implicit":true},{"name":"get_host","description":"Get the host field of the given host_crashdump.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_crashdump ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Host the crashdump relates to"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given host_crashdump.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_crashdump ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the host_crashdump instance with the specified UUID.","result":["host_crashdump ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Represents a host crash dump"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given host_crashdump.","result":["host_crashdump record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_crashdump ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Represents a host crash dump"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Represents a host crash dump"}]},"tag":""},{"name":"host_patch","description":"Represents a patch stored on a server","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"version","description":"Patch version number","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Patch version number"}]}},{"name":"host","description":"Host the patch relates to","type":"host ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Host the patch relates to"}]}},{"name":"applied","description":"True if the patch has been applied","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"True if the patch has been applied"}]}},{"name":"timestamp_applied","description":"Time the patch was applied","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time the patch was applied"}]}},{"name":"size","description":"Size of the patch","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Size of the patch"}]}},{"name":"pool_patch","description":"The patch applied","type":"pool_patch ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"The patch applied"}]},"default":"Null"},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of host_patch references to host_patch records for all host_patchs known to the system.","result":["(host_patch ref -> host_patch record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Represents a patch stored on a server"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the host_patchs known to the system.","result":["host_patch ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Represents a patch stored on a server"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":true},{"name":"apply","description":"Apply the selected patch and return its output","result":["string","the output of the patch application process"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"The patch to apply"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Apply the selected patch and return its output"},{"transition":"deprecated","release":"miami","description":""}]},"implicit":false},{"name":"destroy","description":"Destroy the specified host patch, removing it from the disk. This does NOT reverse the patch","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"The patch to destroy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Destroy the specified host patch, removing it from the disk. This does NOT reverse the patch"},{"transition":"deprecated","release":"miami","description":""}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given host_patch. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given host_patch.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given host_patch.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given host_patch.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_pool_patch","description":"Get the pool_patch field of the given host_patch.","result":["pool_patch ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"The patch applied"}]},"implicit":true},{"name":"get_size","description":"Get the size field of the given host_patch.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Size of the patch"}]},"implicit":true},{"name":"get_timestamp_applied","description":"Get the timestamp_applied field of the given host_patch.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time the patch was applied"}]},"implicit":true},{"name":"get_applied","description":"Get the applied field of the given host_patch.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"True if the patch has been applied"}]},"implicit":true},{"name":"get_host","description":"Get the host field of the given host_patch.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Host the patch relates to"}]},"implicit":true},{"name":"get_version","description":"Get the version field of the given host_patch.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Patch version number"}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given host_patch.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given host_patch.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given host_patch.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the host_patch instances with the given label.","result":["host_patch ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Represents a patch stored on a server"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the host_patch instance with the specified UUID.","result":["host_patch ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Represents a patch stored on a server"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given host_patch.","result":["host_patch record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_patch ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Represents a patch stored on a server"},{"transition":"deprecated","release":"ely","description":""}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Represents a patch stored on a server"},{"transition":"deprecated","release":"ely","description":""}]},"tag":""},{"name":"host_metrics","description":"The metrics associated with a host","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"memory_total","description":"Total host memory (bytes)","type":"int","qualifier":"RO/runtime","tag":"memory","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Total host memory (bytes)"}]}},{"name":"memory_free","description":"Free host memory (bytes)","type":"int","qualifier":"RO/runtime","tag":"memory","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"midnight-ride","description":"Will be disabled in favour of RRD"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRD"}]},"default":"0"},{"name":"live","description":"Pool master thinks this host is live","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Pool master thinks this host is live"}]}},{"name":"last_updated","description":"Time at which this information was last updated","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which this information was last updated"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of host_metrics references to host_metrics records for all host_metrics instances known to the system.","result":["(host_metrics ref -> host_metrics record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a host"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the host_metrics instances known to the system.","result":["host_metrics ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a host"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given host_metrics. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_metrics ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given host_metrics.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_metrics ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given host_metrics.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_metrics ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given host_metrics.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"get_last_updated","description":"Get the last_updated field of the given host_metrics.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which this information was last updated"}]},"implicit":true},{"name":"get_live","description":"Get the live field of the given host_metrics.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Pool master thinks this host is live"}]},"implicit":true},{"name":"get_memory_free","description":"Get the memory/free field of the given host_metrics.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"midnight-ride","description":"Will be disabled in favour of RRD"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRD"}]},"implicit":true},{"name":"get_memory_total","description":"Get the memory/total field of the given host_metrics.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Total host memory (bytes)"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given host_metrics.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the host_metrics instance with the specified UUID.","result":["host_metrics ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a host"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given host_metrics.","result":["host_metrics record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a host"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a host"}]},"tag":""},{"name":"host_cpu","description":"A physical CPU","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"host","description":"the host the CPU is in","type":"host ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the host the CPU is in"}]}},{"name":"number","description":"the number of the physical CPU within the host","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the number of the physical CPU within the host"}]}},{"name":"vendor","description":"the vendor of the physical CPU","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the vendor of the physical CPU"}]}},{"name":"speed","description":"the speed of the physical CPU","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the speed of the physical CPU"}]}},{"name":"modelname","description":"the model name of the physical CPU","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the model name of the physical CPU"}]}},{"name":"family","description":"the family (number) of the physical CPU","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the family (number) of the physical CPU"}]}},{"name":"model","description":"the model number of the physical CPU","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the model number of the physical CPU"}]}},{"name":"stepping","description":"the stepping of the physical CPU","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the stepping of the physical CPU"}]}},{"name":"flags","description":"the flags of the physical CPU (a decoded version of the features field)","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the flags of the physical CPU (a decoded version of the features field)"}]}},{"name":"features","description":"the physical CPU feature bitmap","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the physical CPU feature bitmap"}]}},{"name":"utilisation","description":"the current CPU utilisation","type":"float","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the current CPU utilisation"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of host_cpu references to host_cpu records for all host_cpus known to the system.","result":["(host_cpu ref -> host_cpu record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"A physical CPU"},{"transition":"deprecated","release":"midnight-ride","description":"Deprecated in favour of the Host.cpu_info field"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the host_cpus known to the system.","result":["host_cpu ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"A physical CPU"},{"transition":"deprecated","release":"midnight-ride","description":"Deprecated in favour of the Host.cpu_info field"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given host_cpu. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given host_cpu.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given host_cpu.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given host_cpu.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"get_utilisation","description":"Get the utilisation field of the given host_cpu.","result":["float","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the current CPU utilisation"}]},"implicit":true},{"name":"get_features","description":"Get the features field of the given host_cpu.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the physical CPU feature bitmap"}]},"implicit":true},{"name":"get_flags","description":"Get the flags field of the given host_cpu.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the flags of the physical CPU (a decoded version of the features field)"}]},"implicit":true},{"name":"get_stepping","description":"Get the stepping field of the given host_cpu.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the stepping of the physical CPU"}]},"implicit":true},{"name":"get_model","description":"Get the model field of the given host_cpu.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the model number of the physical CPU"}]},"implicit":true},{"name":"get_family","description":"Get the family field of the given host_cpu.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the family (number) of the physical CPU"}]},"implicit":true},{"name":"get_modelname","description":"Get the modelname field of the given host_cpu.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the model name of the physical CPU"}]},"implicit":true},{"name":"get_speed","description":"Get the speed field of the given host_cpu.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the speed of the physical CPU"}]},"implicit":true},{"name":"get_vendor","description":"Get the vendor field of the given host_cpu.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the vendor of the physical CPU"}]},"implicit":true},{"name":"get_number","description":"Get the number field of the given host_cpu.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the number of the physical CPU within the host"}]},"implicit":true},{"name":"get_host","description":"Get the host field of the given host_cpu.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the host the CPU is in"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given host_cpu.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the host_cpu instance with the specified UUID.","result":["host_cpu ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"A physical CPU"},{"transition":"deprecated","release":"midnight-ride","description":"Deprecated in favour of the Host.cpu_info field"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given host_cpu.","result":["host_cpu record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host_cpu ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"A physical CPU"},{"transition":"deprecated","release":"midnight-ride","description":"Deprecated in favour of the Host.cpu_info field"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"A physical CPU"},{"transition":"deprecated","release":"midnight-ride","description":"Deprecated in favour of the Host.cpu_info field"}]},"tag":""},{"name":"network","description":"A virtual network","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"allowed_operations","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client.","type":"enum network_operations set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"default":"{}"},{"name":"current_operations","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task.","type":"(string -> enum network_operations) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"default":"{}"},{"name":"VIFs","description":"list of connected vifs","type":"VIF ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of connected vifs"}]}},{"name":"PIFs","description":"list of connected pifs","type":"PIF ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of connected pifs"}]}},{"name":"MTU","description":"MTU in octets","type":"int","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"MTU in octets"}]},"default":"1500"},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]}},{"name":"bridge","description":"name of the bridge corresponding to this network on the local host","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"falcon","description":"Added to the constructor (network.create)"}]},"default":"\"\""},{"name":"managed","description":"true if the bridge is managed by xapi","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"default":"true"},{"name":"blobs","description":"Binary blobs associated with this network","type":"(string -> blob ref) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Binary blobs associated with this network"}]},"default":"{}"},{"name":"tags","description":"user-specified tags for categorization purposes","type":"string set","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"default":"{}"},{"name":"default_locking_mode","description":"The network will use this value to determine the behaviour of all VIFs where locking_mode = default","type":"enum network_default_locking_mode","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"The network will use this value to determine the behaviour of all VIFs where locking_mode = default"}]},"default":"unlocked"},{"name":"assigned_ips","description":"The IP addresses assigned to VIFs on networks that have active xapi-managed DHCP","type":"(VIF ref -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"creedence","description":"The IP addresses assigned to VIFs on networks that have active xapi-managed DHCP"}]},"default":"{}"},{"name":"purpose","description":"Set of purposes for which the server will use this network","type":"enum network_purpose set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"Set of purposes for which the server will use this network"}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of network references to network records for all networks known to the system.","result":["(network ref -> network record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual network"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the networks known to the system.","result":["network ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual network"}]},"implicit":true},{"name":"remove_purpose","description":"Remove a purpose from a network (if present)","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"The network"},{"type":"enum network_purpose","name":"value","doc":"The purpose to remove"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"Remove a purpose from a network (if present)"}]},"implicit":false},{"name":"add_purpose","description":"Give a network a new purpose (if not present already)","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"The network"},{"type":"enum network_purpose","name":"value","doc":"The purpose to add"}],"errors":[{"name":"NETWORK_INCOMPATIBLE_PURPOSES","doc":"You tried to add a purpose to a network but the new purpose is not compatible with an existing purpose of the network or other networks."}],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"Give a network a new purpose (if not present already)"}]},"implicit":false},{"name":"set_default_locking_mode","description":"Set the default locking mode for VIFs attached to this network","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"network","doc":"The network"},{"type":"enum network_default_locking_mode","name":"value","doc":"The default locking mode for VIFs attached to this network."}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Set the default locking mode for VIFs attached to this network"}]},"implicit":false},{"name":"create_new_blob","description":"Create a placeholder for a named binary blob of data that is associated with this pool","result":["blob ref","The reference of the blob, needed for populating its data"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"network","doc":"The network"},{"type":"string","name":"name","doc":"The name associated with the blob"},{"type":"string","name":"mime_type","doc":"The mime type for the data. Empty string translates to application/octet-stream"},{"type":"bool","name":"public","doc":"True if the blob should be publicly available"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Create a placeholder for a named binary blob of data that is associated with this pool"}]},"implicit":false},{"name":"remove_tags","description":"Remove the given value from the tags field of the given network. If the value is not in that Set, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"Value to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"add_tags","description":"Add the given value to the tags field of the given network. If the value is already in that Set, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"set_tags","description":"Set the tags field of the given network.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"},{"type":"string set","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given network. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given network.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given network.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"set_MTU","description":"Set the MTU field of the given network.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"},{"type":"int","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"MTU in octets"}]},"implicit":true},{"name":"set_name_description","description":"Set the name/description field of the given network.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"set_name_label","description":"Set the name/label field of the given network.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_purpose","description":"Get the purpose field of the given network.","result":["enum network_purpose set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"Set of purposes for which the server will use this network"}]},"implicit":true},{"name":"get_assigned_ips","description":"Get the assigned_ips field of the given network.","result":["(VIF ref -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"creedence","description":"The IP addresses assigned to VIFs on networks that have active xapi-managed DHCP"}]},"implicit":true},{"name":"get_default_locking_mode","description":"Get the default_locking_mode field of the given network.","result":["enum network_default_locking_mode","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"The network will use this value to determine the behaviour of all VIFs where locking_mode = default"}]},"implicit":true},{"name":"get_tags","description":"Get the tags field of the given network.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"get_blobs","description":"Get the blobs field of the given network.","result":["(string -> blob ref) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Binary blobs associated with this network"}]},"implicit":true},{"name":"get_managed","description":"Get the managed field of the given network.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_bridge","description":"Get the bridge field of the given network.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"falcon","description":"Added to the constructor (network.create)"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given network.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"get_MTU","description":"Get the MTU field of the given network.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"MTU in octets"}]},"implicit":true},{"name":"get_PIFs","description":"Get the PIFs field of the given network.","result":["PIF ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of connected pifs"}]},"implicit":true},{"name":"get_VIFs","description":"Get the VIFs field of the given network.","result":["VIF ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of connected vifs"}]},"implicit":true},{"name":"get_current_operations","description":"Get the current_operations field of the given network.","result":["(string -> enum network_operations) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"implicit":true},{"name":"get_allowed_operations","description":"Get the allowed_operations field of the given network.","result":["enum network_operations set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given network.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given network.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given network.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the network instances with the given label.","result":["network ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual network"}]},"implicit":true},{"name":"destroy","description":"Destroy the specified network instance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual network"}]},"implicit":true},{"name":"create","description":"Create a new network instance, and return its handle.\nThe constructor args are: name_label, name_description, MTU, other_config*, bridge, managed, tags (* = non-optional).","result":["network ref","reference to the newly created object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network record","name":"args","doc":"All constructor arguments"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual network"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the network instance with the specified UUID.","result":["network ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual network"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given network.","result":["network record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual network"}]},"implicit":true}],"enums":[{"name":"network_operations","values":[{"name":"attaching","doc":"Indicates this network is attaching to a VIF or PIF"}]},{"name":"network_default_locking_mode","values":[{"name":"unlocked","doc":"Treat all VIFs on this network with locking_mode = 'default' as if they have locking_mode = 'unlocked'"},{"name":"disabled","doc":"Treat all VIFs on this network with locking_mode = 'default' as if they have locking_mode = 'disabled'"}]},{"name":"network_purpose","values":[{"name":"nbd","doc":"Network Block Device service using TLS"},{"name":"insecure_nbd","doc":"Network Block Device service without integrity or confidentiality: NOT RECOMMENDED"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual network"}]},"tag":"networking"},{"name":"VIF","description":"A virtual network interface","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"allowed_operations","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client.","type":"enum vif_operations set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"default":"{}"},{"name":"current_operations","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task.","type":"(string -> enum vif_operations) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"default":"{}"},{"name":"device","description":"order in which VIF backends are created by xapi","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"order in which VIF backends are created by xapi"}]}},{"name":"network","description":"virtual network to which this vif is connected","type":"network ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"virtual network to which this vif is connected"}]}},{"name":"VM","description":"virtual machine to which this vif is connected","type":"VM ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"virtual machine to which this vif is connected"}]}},{"name":"MAC","description":"ethernet MAC address of virtual interface, as exposed to guest","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"ethernet MAC address of virtual interface, as exposed to guest"}]}},{"name":"MTU","description":"MTU in octets","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"MTU in octets"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]}},{"name":"currently_attached","description":"is the device currently attached (erased on reboot)","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"Made StaticRO to allow plugged VIF and VBD creation for Suspended VM"}]},"default":"false"},{"name":"status_code","description":"error/success code associated with last attach-operation (erased on reboot)","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"error/success code associated with last attach-operation (erased on reboot)"}]}},{"name":"status_detail","description":"error/success information associated with last attach-operation status (erased on reboot)","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"error/success information associated with last attach-operation status (erased on reboot)"}]}},{"name":"runtime_properties","description":"Device runtime properties","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Device runtime properties"}]}},{"name":"qos_algorithm_type","description":"QoS algorithm to use","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"QoS algorithm to use"}]}},{"name":"qos_algorithm_params","description":"parameters for chosen QoS algorithm","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"parameters for chosen QoS algorithm"}]}},{"name":"qos_supported_algorithms","description":"supported QoS algorithms for this VIF","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"supported QoS algorithms for this VIF"}]}},{"name":"metrics","description":"metrics associated with this VIF","type":"VIF_metrics ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRDs"}]},"default":"OpaqueRef:NULL"},{"name":"MAC_autogenerated","description":"true if the MAC was autogenerated; false indicates it was set manually","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"true if the MAC was autogenerated; false indicates it was set manually"}]},"default":"false"},{"name":"locking_mode","description":"current locking mode of the VIF","type":"enum vif_locking_mode","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"current locking mode of the VIF"}]},"default":"network_default"},{"name":"ipv4_allowed","description":"A list of IPv4 addresses which can be used to filter traffic passing through this VIF","type":"string set","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"A list of IPv4 addresses which can be used to filter traffic passing through this VIF"}]},"default":"{}"},{"name":"ipv6_allowed","description":"A list of IPv6 addresses which can be used to filter traffic passing through this VIF","type":"string set","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"A list of IPv6 addresses which can be used to filter traffic passing through this VIF"}]},"default":"{}"},{"name":"ipv4_configuration_mode","description":"Determines whether IPv4 addresses are configured on the VIF","type":"enum vif_ipv4_configuration_mode","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Determines whether IPv4 addresses are configured on the VIF"}]},"default":"None"},{"name":"ipv4_addresses","description":"IPv4 addresses in CIDR format","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"IPv4 addresses in CIDR format"}]},"default":"{}"},{"name":"ipv4_gateway","description":"IPv4 gateway (the empty string means that no gateway is set)","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"IPv4 gateway (the empty string means that no gateway is set)"}]},"default":"\"\""},{"name":"ipv6_configuration_mode","description":"Determines whether IPv6 addresses are configured on the VIF","type":"enum vif_ipv6_configuration_mode","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Determines whether IPv6 addresses are configured on the VIF"}]},"default":"None"},{"name":"ipv6_addresses","description":"IPv6 addresses in CIDR format","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"IPv6 addresses in CIDR format"}]},"default":"{}"},{"name":"ipv6_gateway","description":"IPv6 gateway (the empty string means that no gateway is set)","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"IPv6 gateway (the empty string means that no gateway is set)"}]},"default":"\"\""}],"messages":[{"name":"get_all_records","description":"Return a map of VIF references to VIF records for all VIFs known to the system.","result":["(VIF ref -> VIF record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual network interface"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VIFs known to the system.","result":["VIF ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual network interface"}]},"implicit":true},{"name":"configure_ipv6","description":"Configure IPv6 settings for this virtual interface","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"The VIF to configure"},{"type":"enum vif_ipv6_configuration_mode","name":"mode","doc":"Whether to use static or no IPv6 assignment"},{"type":"string","name":"address","doc":"The IPv6 address in / format (for static mode only)"},{"type":"string","name":"gateway","doc":"The IPv6 gateway (for static mode only; leave empty to not set a gateway)"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Configure IPv6 settings for this virtual interface"}]},"implicit":false},{"name":"configure_ipv4","description":"Configure IPv4 settings for this virtual interface","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"The VIF to configure"},{"type":"enum vif_ipv4_configuration_mode","name":"mode","doc":"Whether to use static or no IPv4 assignment"},{"type":"string","name":"address","doc":"The IPv4 address in / format (for static mode only)"},{"type":"string","name":"gateway","doc":"The IPv4 gateway (for static mode only; leave empty to not set a gateway)"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Configure IPv4 settings for this virtual interface"}]},"implicit":false},{"name":"remove_ipv6_allowed","description":"Removes an IPv6 address from this VIF","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"The VIF from which the IP address will be removed"},{"type":"string","name":"value","doc":"The IP address which will be removed from the VIF"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Removes an IPv6 address from this VIF"}]},"implicit":false},{"name":"add_ipv6_allowed","description":"Associates an IPv6 address with this VIF","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"The VIF which the IP address will be associated with"},{"type":"string","name":"value","doc":"The IP address which will be associated with the VIF"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Associates an IPv6 address with this VIF"}]},"implicit":false},{"name":"set_ipv6_allowed","description":"Set the IPv6 addresses to which traffic on this VIF can be restricted","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"The VIF which the IP addresses will be associated with"},{"type":"string set","name":"value","doc":"The IP addresses which will be associated with the VIF"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Set the IPv6 addresses to which traffic on this VIF can be restricted"}]},"implicit":false},{"name":"remove_ipv4_allowed","description":"Removes an IPv4 address from this VIF","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"The VIF from which the IP address will be removed"},{"type":"string","name":"value","doc":"The IP address which will be removed from the VIF"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Removes an IPv4 address from this VIF"}]},"implicit":false},{"name":"add_ipv4_allowed","description":"Associates an IPv4 address with this VIF","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"The VIF which the IP address will be associated with"},{"type":"string","name":"value","doc":"The IP address which will be associated with the VIF"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Associates an IPv4 address with this VIF"}]},"implicit":false},{"name":"set_ipv4_allowed","description":"Set the IPv4 addresses to which traffic on this VIF can be restricted","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"The VIF which the IP addresses will be associated with"},{"type":"string set","name":"value","doc":"The IP addresses which will be associated with the VIF"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Set the IPv4 addresses to which traffic on this VIF can be restricted"}]},"implicit":false},{"name":"set_locking_mode","description":"Set the locking mode for this VIF","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"The VIF whose locking mode will be set"},{"type":"enum vif_locking_mode","name":"value","doc":"The new locking mode for the VIF"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Set the locking mode for this VIF"}]},"implicit":false},{"name":"move","description":"Move the specified VIF to the specified network, even while the VM is running","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"The VIF to move"},{"type":"network ref","name":"network","doc":"The network to move it to"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":"Move the specified VIF to the specified network, even while the VM is running"}]},"implicit":false},{"name":"unplug_force","description":"Forcibly unplug the specified VIF","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"The VIF to forcibly unplug"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Forcibly unplug the specified VIF"}]},"implicit":false},{"name":"unplug","description":"Hot-unplug the specified VIF, dynamically unattaching it from the running VM","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"The VIF to hot-unplug"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Hot-unplug the specified VIF, dynamically unattaching it from the running VM"}]},"implicit":false},{"name":"plug","description":"Hotplug the specified VIF, dynamically attaching it to the running VM","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"The VIF to hotplug"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Hotplug the specified VIF, dynamically attaching it to the running VM"}]},"implicit":false},{"name":"remove_from_qos_algorithm_params","description":"Remove the given key and its corresponding value from the qos/algorithm_params field of the given VIF. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"parameters for chosen QoS algorithm"}]},"implicit":true},{"name":"add_to_qos_algorithm_params","description":"Add the given key-value pair to the qos/algorithm_params field of the given VIF.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"parameters for chosen QoS algorithm"}]},"implicit":true},{"name":"set_qos_algorithm_params","description":"Set the qos/algorithm_params field of the given VIF.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"parameters for chosen QoS algorithm"}]},"implicit":true},{"name":"set_qos_algorithm_type","description":"Set the qos/algorithm_type field of the given VIF.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"QoS algorithm to use"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given VIF. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given VIF.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given VIF.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"get_ipv6_gateway","description":"Get the ipv6_gateway field of the given VIF.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"IPv6 gateway (the empty string means that no gateway is set)"}]},"implicit":true},{"name":"get_ipv6_addresses","description":"Get the ipv6_addresses field of the given VIF.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"IPv6 addresses in CIDR format"}]},"implicit":true},{"name":"get_ipv6_configuration_mode","description":"Get the ipv6_configuration_mode field of the given VIF.","result":["enum vif_ipv6_configuration_mode","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Determines whether IPv6 addresses are configured on the VIF"}]},"implicit":true},{"name":"get_ipv4_gateway","description":"Get the ipv4_gateway field of the given VIF.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"IPv4 gateway (the empty string means that no gateway is set)"}]},"implicit":true},{"name":"get_ipv4_addresses","description":"Get the ipv4_addresses field of the given VIF.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"IPv4 addresses in CIDR format"}]},"implicit":true},{"name":"get_ipv4_configuration_mode","description":"Get the ipv4_configuration_mode field of the given VIF.","result":["enum vif_ipv4_configuration_mode","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Determines whether IPv4 addresses are configured on the VIF"}]},"implicit":true},{"name":"get_ipv6_allowed","description":"Get the ipv6_allowed field of the given VIF.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"A list of IPv6 addresses which can be used to filter traffic passing through this VIF"}]},"implicit":true},{"name":"get_ipv4_allowed","description":"Get the ipv4_allowed field of the given VIF.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"A list of IPv4 addresses which can be used to filter traffic passing through this VIF"}]},"implicit":true},{"name":"get_locking_mode","description":"Get the locking_mode field of the given VIF.","result":["enum vif_locking_mode","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"current locking mode of the VIF"}]},"implicit":true},{"name":"get_MAC_autogenerated","description":"Get the MAC_autogenerated field of the given VIF.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"true if the MAC was autogenerated; false indicates it was set manually"}]},"implicit":true},{"name":"get_metrics","description":"Get the metrics field of the given VIF.","result":["VIF_metrics ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRDs"}]},"implicit":true},{"name":"get_qos_supported_algorithms","description":"Get the qos/supported_algorithms field of the given VIF.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"supported QoS algorithms for this VIF"}]},"implicit":true},{"name":"get_qos_algorithm_params","description":"Get the qos/algorithm_params field of the given VIF.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"parameters for chosen QoS algorithm"}]},"implicit":true},{"name":"get_qos_algorithm_type","description":"Get the qos/algorithm_type field of the given VIF.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"QoS algorithm to use"}]},"implicit":true},{"name":"get_runtime_properties","description":"Get the runtime_properties field of the given VIF.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Device runtime properties"}]},"implicit":true},{"name":"get_status_detail","description":"Get the status_detail field of the given VIF.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"error/success information associated with last attach-operation status (erased on reboot)"}]},"implicit":true},{"name":"get_status_code","description":"Get the status_code field of the given VIF.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"error/success code associated with last attach-operation (erased on reboot)"}]},"implicit":true},{"name":"get_currently_attached","description":"Get the currently_attached field of the given VIF.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"Made StaticRO to allow plugged VIF and VBD creation for Suspended VM"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given VIF.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"get_MTU","description":"Get the MTU field of the given VIF.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"MTU in octets"}]},"implicit":true},{"name":"get_MAC","description":"Get the MAC field of the given VIF.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"ethernet MAC address of virtual interface, as exposed to guest"}]},"implicit":true},{"name":"get_VM","description":"Get the VM field of the given VIF.","result":["VM ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"virtual machine to which this vif is connected"}]},"implicit":true},{"name":"get_network","description":"Get the network field of the given VIF.","result":["network ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"virtual network to which this vif is connected"}]},"implicit":true},{"name":"get_device","description":"Get the device field of the given VIF.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"order in which VIF backends are created by xapi"}]},"implicit":true},{"name":"get_current_operations","description":"Get the current_operations field of the given VIF.","result":["(string -> enum vif_operations) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"implicit":true},{"name":"get_allowed_operations","description":"Get the allowed_operations field of the given VIF.","result":["enum vif_operations set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VIF.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"destroy","description":"Destroy the specified VIF instance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual network interface"}]},"implicit":true},{"name":"create","description":"Create a new VIF instance, and return its handle.\nThe constructor args are: device*, network*, VM*, MAC*, MTU*, other_config*, currently_attached, qos_algorithm_type*, qos_algorithm_params*, locking_mode, ipv4_allowed, ipv6_allowed (* = non-optional).","result":["VIF ref","reference to the newly created object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF record","name":"args","doc":"All constructor arguments"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual network interface"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VIF instance with the specified UUID.","result":["VIF ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual network interface"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VIF.","result":["VIF record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual network interface"}]},"implicit":true}],"enums":[{"name":"vif_operations","values":[{"name":"attach","doc":"Attempting to attach this VIF to a VM"},{"name":"plug","doc":"Attempting to hotplug this VIF"},{"name":"unplug","doc":"Attempting to hot unplug this VIF"}]},{"name":"vif_locking_mode","values":[{"name":"network_default","doc":"No specific configuration set - default network policy applies"},{"name":"locked","doc":"Only traffic to a specific MAC and a list of IPv4 or IPv6 addresses is permitted"},{"name":"unlocked","doc":"All traffic is permitted"},{"name":"disabled","doc":"No traffic is permitted"}]},{"name":"vif_ipv4_configuration_mode","values":[{"name":"None","doc":"Follow the default IPv4 configuration of the guest (this is guest-dependent)"},{"name":"Static","doc":"Static IPv4 address configuration"}]},{"name":"vif_ipv6_configuration_mode","values":[{"name":"None","doc":"Follow the default IPv6 configuration of the guest (this is guest-dependent)"},{"name":"Static","doc":"Static IPv6 address configuration"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual network interface"}]},"tag":"networking"},{"name":"VIF_metrics","description":"The metrics associated with a virtual network device","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"io_read_kbs","description":"Read bandwidth (KiB/s)","type":"float","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled and replaced by RRDs"}]},"default":"0."},{"name":"io_write_kbs","description":"Write bandwidth (KiB/s)","type":"float","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled and replaced by RRDs"}]},"default":"0."},{"name":"last_updated","description":"Time at which this information was last updated","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which this information was last updated"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of VIF_metrics references to VIF_metrics records for all VIF_metrics instances known to the system.","result":["(VIF_metrics ref -> VIF_metrics record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a virtual network device"},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRDs"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VIF_metrics instances known to the system.","result":["VIF_metrics ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a virtual network device"},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRDs"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given VIF_metrics. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF_metrics ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given VIF_metrics.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF_metrics ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given VIF_metrics.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF_metrics ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given VIF_metrics.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"get_last_updated","description":"Get the last_updated field of the given VIF_metrics.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which this information was last updated"}]},"implicit":true},{"name":"get_io_write_kbs","description":"Get the io/write_kbs field of the given VIF_metrics.","result":["float","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled and replaced by RRDs"}]},"implicit":true},{"name":"get_io_read_kbs","description":"Get the io/read_kbs field of the given VIF_metrics.","result":["float","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled and replaced by RRDs"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VIF_metrics.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VIF_metrics instance with the specified UUID.","result":["VIF_metrics ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a virtual network device"},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRDs"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VIF_metrics.","result":["VIF_metrics record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a virtual network device"},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRDs"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a virtual network device"},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRDs"}]},"tag":"networking"},{"name":"PIF","description":"A physical network interface (note separate VLANs are represented as several PIFs)","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"device","description":"machine-readable name of the interface (e.g. eth0)","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"machine-readable name of the interface (e.g. eth0)"}]}},{"name":"network","description":"virtual network to which this pif is connected","type":"network ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"virtual network to which this pif is connected"}]}},{"name":"host","description":"physical machine to which this pif is connected","type":"host ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"physical machine to which this pif is connected"}]}},{"name":"MAC","description":"ethernet MAC address of physical interface","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"ethernet MAC address of physical interface"}]}},{"name":"MTU","description":"MTU in octets","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"MTU in octets"}]}},{"name":"VLAN","description":"VLAN tag for all traffic passing through this interface","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"VLAN tag for all traffic passing through this interface"}]}},{"name":"metrics","description":"metrics associated with this PIF","type":"PIF_metrics ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"metrics associated with this PIF"}]}},{"name":"physical","description":"true if this represents a physical network interface","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"true if this represents a physical network interface"}]},"default":"false"},{"name":"currently_attached","description":"true if this interface is online","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"true if this interface is online"}]},"default":"true"},{"name":"ip_configuration_mode","description":"Sets if and how this interface gets an IP address","type":"enum ip_configuration_mode","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Sets if and how this interface gets an IP address"}]},"default":"None"},{"name":"IP","description":"IP address","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"IP address"}]},"default":"\"\""},{"name":"netmask","description":"IP netmask","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"IP netmask"}]},"default":"\"\""},{"name":"gateway","description":"IP gateway","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"IP gateway"}]},"default":"\"\""},{"name":"DNS","description":"Comma separated list of the IP addresses of the DNS servers to use","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Comma separated list of the IP addresses of the DNS servers to use"}]},"default":"\"\""},{"name":"bond_slave_of","description":"Indicates which bond this interface is part of","type":"Bond ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Indicates which bond this interface is part of"}]},"default":"Null"},{"name":"bond_master_of","description":"Indicates this PIF represents the results of a bond","type":"Bond ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Indicates this PIF represents the results of a bond"}]}},{"name":"VLAN_master_of","description":"Indicates which VLAN this interface receives untagged traffic from","type":"VLAN ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Indicates which VLAN this interface receives untagged traffic from"}]},"default":"Null"},{"name":"VLAN_slave_of","description":"Indicates which VLANs this interface transmits tagged traffic to","type":"VLAN ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Indicates which VLANs this interface transmits tagged traffic to"}]}},{"name":"management","description":"Indicates whether the control software is listening for connections on this interface","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Indicates whether the control software is listening for connections on this interface"}]},"default":"false"},{"name":"other_config","description":"Additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Additional configuration"}]},"default":"{}"},{"name":"disallow_unplug","description":"Prevent this PIF from being unplugged; set this to notify the management tool-stack that the PIF has a special use and should not be unplugged under any circumstances (e.g. because you're running storage traffic over it)","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Prevent this PIF from being unplugged; set this to notify the management tool-stack that the PIF has a special use and should not be unplugged under any circumstances (e.g. because you're running storage traffic over it)"}]},"default":"false"},{"name":"tunnel_access_PIF_of","description":"Indicates to which tunnel this PIF gives access","type":"tunnel ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Indicates to which tunnel this PIF gives access"}]}},{"name":"tunnel_transport_PIF_of","description":"Indicates to which tunnel this PIF provides transport","type":"tunnel ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Indicates to which tunnel this PIF provides transport"}]}},{"name":"ipv6_configuration_mode","description":"Sets if and how this interface gets an IPv6 address","type":"enum ipv6_configuration_mode","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":""}]},"default":"None"},{"name":"IPv6","description":"IPv6 address","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":""}]},"default":"{}"},{"name":"ipv6_gateway","description":"IPv6 gateway","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":""}]},"default":"\"\""},{"name":"primary_address_type","description":"Which protocol should define the primary address of this interface","type":"enum primary_address_type","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":""}]},"default":"IPv4"},{"name":"managed","description":"Indicates whether the interface is managed by xapi. If it is not, then xapi will not configure the interface, the commands PIF.plug/unplug/reconfigure_ip(v6) cannot be used, nor can the interface be bonded or have VLANs based on top through xapi.","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]},"default":"true"},{"name":"properties","description":"Additional configuration properties for the interface.","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"creedence","description":""}]},"default":"{}"},{"name":"capabilities","description":"Additional capabilities on the interface.","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"default":"{}"},{"name":"igmp_snooping_status","description":"The IGMP snooping status of the corresponding network bridge","type":"enum pif_igmp_status","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"unknown"},{"name":"sriov_physical_PIF_of","description":"Indicates which network_sriov this interface is physical of","type":"network_sriov ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":"Indicates which network_sriov this interface is physical of"}]}},{"name":"sriov_logical_PIF_of","description":"Indicates which network_sriov this interface is logical of","type":"network_sriov ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":"Indicates which network_sriov this interface is logical of"}]}},{"name":"PCI","description":"Link to underlying PCI device","type":"PCI ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"default":"OpaqueRef:NULL"}],"messages":[{"name":"get_all_records","description":"Return a map of PIF references to PIF records for all PIFs known to the system.","result":["(PIF ref -> PIF record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A physical network interface (note separate VLANs are represented as several PIFs)"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the PIFs known to the system.","result":["PIF ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A physical network interface (note separate VLANs are represented as several PIFs)"}]},"implicit":true},{"name":"set_property","description":"Set the value of a property of the PIF","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"The PIF"},{"type":"string","name":"name","doc":"The property name"},{"type":"string","name":"value","doc":"The property value"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"creedence","description":""}]},"implicit":false},{"name":"db_forget","description":"Destroy a PIF database record.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"The ref of the PIF whose database record should be destroyed"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Destroy a PIF database record."}]},"implicit":false},{"name":"db_introduce","description":"Create a new PIF record in the database only","result":["PIF ref","The ref of the newly created PIF record."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"device","doc":""},{"type":"network ref","name":"network","doc":""},{"type":"host ref","name":"host","doc":""},{"type":"string","name":"MAC","doc":""},{"type":"int","name":"MTU","doc":""},{"type":"int","name":"VLAN","doc":""},{"type":"bool","name":"physical","doc":""},{"type":"enum ip_configuration_mode","name":"ip_configuration_mode","doc":""},{"type":"string","name":"IP","doc":""},{"type":"string","name":"netmask","doc":""},{"type":"string","name":"gateway","doc":""},{"type":"string","name":"DNS","doc":""},{"type":"Bond ref","name":"bond_slave_of","doc":""},{"type":"VLAN ref","name":"VLAN_master_of","doc":""},{"type":"bool","name":"management","doc":""},{"type":"(string -> string) map","name":"other_config","doc":""},{"type":"bool","name":"disallow_unplug","doc":""},{"type":"enum ipv6_configuration_mode","name":"ipv6_configuration_mode","doc":""},{"type":"string set","name":"IPv6","doc":""},{"type":"string","name":"ipv6_gateway","doc":""},{"type":"enum primary_address_type","name":"primary_address_type","doc":""},{"type":"bool","name":"managed","doc":""},{"type":"(string -> string) map","name":"properties","doc":""}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Create a new PIF record in the database only"}]},"implicit":false},{"name":"plug","description":"Attempt to bring up a physical interface","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"the PIF object to plug"}],"errors":[{"name":"TRANSPORT_PIF_NOT_CONFIGURED","doc":"The tunnel transport PIF has no IP configuration set."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Attempt to bring up a physical interface"}]},"implicit":false},{"name":"set_disallow_unplug","description":"Set whether unplugging the PIF is allowed","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"Reference to the object"},{"type":"bool","name":"value","doc":"New value to set"}],"errors":[{"name":"OTHER_OPERATION_IN_PROGRESS","doc":"Another operation involving the object is currently in progress"},{"name":"CLUSTERING_ENABLED","doc":"An operation was attempted while clustering was enabled on the cluster_host."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Set whether unplugging the PIF is allowed"}]},"implicit":false},{"name":"unplug","description":"Attempt to bring down a physical interface","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"the PIF object to unplug"}],"errors":[{"name":"HA_OPERATION_WOULD_BREAK_FAILOVER_PLAN","doc":"This operation cannot be performed because it would invalidate VM failover planning such that the system would be unable to guarantee to restart protected VMs after a Host failure."},{"name":"VIF_IN_USE","doc":"Network has active VIFs"},{"name":"PIF_DOES_NOT_ALLOW_UNPLUG","doc":"The operation you requested cannot be performed because the specified PIF does not allow unplug."},{"name":"PIF_HAS_FCOE_SR_IN_USE","doc":"The operation you requested cannot be performed because the specified PIF has FCoE SR in use."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Attempt to bring down a physical interface"}]},"implicit":false},{"name":"forget","description":"Destroy the PIF object matching a particular network interface","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"The PIF object to destroy"}],"errors":[{"name":"PIF_TUNNEL_STILL_EXISTS","doc":"Operation cannot proceed while a tunnel exists on this interface."},{"name":"CLUSTERING_ENABLED","doc":"An operation was attempted while clustering was enabled on the cluster_host."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Destroy the PIF object matching a particular network interface"}]},"implicit":false},{"name":"introduce","description":"Create a PIF object matching a particular network interface","result":["PIF ref","The reference of the created PIF object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host on which the interface exists"},{"type":"string","name":"MAC","doc":"The MAC address of the interface"},{"type":"string","name":"device","doc":"The device name to use for the interface"},{"type":"bool","name":"managed","doc":"Indicates whether the interface is managed by xapi (defaults to \"true\")"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Create a PIF object matching a particular network interface"}]},"implicit":false},{"name":"scan","description":"Scan for physical interfaces on a host and create PIF objects to represent them","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host on which to scan"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Scan for physical interfaces on a host and create PIF objects to represent them"}]},"implicit":false},{"name":"set_primary_address_type","description":"Change the primary address type used by this PIF","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"the PIF object to reconfigure"},{"type":"enum primary_address_type","name":"primary_address_type","doc":"Whether to prefer IPv4 or IPv6 connections"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":""}]},"implicit":false},{"name":"reconfigure_ipv6","description":"Reconfigure the IPv6 address settings for this interface","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"the PIF object to reconfigure"},{"type":"enum ipv6_configuration_mode","name":"mode","doc":"whether to use dynamic/static/no-assignment"},{"type":"string","name":"IPv6","doc":"the new IPv6 address (in / format)"},{"type":"string","name":"gateway","doc":"the new gateway"},{"type":"string","name":"DNS","doc":"the new DNS settings"}],"errors":[{"name":"CLUSTERING_ENABLED","doc":"An operation was attempted while clustering was enabled on the cluster_host."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":""}]},"implicit":false},{"name":"reconfigure_ip","description":"Reconfigure the IP address settings for this interface","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"the PIF object to reconfigure"},{"type":"enum ip_configuration_mode","name":"mode","doc":"whether to use dynamic/static/no-assignment"},{"type":"string","name":"IP","doc":"the new IP address"},{"type":"string","name":"netmask","doc":"the new netmask"},{"type":"string","name":"gateway","doc":"the new gateway"},{"type":"string","name":"DNS","doc":"the new DNS settings"}],"errors":[{"name":"CLUSTERING_ENABLED","doc":"An operation was attempted while clustering was enabled on the cluster_host."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Reconfigure the IP address settings for this interface"}]},"implicit":false},{"name":"destroy","description":"Destroy the PIF object (provided it is a VLAN interface). This call is deprecated: use VLAN.destroy or Bond.destroy instead","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"the PIF object to destroy"}],"errors":[{"name":"PIF_IS_PHYSICAL","doc":"You tried to destroy a PIF, but it represents an aspect of the physical host configuration, and so cannot be destroyed. The parameter echoes the PIF handle you gave."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Destroy the PIF object (provided it is a VLAN interface)"},{"transition":"deprecated","release":"miami","description":"Replaced by VLAN.destroy and Bond.destroy"}]},"implicit":false},{"name":"create_VLAN","description":"Create a VLAN interface from an existing physical interface. This call is deprecated: use VLAN.create instead","result":["PIF ref","The reference of the created PIF object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"device","doc":"physical interface on which to create the VLAN interface"},{"type":"network ref","name":"network","doc":"network to which this interface should be connected"},{"type":"host ref","name":"host","doc":"physical machine to which this PIF is connected"},{"type":"int","name":"VLAN","doc":"VLAN tag for the new interface"}],"errors":[{"name":"VLAN_TAG_INVALID","doc":"You tried to create a VLAN, but the tag you gave was invalid -- it must be between 0 and 4094. The parameter echoes the VLAN tag you gave."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Create a VLAN interface from an existing physical interface"},{"transition":"deprecated","release":"miami","description":"Replaced by VLAN.create"}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given PIF. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given PIF.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given PIF.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Additional configuration"}]},"implicit":true},{"name":"get_PCI","description":"Get the PCI field of the given PIF.","result":["PCI ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":true},{"name":"get_sriov_logical_PIF_of","description":"Get the sriov_logical_PIF_of field of the given PIF.","result":["network_sriov ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":"Indicates which network_sriov this interface is logical of"}]},"implicit":true},{"name":"get_sriov_physical_PIF_of","description":"Get the sriov_physical_PIF_of field of the given PIF.","result":["network_sriov ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":"Indicates which network_sriov this interface is physical of"}]},"implicit":true},{"name":"get_igmp_snooping_status","description":"Get the igmp_snooping_status field of the given PIF.","result":["enum pif_igmp_status","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_capabilities","description":"Get the capabilities field of the given PIF.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"implicit":true},{"name":"get_properties","description":"Get the properties field of the given PIF.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"creedence","description":""}]},"implicit":true},{"name":"get_managed","description":"Get the managed field of the given PIF.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]},"implicit":true},{"name":"get_primary_address_type","description":"Get the primary_address_type field of the given PIF.","result":["enum primary_address_type","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":""}]},"implicit":true},{"name":"get_ipv6_gateway","description":"Get the ipv6_gateway field of the given PIF.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":""}]},"implicit":true},{"name":"get_IPv6","description":"Get the IPv6 field of the given PIF.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":""}]},"implicit":true},{"name":"get_ipv6_configuration_mode","description":"Get the ipv6_configuration_mode field of the given PIF.","result":["enum ipv6_configuration_mode","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":""}]},"implicit":true},{"name":"get_tunnel_transport_PIF_of","description":"Get the tunnel_transport_PIF_of field of the given PIF.","result":["tunnel ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Indicates to which tunnel this PIF provides transport"}]},"implicit":true},{"name":"get_tunnel_access_PIF_of","description":"Get the tunnel_access_PIF_of field of the given PIF.","result":["tunnel ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Indicates to which tunnel this PIF gives access"}]},"implicit":true},{"name":"get_disallow_unplug","description":"Get the disallow_unplug field of the given PIF.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Prevent this PIF from being unplugged; set this to notify the management tool-stack that the PIF has a special use and should not be unplugged under any circumstances (e.g. because you're running storage traffic over it)"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given PIF.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Additional configuration"}]},"implicit":true},{"name":"get_management","description":"Get the management field of the given PIF.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Indicates whether the control software is listening for connections on this interface"}]},"implicit":true},{"name":"get_VLAN_slave_of","description":"Get the VLAN_slave_of field of the given PIF.","result":["VLAN ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Indicates which VLANs this interface transmits tagged traffic to"}]},"implicit":true},{"name":"get_VLAN_master_of","description":"Get the VLAN_master_of field of the given PIF.","result":["VLAN ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Indicates which VLAN this interface receives untagged traffic from"}]},"implicit":true},{"name":"get_bond_master_of","description":"Get the bond_master_of field of the given PIF.","result":["Bond ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Indicates this PIF represents the results of a bond"}]},"implicit":true},{"name":"get_bond_slave_of","description":"Get the bond_slave_of field of the given PIF.","result":["Bond ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Indicates which bond this interface is part of"}]},"implicit":true},{"name":"get_DNS","description":"Get the DNS field of the given PIF.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Comma separated list of the IP addresses of the DNS servers to use"}]},"implicit":true},{"name":"get_gateway","description":"Get the gateway field of the given PIF.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"IP gateway"}]},"implicit":true},{"name":"get_netmask","description":"Get the netmask field of the given PIF.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"IP netmask"}]},"implicit":true},{"name":"get_IP","description":"Get the IP field of the given PIF.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"IP address"}]},"implicit":true},{"name":"get_ip_configuration_mode","description":"Get the ip_configuration_mode field of the given PIF.","result":["enum ip_configuration_mode","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Sets if and how this interface gets an IP address"}]},"implicit":true},{"name":"get_currently_attached","description":"Get the currently_attached field of the given PIF.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"true if this interface is online"}]},"implicit":true},{"name":"get_physical","description":"Get the physical field of the given PIF.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"true if this represents a physical network interface"}]},"implicit":true},{"name":"get_metrics","description":"Get the metrics field of the given PIF.","result":["PIF_metrics ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"metrics associated with this PIF"}]},"implicit":true},{"name":"get_VLAN","description":"Get the VLAN field of the given PIF.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"VLAN tag for all traffic passing through this interface"}]},"implicit":true},{"name":"get_MTU","description":"Get the MTU field of the given PIF.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"MTU in octets"}]},"implicit":true},{"name":"get_MAC","description":"Get the MAC field of the given PIF.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"ethernet MAC address of physical interface"}]},"implicit":true},{"name":"get_host","description":"Get the host field of the given PIF.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"physical machine to which this pif is connected"}]},"implicit":true},{"name":"get_network","description":"Get the network field of the given PIF.","result":["network ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"virtual network to which this pif is connected"}]},"implicit":true},{"name":"get_device","description":"Get the device field of the given PIF.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"machine-readable name of the interface (e.g. eth0)"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given PIF.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the PIF instance with the specified UUID.","result":["PIF ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A physical network interface (note separate VLANs are represented as several PIFs)"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given PIF.","result":["PIF record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A physical network interface (note separate VLANs are represented as several PIFs)"}]},"implicit":true}],"enums":[{"name":"pif_igmp_status","values":[{"name":"enabled","doc":"IGMP Snooping is enabled in the corresponding backend bridge.'"},{"name":"disabled","doc":"IGMP Snooping is disabled in the corresponding backend bridge.'"},{"name":"unknown","doc":"IGMP snooping status is unknown. If this is a VLAN master, then please consult the underlying VLAN slave PIF."}]},{"name":"ip_configuration_mode","values":[{"name":"None","doc":"Do not acquire an IP address"},{"name":"DHCP","doc":"Acquire an IP address by DHCP"},{"name":"Static","doc":"Static IP address configuration"}]},{"name":"ipv6_configuration_mode","values":[{"name":"None","doc":"Do not acquire an IPv6 address"},{"name":"DHCP","doc":"Acquire an IPv6 address by DHCP"},{"name":"Static","doc":"Static IPv6 address configuration"},{"name":"Autoconf","doc":"Router assigned prefix delegation IPv6 allocation"}]},{"name":"primary_address_type","values":[{"name":"IPv4","doc":"Primary address is the IPv4 address"},{"name":"IPv6","doc":"Primary address is the IPv6 address"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A physical network interface (note separate VLANs are represented as several PIFs)"}]},"tag":"networking"},{"name":"PIF_metrics","description":"The metrics associated with a physical network interface","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"io_read_kbs","description":"Read bandwidth (KiB/s)","type":"float","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled and replaced by RRDs"}]},"default":"0."},{"name":"io_write_kbs","description":"Write bandwidth (KiB/s)","type":"float","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled and replaced by RRDs"}]},"default":"0."},{"name":"carrier","description":"Report if the PIF got a carrier or not","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Report if the PIF got a carrier or not"}]}},{"name":"vendor_id","description":"Report vendor ID","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Report vendor ID"}]}},{"name":"vendor_name","description":"Report vendor name","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Report vendor name"}]}},{"name":"device_id","description":"Report device ID","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Report device ID"}]}},{"name":"device_name","description":"Report device name","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Report device name"}]}},{"name":"speed","description":"Speed of the link in Mbit/s (if available)","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Speed of the link in Mbit/s (if available)"}]}},{"name":"duplex","description":"Full duplex capability of the link (if available)","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Full duplex capability of the link (if available)"}]}},{"name":"pci_bus_path","description":"PCI bus path of the pif (if available)","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"PCI bus path of the pif (if available)"}]}},{"name":"last_updated","description":"Time at which this information was last updated","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which this information was last updated"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of PIF_metrics references to PIF_metrics records for all PIF_metrics instances known to the system.","result":["(PIF_metrics ref -> PIF_metrics record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a physical network interface"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the PIF_metrics instances known to the system.","result":["PIF_metrics ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a physical network interface"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given PIF_metrics. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given PIF_metrics.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given PIF_metrics.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given PIF_metrics.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"get_last_updated","description":"Get the last_updated field of the given PIF_metrics.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which this information was last updated"}]},"implicit":true},{"name":"get_pci_bus_path","description":"Get the pci_bus_path field of the given PIF_metrics.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"PCI bus path of the pif (if available)"}]},"implicit":true},{"name":"get_duplex","description":"Get the duplex field of the given PIF_metrics.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Full duplex capability of the link (if available)"}]},"implicit":true},{"name":"get_speed","description":"Get the speed field of the given PIF_metrics.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Speed of the link in Mbit/s (if available)"}]},"implicit":true},{"name":"get_device_name","description":"Get the device_name field of the given PIF_metrics.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Report device name"}]},"implicit":true},{"name":"get_device_id","description":"Get the device_id field of the given PIF_metrics.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Report device ID"}]},"implicit":true},{"name":"get_vendor_name","description":"Get the vendor_name field of the given PIF_metrics.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Report vendor name"}]},"implicit":true},{"name":"get_vendor_id","description":"Get the vendor_id field of the given PIF_metrics.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Report vendor ID"}]},"implicit":true},{"name":"get_carrier","description":"Get the carrier field of the given PIF_metrics.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Report if the PIF got a carrier or not"}]},"implicit":true},{"name":"get_io_write_kbs","description":"Get the io/write_kbs field of the given PIF_metrics.","result":["float","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled and replaced by RRDs"}]},"implicit":true},{"name":"get_io_read_kbs","description":"Get the io/read_kbs field of the given PIF_metrics.","result":["float","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled and replaced by RRDs"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given PIF_metrics.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the PIF_metrics instance with the specified UUID.","result":["PIF_metrics ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a physical network interface"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given PIF_metrics.","result":["PIF_metrics record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a physical network interface"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a physical network interface"}]},"tag":"networking"},{"name":"Bond","description":"A Network bond that combines physical network interfaces, also known as link aggregation","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"master","description":"The bonded interface","type":"PIF ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"The bonded interface"}]},"default":"Null"},{"name":"slaves","description":"The interfaces which are part of this bond","type":"PIF ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"The interfaces which are part of this bond"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"default":"{}"},{"name":"primary_slave","description":"The PIF of which the IP configuration and MAC were copied to the bond, and which will receive all configuration/VLANs/VIFs on the bond if the bond is destroyed","type":"PIF ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"OpaqueRef:NULL"},{"name":"mode","description":"The algorithm used to distribute traffic among the bonded NICs","type":"enum bond_mode","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"balance-slb"},{"name":"properties","description":"Additional configuration properties specific to the bond mode.","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Additional configuration properties specific to the bond mode."}]},"default":"{}"},{"name":"links_up","description":"Number of links up in this bond","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Number of links up in this bond"}]},"default":"0"},{"name":"auto_update_mac","description":"true if the MAC was taken from the primary slave when the bond was created, and false if the client specified the MAC","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"quebec","description":""}]},"default":"true"}],"messages":[{"name":"get_all_records","description":"Return a map of Bond references to Bond records for all Bonds known to the system.","result":["(Bond ref -> Bond record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"A Network bond that combines physical network interfaces, also known as link aggregation"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the Bonds known to the system.","result":["Bond ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"A Network bond that combines physical network interfaces, also known as link aggregation"}]},"implicit":true},{"name":"set_property","description":"Set the value of a property of the bond","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"The bond"},{"type":"string","name":"name","doc":"The property name"},{"type":"string","name":"value","doc":"The property value"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Set the value of a property of the bond"}]},"implicit":false},{"name":"set_mode","description":"Change the bond mode","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"The bond"},{"type":"enum bond_mode","name":"value","doc":"The new bond mode"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":false},{"name":"destroy","description":"Destroy an interface bond","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"Bond to destroy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Destroy an interface bond"}]},"implicit":false},{"name":"create","description":"Create an interface bond","result":["Bond ref","The reference of the created Bond object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"network","doc":"Network to add the bonded PIF to"},{"type":"PIF ref set","name":"members","doc":"PIFs to add to this bond"},{"type":"string","name":"MAC","doc":"The MAC address to use on the bond itself. If this parameter is the empty string then the bond will inherit its MAC address from the primary slave."},{"type":"enum bond_mode","name":"mode","doc":"Bonding mode to use for the new bond"},{"type":"(string -> string) map","name":"properties","doc":"Additional configuration parameters specific to the bond mode"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Create an interface bond"}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given Bond. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given Bond.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given Bond.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_auto_update_mac","description":"Get the auto_update_mac field of the given Bond.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"quebec","description":""}]},"implicit":true},{"name":"get_links_up","description":"Get the links_up field of the given Bond.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Number of links up in this bond"}]},"implicit":true},{"name":"get_properties","description":"Get the properties field of the given Bond.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Additional configuration properties specific to the bond mode."}]},"implicit":true},{"name":"get_mode","description":"Get the mode field of the given Bond.","result":["enum bond_mode","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_primary_slave","description":"Get the primary_slave field of the given Bond.","result":["PIF ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given Bond.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_slaves","description":"Get the slaves field of the given Bond.","result":["PIF ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"The interfaces which are part of this bond"}]},"implicit":true},{"name":"get_master","description":"Get the master field of the given Bond.","result":["PIF ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"The bonded interface"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given Bond.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the Bond instance with the specified UUID.","result":["Bond ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"A Network bond that combines physical network interfaces, also known as link aggregation"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given Bond.","result":["Bond record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Bond ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"A Network bond that combines physical network interfaces, also known as link aggregation"}]},"implicit":true}],"enums":[{"name":"bond_mode","values":[{"name":"balance-slb","doc":"Source-level balancing"},{"name":"active-backup","doc":"Active/passive bonding: only one NIC is carrying traffic"},{"name":"lacp","doc":"Link aggregation control protocol"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"A Network bond that combines physical network interfaces, also known as link aggregation"}]},"tag":"networking"},{"name":"VLAN","description":"A VLAN mux/demux","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"tagged_PIF","description":"interface on which traffic is tagged","type":"PIF ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"interface on which traffic is tagged"}]},"default":"Null"},{"name":"untagged_PIF","description":"interface on which traffic is untagged","type":"PIF ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"interface on which traffic is untagged"}]},"default":"Null"},{"name":"tag","description":"VLAN tag in use","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"VLAN tag in use"}]},"default":"-1"},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of VLAN references to VLAN records for all VLANs known to the system.","result":["(VLAN ref -> VLAN record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"A VLAN mux/demux"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VLANs known to the system.","result":["VLAN ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"A VLAN mux/demux"}]},"implicit":true},{"name":"destroy","description":"Destroy a VLAN mux/demuxer","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VLAN ref","name":"self","doc":"VLAN mux/demuxer to destroy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Destroy a VLAN mux/demuxer"}]},"implicit":false},{"name":"create","description":"Create a VLAN mux/demuxer","result":["VLAN ref","The reference of the created VLAN object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"tagged_PIF","doc":"PIF which receives the tagged traffic"},{"type":"int","name":"tag","doc":"VLAN tag to use"},{"type":"network ref","name":"network","doc":"Network to receive the untagged traffic"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Create a VLAN mux/demuxer"}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given VLAN. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VLAN ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given VLAN.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VLAN ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given VLAN.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VLAN ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given VLAN.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VLAN ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_tag","description":"Get the tag field of the given VLAN.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VLAN ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"VLAN tag in use"}]},"implicit":true},{"name":"get_untagged_PIF","description":"Get the untagged_PIF field of the given VLAN.","result":["PIF ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VLAN ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"interface on which traffic is untagged"}]},"implicit":true},{"name":"get_tagged_PIF","description":"Get the tagged_PIF field of the given VLAN.","result":["PIF ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VLAN ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"interface on which traffic is tagged"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VLAN.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VLAN ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VLAN instance with the specified UUID.","result":["VLAN ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"A VLAN mux/demux"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VLAN.","result":["VLAN record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VLAN ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"A VLAN mux/demux"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"A VLAN mux/demux"}]},"tag":"networking"},{"name":"SM","description":"A storage manager plugin","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"type","description":"SR.type","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"SR.type"}]}},{"name":"vendor","description":"Vendor who created this plugin","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Vendor who created this plugin"}]}},{"name":"copyright","description":"Entity which owns the copyright of this plugin","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Entity which owns the copyright of this plugin"}]}},{"name":"version","description":"Version of the plugin","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Version of the plugin"}]}},{"name":"required_api_version","description":"Minimum SM API version required on the server","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Minimum SM API version required on the server"}]}},{"name":"configuration","description":"names and descriptions of device config keys","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"names and descriptions of device config keys"}]}},{"name":"capabilities","description":"capabilities of the SM plugin","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"miami","description":""},{"transition":"deprecated","release":"clearwater","description":"Use SM.features instead"}]},"default":"{}"},{"name":"features","description":"capabilities of the SM plugin, with capability version numbers","type":"(string -> int) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"clearwater","description":"capabilities of the SM plugin, with capability version numbers"}]},"default":"{}"},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"default":"{}"},{"name":"driver_filename","description":"filename of the storage driver","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"filename of the storage driver"}]},"default":"\"\""},{"name":"required_cluster_stack","description":"The storage plugin requires that one of these cluster stacks is configured and running.","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"The storage plugin requires that one of these cluster stacks is configured and running."}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of SM references to SM records for all SMs known to the system.","result":["(SM ref -> SM record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A storage manager plugin"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the SMs known to the system.","result":["SM ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A storage manager plugin"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given SM. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given SM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given SM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_required_cluster_stack","description":"Get the required_cluster_stack field of the given SM.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"The storage plugin requires that one of these cluster stacks is configured and running."}]},"implicit":true},{"name":"get_driver_filename","description":"Get the driver_filename field of the given SM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"filename of the storage driver"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given SM.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_features","description":"Get the features field of the given SM.","result":["(string -> int) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"clearwater","description":"capabilities of the SM plugin, with capability version numbers"}]},"implicit":true},{"name":"get_capabilities","description":"Get the capabilities field of the given SM.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"miami","description":""},{"transition":"deprecated","release":"clearwater","description":"Use SM.features instead"}]},"implicit":true},{"name":"get_configuration","description":"Get the configuration field of the given SM.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"names and descriptions of device config keys"}]},"implicit":true},{"name":"get_required_api_version","description":"Get the required_api_version field of the given SM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Minimum SM API version required on the server"}]},"implicit":true},{"name":"get_version","description":"Get the version field of the given SM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Version of the plugin"}]},"implicit":true},{"name":"get_copyright","description":"Get the copyright field of the given SM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Entity which owns the copyright of this plugin"}]},"implicit":true},{"name":"get_vendor","description":"Get the vendor field of the given SM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Vendor who created this plugin"}]},"implicit":true},{"name":"get_type","description":"Get the type field of the given SM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"SR.type"}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given SM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given SM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given SM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the SM instances with the given label.","result":["SM ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A storage manager plugin"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the SM instance with the specified UUID.","result":["SM ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A storage manager plugin"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given SM.","result":["SM record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A storage manager plugin"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A storage manager plugin"}]},"tag":""},{"name":"SR","description":"A storage repository","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"allowed_operations","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client.","type":"enum storage_operations set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"default":"{}"},{"name":"current_operations","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task.","type":"(string -> enum storage_operations) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"default":"{}"},{"name":"VDIs","description":"all virtual disks known to this storage repository","type":"VDI ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"all virtual disks known to this storage repository"}]}},{"name":"PBDs","description":"describes how particular hosts can see this storage repository","type":"PBD ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"describes how particular hosts can see this storage repository"}]}},{"name":"virtual_allocation","description":"sum of virtual_sizes of all VDIs in this storage repository (in bytes)","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"sum of virtual_sizes of all VDIs in this storage repository (in bytes)"}]}},{"name":"physical_utilisation","description":"physical space currently utilised on this storage repository (in bytes). Note that for sparse disk formats, physical_utilisation may be less than virtual_allocation","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"physical space currently utilised on this storage repository (in bytes). Note that for sparse disk formats, physical_utilisation may be less than virtual_allocation"}]}},{"name":"physical_size","description":"total physical size of the repository (in bytes)","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"total physical size of the repository (in bytes)"}]}},{"name":"type","description":"type of the storage repository","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"type of the storage repository"}]}},{"name":"content_type","description":"the type of the SR's content, if required (e.g. ISOs)","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the type of the SR's content, if required (e.g. ISOs)"}]}},{"name":"shared","description":"true if this SR is (capable of being) shared between multiple hosts","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this SR is (capable of being) shared between multiple hosts"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]}},{"name":"tags","description":"user-specified tags for categorization purposes","type":"string set","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"default":"{}"},{"name":"sm_config","description":"SM dependent data","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"SM dependent data"}]},"default":"{}"},{"name":"blobs","description":"Binary blobs associated with this SR","type":"(string -> blob ref) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Binary blobs associated with this SR"}]},"default":"{}"},{"name":"local_cache_enabled","description":"True if this SR is assigned to be the local cache for its host","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"True if this SR is assigned to be the local cache for its host"}]},"default":"false"},{"name":"introduced_by","description":"The disaster recovery task which introduced this SR","type":"DR_task ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The disaster recovery task which introduced this SR"}]},"default":"OpaqueRef:NULL"},{"name":"clustered","description":"True if the SR is using aggregated local storage","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"default":"false"},{"name":"is_tools_sr","description":"True if this is the SR that contains the Tools ISO VDIs","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"default":"false"}],"messages":[{"name":"get_all_records","description":"Return a map of SR references to SR records for all SRs known to the system.","result":["(SR ref -> SR record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A storage repository"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the SRs known to the system.","result":["SR ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A storage repository"}]},"implicit":true},{"name":"forget_data_source_archives","description":"Forget the recorded statistics related to the specified data source","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR"},{"type":"string","name":"data_source","doc":"The data source whose archives are to be forgotten"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Forget the recorded statistics related to the specified data source"}]},"implicit":false},{"name":"query_data_source","description":"Query the latest value of the specified data source","result":["float","The latest value, averaged over the last 5 seconds"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR"},{"type":"string","name":"data_source","doc":"The data source to query"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Query the latest value of the specified data source"}]},"implicit":false},{"name":"record_data_source","description":"Start recording the specified data source","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR"},{"type":"string","name":"data_source","doc":"The data source to record"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Start recording the specified data source"}]},"implicit":false},{"name":"get_data_sources","description":"","result":["data_source record set","A set of data sources"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR to interrogate"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"implicit":false},{"name":"disable_database_replication","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR to which metadata should be no longer replicated"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":false},{"name":"enable_database_replication","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR to which metadata should be replicated"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":false},{"name":"assert_supports_database_replication","description":"Returns successfully if the given SR supports database replication. Otherwise returns an error to explain why not.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR to query"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Returns successfully if the given SR supports database replication. Otherwise returns an error to explain why not."}]},"implicit":false},{"name":"assert_can_host_ha_statefile","description":"Returns successfully if the given SR can host an HA statefile. Otherwise returns an error to explain why not","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR to query"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Returns successfully if the given SR can host an HA statefile. Otherwise returns an error to explain why not"}]},"implicit":false},{"name":"set_physical_size","description":"Sets the SR's physical_size field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"The SR to modify"},{"type":"int","name":"value","doc":"The new value of the SR's physical_size"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Sets the SR's physical_size field"}]},"implicit":false},{"name":"create_new_blob","description":"Create a placeholder for a named binary blob of data that is associated with this SR","result":["blob ref","The reference of the blob, needed for populating its data"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR"},{"type":"string","name":"name","doc":"The name associated with the blob"},{"type":"string","name":"mime_type","doc":"The mime type for the data. Empty string translates to application/octet-stream"},{"type":"bool","name":"public","doc":"True if the blob should be publicly available"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Create a placeholder for a named binary blob of data that is associated with this SR"}]},"implicit":false},{"name":"set_name_description","description":"Set the name description of the SR","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR"},{"type":"string","name":"value","doc":"The name description for the SR"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Set the name description of the SR"}]},"implicit":false},{"name":"set_name_label","description":"Set the name label of the SR","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR"},{"type":"string","name":"value","doc":"The name label for the SR"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Set the name label of the SR"}]},"implicit":false},{"name":"set_shared","description":"Sets the shared flag on the SR","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR"},{"type":"bool","name":"value","doc":"True if the SR is shared"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Sets the shared flag on the SR"}]},"implicit":false},{"name":"probe_ext","description":"Perform a backend-specific scan, using the given device_config. If the device_config is complete, then this will return a list of the SRs present of this type on the device, if any. If the device_config is partial, then a backend-specific scan will be performed, returning results that will guide the user in improving the device_config.","result":["probe_result record set","A set of records containing the scan results."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host to create/make the SR on"},{"type":"(string -> string) map","name":"device_config","doc":"The device config string that will be passed to backend SR driver"},{"type":"string","name":"type","doc":"The type of the SR; used to specify the SR backend driver to use"},{"type":"(string -> string) map","name":"sm_config","doc":"Storage backend specific configuration options"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":false},{"name":"probe","description":"Perform a backend-specific scan, using the given device_config. If the device_config is complete, then this will return a list of the SRs present of this type on the device, if any. If the device_config is partial, then a backend-specific scan will be performed, returning results that will guide the user in improving the device_config.","result":["string","An XML fragment containing the scan results. These are specific to the scan being performed, and the backend."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host to create/make the SR on"},{"type":"(string -> string) map","name":"device_config","doc":"The device config string that will be passed to backend SR driver"},{"type":"string","name":"type","doc":"The type of the SR; used to specify the SR backend driver to use"},{"type":"(string -> string) map","name":"sm_config","doc":"Storage backend specific configuration options"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Perform a backend-specific scan, using the given device_config. If the device_config is complete, then this will return a list of the SRs present of this type on the device, if any. If the device_config is partial, then a backend-specific scan will be performed, returning results that will guide the user in improving the device_config."}]},"implicit":false},{"name":"scan","description":"Refreshes the list of VDIs associated with an SR","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR to scan"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Refreshes the list of VDIs associated with an SR"}]},"implicit":false},{"name":"get_supported_types","description":"Return a set of all the SR types supported by the system","result":["string set","the supported SR types"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Return a set of all the SR types supported by the system"}]},"implicit":false},{"name":"update","description":"Refresh the fields on the SR object","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR whose fields should be refreshed"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"symc","description":"Refresh the fields on the SR object"}]},"implicit":false},{"name":"forget","description":"Removing specified SR-record from database, without attempting to remove SR from disk","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR to destroy"}],"errors":[{"name":"SR_HAS_PBD","doc":"The SR is still connected to a host via a PBD. It cannot be destroyed or forgotten."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Removing specified SR-record from database, without attempting to remove SR from disk"}]},"implicit":false},{"name":"destroy","description":"Destroy specified SR, removing SR-record from database and remove SR from disk. (In order to affect this operation the appropriate device_config is read from the specified SR's PBD on current host)","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"sr","doc":"The SR to destroy"}],"errors":[{"name":"SR_HAS_PBD","doc":"The SR is still connected to a host via a PBD. It cannot be destroyed or forgotten."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Destroy specified SR, removing SR-record from database and remove SR from disk. (In order to affect this operation the appropriate device_config is read from the specified SR's PBD on current host)"}]},"implicit":false},{"name":"make","description":"Create a new Storage Repository on disk. This call is deprecated: use SR.create instead.","result":["string","The uuid of the newly created Storage Repository."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host to create/make the SR on"},{"type":"(string -> string) map","name":"device_config","doc":"The device config string that will be passed to backend SR driver"},{"type":"int","name":"physical_size","doc":"The physical size of the new storage repository"},{"type":"string","name":"name_label","doc":"The name of the new storage repository"},{"type":"string","name":"name_description","doc":"The description of the new storage repository"},{"type":"string","name":"type","doc":"The type of the SR; used to specify the SR backend driver to use"},{"type":"string","name":"content_type","doc":"The type of the new SRs content, if required (e.g. ISOs)"},{"type":"(string -> string) map","name":"sm_config","doc":"Storage backend specific configuration options"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"Create a new Storage Repository on disk"},{"transition":"deprecated","release":"miami","description":"Use SR.create instead"}]},"implicit":false},{"name":"introduce","description":"Introduce a new Storage Repository into the managed system","result":["SR ref","The reference of the newly introduced Storage Repository."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"The uuid assigned to the introduced SR"},{"type":"string","name":"name_label","doc":"The name of the new storage repository"},{"type":"string","name":"name_description","doc":"The description of the new storage repository"},{"type":"string","name":"type","doc":"The type of the SR; used to specify the SR backend driver to use"},{"type":"string","name":"content_type","doc":"The type of the new SRs content, if required (e.g. ISOs)"},{"type":"bool","name":"shared","doc":"True if the SR (is capable of) being shared by multiple hosts"},{"type":"(string -> string) map","name":"sm_config","doc":"Storage backend specific configuration options"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Introduce a new Storage Repository into the managed system"}]},"implicit":false},{"name":"create","description":"Create a new Storage Repository and introduce it into the managed system, creating both SR record and PBD record to attach it to current host (with specified device_config parameters)","result":["SR ref","The reference of the newly created Storage Repository."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host to create/make the SR on"},{"type":"(string -> string) map","name":"device_config","doc":"The device config string that will be passed to backend SR driver"},{"type":"int","name":"physical_size","doc":"The physical size of the new storage repository"},{"type":"string","name":"name_label","doc":"The name of the new storage repository"},{"type":"string","name":"name_description","doc":"The description of the new storage repository"},{"type":"string","name":"type","doc":"The type of the SR; used to specify the SR backend driver to use"},{"type":"string","name":"content_type","doc":"The type of the new SRs content, if required (e.g. ISOs)"},{"type":"bool","name":"shared","doc":"True if the SR (is capable of) being shared by multiple hosts"},{"type":"(string -> string) map","name":"sm_config","doc":"Storage backend specific configuration options"}],"errors":[{"name":"SR_UNKNOWN_DRIVER","doc":"The SR could not be connected because the driver was not recognised."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Create a new Storage Repository and introduce it into the managed system, creating both SR record and PBD record to attach it to current host (with specified device_config parameters)"}]},"implicit":false},{"name":"remove_from_sm_config","description":"Remove the given key and its corresponding value from the sm_config field of the given SR. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"SM dependent data"}]},"implicit":true},{"name":"add_to_sm_config","description":"Add the given key-value pair to the sm_config field of the given SR.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"SM dependent data"}]},"implicit":true},{"name":"set_sm_config","description":"Set the sm_config field of the given SR.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"SM dependent data"}]},"implicit":true},{"name":"remove_tags","description":"Remove the given value from the tags field of the given SR. If the value is not in that Set, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"Value to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"add_tags","description":"Add the given value to the tags field of the given SR. If the value is already in that Set, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"set_tags","description":"Set the tags field of the given SR.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"},{"type":"string set","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given SR. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given SR.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given SR.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"get_is_tools_sr","description":"Get the is_tools_sr field of the given SR.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"implicit":true},{"name":"get_clustered","description":"Get the clustered field of the given SR.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"implicit":true},{"name":"get_introduced_by","description":"Get the introduced_by field of the given SR.","result":["DR_task ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The disaster recovery task which introduced this SR"}]},"implicit":true},{"name":"get_local_cache_enabled","description":"Get the local_cache_enabled field of the given SR.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"True if this SR is assigned to be the local cache for its host"}]},"implicit":true},{"name":"get_blobs","description":"Get the blobs field of the given SR.","result":["(string -> blob ref) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Binary blobs associated with this SR"}]},"implicit":true},{"name":"get_sm_config","description":"Get the sm_config field of the given SR.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"SM dependent data"}]},"implicit":true},{"name":"get_tags","description":"Get the tags field of the given SR.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given SR.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"get_shared","description":"Get the shared field of the given SR.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this SR is (capable of being) shared between multiple hosts"}]},"implicit":true},{"name":"get_content_type","description":"Get the content_type field of the given SR.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the type of the SR's content, if required (e.g. ISOs)"}]},"implicit":true},{"name":"get_type","description":"Get the type field of the given SR.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"type of the storage repository"}]},"implicit":true},{"name":"get_physical_size","description":"Get the physical_size field of the given SR.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"total physical size of the repository (in bytes)"}]},"implicit":true},{"name":"get_physical_utilisation","description":"Get the physical_utilisation field of the given SR.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"physical space currently utilised on this storage repository (in bytes). Note that for sparse disk formats, physical_utilisation may be less than virtual_allocation"}]},"implicit":true},{"name":"get_virtual_allocation","description":"Get the virtual_allocation field of the given SR.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"sum of virtual_sizes of all VDIs in this storage repository (in bytes)"}]},"implicit":true},{"name":"get_PBDs","description":"Get the PBDs field of the given SR.","result":["PBD ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"describes how particular hosts can see this storage repository"}]},"implicit":true},{"name":"get_VDIs","description":"Get the VDIs field of the given SR.","result":["VDI ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"all virtual disks known to this storage repository"}]},"implicit":true},{"name":"get_current_operations","description":"Get the current_operations field of the given SR.","result":["(string -> enum storage_operations) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"implicit":true},{"name":"get_allowed_operations","description":"Get the allowed_operations field of the given SR.","result":["enum storage_operations set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given SR.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given SR.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given SR.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the SR instances with the given label.","result":["SR ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A storage repository"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the SR instance with the specified UUID.","result":["SR ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A storage repository"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given SR.","result":["SR record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SR ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A storage repository"}]},"implicit":true}],"enums":[{"name":"storage_operations","values":[{"name":"scan","doc":"Scanning backends for new or deleted VDIs"},{"name":"destroy","doc":"Destroying the SR"},{"name":"forget","doc":"Forgetting about SR"},{"name":"plug","doc":"Plugging a PBD into this SR"},{"name":"unplug","doc":"Unplugging a PBD from this SR"},{"name":"update","doc":"Refresh the fields on the SR"},{"name":"vdi_create","doc":"Creating a new VDI"},{"name":"vdi_introduce","doc":"Introducing a new VDI"},{"name":"vdi_destroy","doc":"Destroying a VDI"},{"name":"vdi_resize","doc":"Resizing a VDI"},{"name":"vdi_clone","doc":"Cloneing a VDI"},{"name":"vdi_snapshot","doc":"Snapshotting a VDI"},{"name":"vdi_mirror","doc":"Mirroring a VDI"},{"name":"vdi_enable_cbt","doc":"Enabling changed block tracking for a VDI"},{"name":"vdi_disable_cbt","doc":"Disabling changed block tracking for a VDI"},{"name":"vdi_data_destroy","doc":"Deleting the data of the VDI"},{"name":"vdi_list_changed_blocks","doc":"Exporting a bitmap that shows the changed blocks between two VDIs"},{"name":"vdi_set_on_boot","doc":"Setting the on_boot field of the VDI"},{"name":"pbd_create","doc":"Creating a PBD for this SR"},{"name":"pbd_destroy","doc":"Destroying one of this SR's PBDs"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A storage repository"}]},"tag":""},{"name":"sr_stat","description":"A set of high-level properties associated with an SR.","fields":[{"name":"uuid","description":"Uuid that uniquely identifies this SR, if one is available.","type":"string option","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]}},{"name":"name_label","description":"Short, human-readable label for the SR.","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]}},{"name":"name_description","description":"Longer, human-readable description of the SR. Descriptions are generally only displayed by clients when the user is examining SRs in detail.","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]}},{"name":"free_space","description":"Number of bytes free on the backing storage (in bytes)","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]}},{"name":"total_space","description":"Total physical size of the backing storage (in bytes)","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]}},{"name":"clustered","description":"Indicates whether the SR uses clustered local storage.","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]}},{"name":"health","description":"The health status of the SR.","type":"enum sr_health","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]}}],"messages":[],"enums":[{"name":"sr_health","values":[{"name":"healthy","doc":"Storage is fully available"},{"name":"recovering","doc":"Storage is busy recovering, e.g. rebuilding mirrors."}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"tag":""},{"name":"probe_result","description":"A set of properties that describe one result element of SR.probe. Result elements and properties can change dynamically based on changes to the the SR.probe input-parameters or the target.","fields":[{"name":"configuration","description":"Plugin-specific configuration which describes where and how to locate the storage repository. This may include the physical block device name, a remote NFS server and path or an RBD storage pool.","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]}},{"name":"complete","description":"True if this configuration is complete and can be used to call SR.create. False if it requires further iterative calls to SR.probe, to potentially narrow down on a configuration that can be used.","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]}},{"name":"sr","description":"Existing SR found for this configuration","type":"sr_stat record option","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]}},{"name":"extra_info","description":"Additional plugin-specific information about this configuration, that might be of use for an API user. This can for example include the LUN or the WWPN.","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]}}],"messages":[],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"tag":""},{"name":"LVHD","description":"LVHD SR specific operations","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}}],"messages":[{"name":"enable_thin_provisioning","description":"Upgrades an LVHD SR to enable thin-provisioning. Future VDIs created in this SR will be thinly-provisioned, although existing VDIs will be left alone. Note that the SR must be attached to the SRmaster for upgrade to work.","result":["string","Message from LVHD.enable_thin_provisioning extension"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The LVHD Host to upgrade to being thin-provisioned."},{"type":"SR ref","name":"SR","doc":"The LVHD SR to upgrade to being thin-provisioned."},{"type":"int","name":"initial_allocation","doc":"The initial amount of space to allocate to a newly-created VDI in bytes"},{"type":"int","name":"allocation_quantum","doc":"The amount of space to allocate to a VDI when it needs to be enlarged in bytes"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"Upgrades an LVHD SR to enable thin-provisioning. Future VDIs created in this SR will be thinly-provisioned, although existing VDIs will be left alone. Note that the SR must be attached to the SRmaster for upgrade to work."}]},"implicit":false},{"name":"get_uuid","description":"Get the uuid field of the given LVHD.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"LVHD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the LVHD instance with the specified UUID.","result":["LVHD ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"LVHD SR specific operations"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given LVHD.","result":["LVHD record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"LVHD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"LVHD SR specific operations"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":"LVHD SR specific operations"}]},"tag":""},{"name":"VDI","description":"A virtual disk image","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"allowed_operations","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client.","type":"enum vdi_operations set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"default":"{}"},{"name":"current_operations","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task.","type":"(string -> enum vdi_operations) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"default":"{}"},{"name":"SR","description":"storage repository in which the VDI resides","type":"SR ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"storage repository in which the VDI resides"}]}},{"name":"VBDs","description":"list of vbds that refer to this disk","type":"VBD ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of vbds that refer to this disk"}]}},{"name":"crash_dumps","description":"list of crash dumps that refer to this disk","type":"crashdump ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of crash dumps that refer to this disk"}]}},{"name":"virtual_size","description":"size of disk as presented to the guest (in bytes). Note that, depending on storage backend type, requested size may not be respected exactly","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"size of disk as presented to the guest (in bytes). Note that, depending on storage backend type, requested size may not be respected exactly"}]}},{"name":"physical_utilisation","description":"amount of physical space that the disk image is currently taking up on the storage repository (in bytes)","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"amount of physical space that the disk image is currently taking up on the storage repository (in bytes)"}]}},{"name":"type","description":"type of the VDI","type":"enum vdi_type","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"type of the VDI"}]}},{"name":"sharable","description":"true if this disk may be shared","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this disk may be shared"}]}},{"name":"read_only","description":"true if this disk may ONLY be mounted read-only","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this disk may ONLY be mounted read-only"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]}},{"name":"storage_lock","description":"true if this disk is locked at the storage level","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this disk is locked at the storage level"}]}},{"name":"location","description":"location information","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"location information"}]},"default":"\"\""},{"name":"managed","description":"","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""}]}},{"name":"missing","description":"true if SR scan operation reported this VDI as not present on disk","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if SR scan operation reported this VDI as not present on disk"}]}},{"name":"parent","description":"This field is always null. Deprecated","type":"VDI ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"ely","description":"The field was never used."}]}},{"name":"xenstore_data","description":"data to be inserted into the xenstore tree (/local/domain/0/backend/vbd///sm-data) after the VDI is attached. This is generally set by the SM backends on vdi_attach.","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"data to be inserted into the xenstore tree (/local/domain/0/backend/vbd///sm-data) after the VDI is attached. This is generally set by the SM backends on vdi_attach."}]},"default":"{}"},{"name":"sm_config","description":"SM dependent data","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"SM dependent data"}]},"default":"{}"},{"name":"is_a_snapshot","description":"true if this is a snapshot.","type":"bool","qualifier":"RO/runtime","tag":"snapshots","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"true if this is a snapshot."}]},"default":"false"},{"name":"snapshot_of","description":"Ref pointing to the VDI this snapshot is of.","type":"VDI ref","qualifier":"RO/runtime","tag":"snapshots","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Ref pointing to the VDI this snapshot is of."}]},"default":"Null"},{"name":"snapshots","description":"List pointing to all the VDIs snapshots.","type":"VDI ref set","qualifier":"RO/runtime","tag":"snapshots","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"List pointing to all the VDIs snapshots."}]}},{"name":"snapshot_time","description":"Date/time when this snapshot was created.","type":"datetime","qualifier":"RO/runtime","tag":"snapshots","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Date/time when this snapshot was created."}]},"default":"19700101T00:00:00Z"},{"name":"tags","description":"user-specified tags for categorization purposes","type":"string set","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"default":"{}"},{"name":"allow_caching","description":"true if this VDI is to be cached in the local cache SR","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"true if this VDI is to be cached in the local cache SR"}]},"default":"false"},{"name":"on_boot","description":"The behaviour of this VDI on a VM boot","type":"enum on_boot","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"The behaviour of this VDI on a VM boot"}]},"default":"persist"},{"name":"metadata_of_pool","description":"The pool whose metadata is contained in this VDI","type":"pool ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The pool whose metadata is contained in this VDI"}]},"default":"OpaqueRef:NULL"},{"name":"metadata_latest","description":"Whether this VDI contains the latest known accessible metadata for the pool","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Whether this VDI contains the latest known accessible metadata for the pool"}]},"default":"false"},{"name":"is_tools_iso","description":"Whether this VDI is a Tools ISO","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"default":"false"},{"name":"cbt_enabled","description":"True if changed blocks are tracked for this VDI","type":"bool","qualifier":"RO/runtime","tag":"snapshots","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"false"}],"messages":[{"name":"get_all_records","description":"Return a map of VDI references to VDI records for all VDIs known to the system.","result":["(VDI ref -> VDI record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual disk image"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VDIs known to the system.","result":["VDI ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual disk image"}]},"implicit":true},{"name":"get_nbd_info","description":"Get details specifying how to access this VDI via a Network Block Device server. For each of a set of NBD server addresses on which the VDI is available, the return value set contains a vdi_nbd_server_info object that contains an exportname to request once the NBD connection is established, and connection details for the address. An empty list is returned if there is no network that has a PIF on a host with access to the relevant SR, or if no such network has been assigned an NBD-related purpose in its purpose field. To access the given VDI, any of the vdi_nbd_server_info objects can be used to make a connection to a server, and then the VDI will be available by requesting the exportname.","result":["vdi_nbd_server_info record set","The details necessary for connecting to the VDI over NBD. This includes an authentication token, so must be treated as sensitive material and must not be sent over insecure networks."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"The VDI to access via Network Block Device protocol"}],"errors":[{"name":"VDI_INCOMPATIBLE_TYPE","doc":"This operation cannot be performed because the specified VDI is of an incompatible type (eg: an HA statefile cannot be attached to a guest)"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"Get details specifying how to access this VDI via a Network Block Device server. For each of a set of NBD server addresses on which the VDI is available, the return value set contains a vdi_nbd_server_info object that contains an exportname to request once the NBD connection is established, and connection details for the address. An empty list is returned if there is no network that has a PIF on a host with access to the relevant SR, or if no such network has been assigned an NBD-related purpose in its purpose field. To access the given VDI, any of the vdi_nbd_server_info objects can be used to make a connection to a server, and then the VDI will be available by requesting the exportname."}]},"implicit":false},{"name":"list_changed_blocks","description":"Compare two VDIs in 64k block increments and report which blocks differ. This operation is not allowed when vdi_to is attached to a VM.","result":["string","A base64 string-encoding of the bitmap showing which blocks differ in the two VDIs."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"vdi_from","doc":"The first VDI."},{"type":"VDI ref","name":"vdi_to","doc":"The second VDI."}],"errors":[{"name":"SR_OPERATION_NOT_SUPPORTED","doc":"The SR backend does not support the operation (check the SR's allowed operations)"},{"name":"VDI_MISSING","doc":"This operation cannot be performed because the specified VDI could not be found on the storage substrate"},{"name":"SR_NOT_ATTACHED","doc":"The SR is not attached."},{"name":"SR_HAS_NO_PBDS","doc":"The SR has no attached PBDs"},{"name":"VDI_IN_USE","doc":"This operation cannot be performed because this VDI is in use by some other operation"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"Compare two VDIs in 64k block increments and report which blocks differ. This operation is not allowed when vdi_to is attached to a VM."}]},"implicit":false},{"name":"data_destroy","description":"Delete the data of the snapshot VDI, but keep its changed block tracking metadata. When successful, this call changes the type of the VDI to cbt_metadata. This operation is idempotent: calling it on a VDI of type cbt_metadata results in a no-op, and no error will be thrown.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"The VDI whose data should be deleted."}],"errors":[{"name":"SR_OPERATION_NOT_SUPPORTED","doc":"The SR backend does not support the operation (check the SR's allowed operations)"},{"name":"VDI_MISSING","doc":"This operation cannot be performed because the specified VDI could not be found on the storage substrate"},{"name":"SR_NOT_ATTACHED","doc":"The SR is not attached."},{"name":"SR_HAS_NO_PBDS","doc":"The SR has no attached PBDs"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VDI_INCOMPATIBLE_TYPE","doc":"This operation cannot be performed because the specified VDI is of an incompatible type (eg: an HA statefile cannot be attached to a guest)"},{"name":"VDI_NO_CBT_METADATA","doc":"The requested operation is not allowed because the specified VDI does not have changed block tracking metadata."},{"name":"VDI_IN_USE","doc":"This operation cannot be performed because this VDI is in use by some other operation"},{"name":"VDI_IS_A_PHYSICAL_DEVICE","doc":"The operation cannot be performed on physical device"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"Delete the data of the snapshot VDI, but keep its changed block tracking metadata. When successful, this call changes the type of the VDI to cbt_metadata. This operation is idempotent: calling it on a VDI of type cbt_metadata results in a no-op, and no error will be thrown."}]},"implicit":false},{"name":"disable_cbt","description":"Disable changed block tracking for the VDI. This call is only allowed on VDIs that support enabling CBT. It is an idempotent operation - disabling CBT for a VDI for which CBT is not enabled results in a no-op, and no error will be thrown.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"The VDI for which CBT should be disabled"}],"errors":[{"name":"SR_OPERATION_NOT_SUPPORTED","doc":"The SR backend does not support the operation (check the SR's allowed operations)"},{"name":"VDI_MISSING","doc":"This operation cannot be performed because the specified VDI could not be found on the storage substrate"},{"name":"SR_NOT_ATTACHED","doc":"The SR is not attached."},{"name":"SR_HAS_NO_PBDS","doc":"The SR has no attached PBDs"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VDI_INCOMPATIBLE_TYPE","doc":"This operation cannot be performed because the specified VDI is of an incompatible type (eg: an HA statefile cannot be attached to a guest)"},{"name":"VDI_ON_BOOT_MODE_INCOMPATIBLE_WITH_OPERATION","doc":"This operation is not permitted on VDIs in the 'on-boot=reset' mode, or on VMs having such VDIs."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"Disable changed block tracking for the VDI. This call is only allowed on VDIs that support enabling CBT. It is an idempotent operation - disabling CBT for a VDI for which CBT is not enabled results in a no-op, and no error will be thrown."}]},"implicit":false},{"name":"enable_cbt","description":"Enable changed block tracking for the VDI. This call is idempotent - enabling CBT for a VDI for which CBT is already enabled results in a no-op, and no error will be thrown.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"The VDI for which CBT should be enabled"}],"errors":[{"name":"SR_OPERATION_NOT_SUPPORTED","doc":"The SR backend does not support the operation (check the SR's allowed operations)"},{"name":"VDI_MISSING","doc":"This operation cannot be performed because the specified VDI could not be found on the storage substrate"},{"name":"SR_NOT_ATTACHED","doc":"The SR is not attached."},{"name":"SR_HAS_NO_PBDS","doc":"The SR has no attached PBDs"},{"name":"OPERATION_NOT_ALLOWED","doc":"You attempted an operation that was not allowed."},{"name":"VDI_INCOMPATIBLE_TYPE","doc":"This operation cannot be performed because the specified VDI is of an incompatible type (eg: an HA statefile cannot be attached to a guest)"},{"name":"VDI_ON_BOOT_MODE_INCOMPATIBLE_WITH_OPERATION","doc":"This operation is not permitted on VDIs in the 'on-boot=reset' mode, or on VMs having such VDIs."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":"Enable changed block tracking for the VDI. This call is idempotent - enabling CBT for a VDI for which CBT is already enabled results in a no-op, and no error will be thrown."}]},"implicit":false},{"name":"pool_migrate","description":"Migrate a VDI, which may be attached to a running guest, to a different SR. The destination SR must be visible to the guest.","result":["VDI ref","The new reference of the migrated VDI."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"vdi","doc":"The VDI to migrate"},{"type":"SR ref","name":"sr","doc":"The destination SR"},{"type":"(string -> string) map","name":"options","doc":"Other parameters"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"Migrate a VDI, which may be attached to a running guest, to a different SR. The destination SR must be visible to the guest."}]},"implicit":false},{"name":"read_database_pool_uuid","description":"Check the VDI cache for the pool UUID of the database on this VDI.","result":["string","The cached pool UUID of the database on the VDI."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"The metadata VDI to look up in the cache."}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Check the VDI cache for the pool UUID of the database on this VDI."}]},"implicit":false},{"name":"open_database","description":"Load the metadata found on the supplied VDI and return a session reference which can be used in API calls to query its contents.","result":["session ref","A session which can be used to query the database"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"The VDI which contains the database to open"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Load the metadata found on the supplied VDI and return a session reference which can be used in API calls to query its contents."}]},"implicit":false},{"name":"set_allow_caching","description":"Set the value of the allow_caching parameter. This value can only be changed when the VDI is not attached to a running VM. The caching behaviour is only affected by this flag for VHD-based VDIs that have one parent and no child VHDs. Moreover, caching only takes place when the host running the VM containing this VDI has a nominated SR for local caching.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"The VDI to modify"},{"type":"bool","name":"value","doc":"The value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Set the value of the allow_caching parameter. This value can only be changed when the VDI is not attached to a running VM. The caching behaviour is only affected by this flag for VHD-based VDIs that have one parent and no child VHDs. Moreover, caching only takes place when the host running the VM containing this VDI has a nominated SR for local caching."}]},"implicit":false},{"name":"set_on_boot","description":"Set the value of the on_boot parameter. This value can only be changed when the VDI is not attached to a running VM.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"The VDI to modify"},{"type":"enum on_boot","name":"value","doc":"The value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Set the value of the on_boot parameter. This value can only be changed when the VDI is not attached to a running VM."}]},"implicit":false},{"name":"set_name_description","description":"Set the name description of the VDI. This can only happen when its SR is currently attached.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"The VDI to modify"},{"type":"string","name":"value","doc":"The name description for the VDI"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Set the name description of the VDI. This can only happen when its SR is currently attached."}]},"implicit":false},{"name":"set_name_label","description":"Set the name label of the VDI. This can only happen when then its SR is currently attached.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"The VDI to modify"},{"type":"string","name":"value","doc":"The name lable for the VDI"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Set the name label of the VDI. This can only happen when then its SR is currently attached."}]},"implicit":false},{"name":"set_read_only","description":"Sets the VDI's read_only field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"The VDI to modify"},{"type":"bool","name":"value","doc":"The new value of the VDI's read_only field"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Sets the VDI's read_only field"}]},"implicit":false},{"name":"set_sharable","description":"Sets the VDI's sharable field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"The VDI to modify"},{"type":"bool","name":"value","doc":"The new value of the VDI's sharable field"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"george","description":"Sets the VDI's sharable field"}]},"implicit":false},{"name":"forget","description":"Removes a VDI record from the database","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"vdi","doc":"The VDI to forget about"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Removes a VDI record from the database"}]},"implicit":false},{"name":"copy","description":"Copy either a full VDI or the block differences between two VDIs into either a fresh VDI or an existing VDI.","result":["VDI ref","The reference of the VDI where the blocks were written."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"vdi","doc":"The VDI to copy"},{"type":"SR ref","name":"sr","doc":"The destination SR (only required if the destination VDI is not specified"},{"type":"VDI ref","name":"base_vdi","doc":"The base VDI (only required if copying only changed blocks, by default all blocks will be copied)"},{"type":"VDI ref","name":"into_vdi","doc":"The destination VDI to copy blocks into (if omitted then a destination SR must be provided and a fresh VDI will be created)"}],"errors":[{"name":"VDI_READONLY","doc":"The operation required write access but this VDI is read-only"},{"name":"VDI_TOO_SMALL","doc":"The VDI is too small. Please resize it to at least the minimum size."},{"name":"VDI_NOT_SPARSE","doc":"The VDI is not stored using a sparse format. It is not possible to query and manipulate only the changed blocks (or 'block differences' or 'disk deltas') between two VDIs. Please select a VDI which uses a sparse-aware technology such as VHD."}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Copies a VDI to an SR. There must be a host that can see both the source and destination SRs simultaneously"},{"transition":"extended","release":"cowley","description":"The copy can now be performed between any two SRs."},{"transition":"extended","release":"clearwater-felton","description":"The copy can now be performed into a pre-created VDI. It is now possible to request copying only changed blocks from a base VDI"}]},"implicit":false},{"name":"update","description":"Ask the storage backend to refresh the fields in the VDI object","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"vdi","doc":"The VDI whose stats (eg size) should be updated"}],"errors":[{"name":"SR_OPERATION_NOT_SUPPORTED","doc":"The SR backend does not support the operation (check the SR's allowed operations)"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"symc","description":"Ask the storage backend to refresh the fields in the VDI object"}]},"implicit":false},{"name":"introduce","description":"Create a new VDI record in the database only","result":["VDI ref","The ref of the newly created VDI record."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"The uuid of the disk to introduce"},{"type":"string","name":"name_label","doc":"The name of the disk record"},{"type":"string","name":"name_description","doc":"The description of the disk record"},{"type":"SR ref","name":"SR","doc":"The SR that the VDI is in"},{"type":"enum vdi_type","name":"type","doc":"The type of the VDI"},{"type":"bool","name":"sharable","doc":"true if this disk may be shared"},{"type":"bool","name":"read_only","doc":"true if this disk may ONLY be mounted read-only"},{"type":"(string -> string) map","name":"other_config","doc":"additional configuration"},{"type":"string","name":"location","doc":"location information"},{"type":"(string -> string) map","name":"xenstore_data","doc":"Data to insert into xenstore"},{"type":"(string -> string) map","name":"sm_config","doc":"Storage-specific config"},{"type":"bool","name":"managed","doc":"Storage-specific config"},{"type":"int","name":"virtual_size","doc":"Storage-specific config"},{"type":"int","name":"physical_utilisation","doc":"Storage-specific config"},{"type":"pool ref","name":"metadata_of_pool","doc":"Storage-specific config"},{"type":"bool","name":"is_a_snapshot","doc":"Storage-specific config"},{"type":"datetime","name":"snapshot_time","doc":"Storage-specific config"},{"type":"VDI ref","name":"snapshot_of","doc":"Storage-specific config"}],"errors":[{"name":"SR_OPERATION_NOT_SUPPORTED","doc":"The SR backend does not support the operation (check the SR's allowed operations)"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Create a new VDI record in the database only"}]},"implicit":false},{"name":"resize_online","description":"Resize the VDI which may or may not be attached to running guests.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"vdi","doc":"The VDI to resize"},{"type":"int","name":"size","doc":"The new size of the VDI"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"inverness","description":"Dummy transition"},{"transition":"removed","release":"inverness","description":"Online VDI resize is not supported by any of the storage backends."}]},"implicit":false},{"name":"resize","description":"Resize the VDI.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"vdi","doc":"The VDI to resize"},{"type":"int","name":"size","doc":"The new size of the VDI"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Resize the VDI."}]},"implicit":false},{"name":"clone","description":"Take an exact copy of the VDI and return a reference to the new disk. If any driver_params are specified then these are passed through to the storage-specific substrate driver that implements the clone operation. NB the clone lives in the same Storage Repository as its parent.","result":["VDI ref","The ID of the newly created VDI."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"vdi","doc":"The VDI to clone"},{"type":"(string -> string) map","name":"driver_params","doc":"Optional parameters that are passed through to the backend driver in order to specify storage-type-specific clone options"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"snapshots","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Take an exact copy of the VDI and return a reference to the new disk. If any driver_params are specified then these are passed through to the storage-specific substrate driver that implements the clone operation. NB the clone lives in the same Storage Repository as its parent."}]},"implicit":false},{"name":"snapshot","description":"Take a read-only snapshot of the VDI, returning a reference to the snapshot. If any driver_params are specified then these are passed through to the storage-specific substrate driver that takes the snapshot. NB the snapshot lives in the same Storage Repository as its parent.","result":["VDI ref","The ID of the newly created VDI."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"vdi","doc":"The VDI to snapshot"},{"type":"(string -> string) map","name":"driver_params","doc":"Optional parameters that can be passed through to backend driver in order to specify storage-type-specific snapshot options"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"snapshots","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Take a read-only snapshot of the VDI, returning a reference to the snapshot. If any driver_params are specified then these are passed through to the storage-specific substrate driver that takes the snapshot. NB the snapshot lives in the same Storage Repository as its parent."}]},"implicit":false},{"name":"remove_tags","description":"Remove the given value from the tags field of the given VDI. If the value is not in that Set, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"Value to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"add_tags","description":"Add the given value to the tags field of the given VDI. If the value is already in that Set, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"set_tags","description":"Set the tags field of the given VDI.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"},{"type":"string set","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"remove_from_sm_config","description":"Remove the given key and its corresponding value from the sm_config field of the given VDI. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"SM dependent data"}]},"implicit":true},{"name":"add_to_sm_config","description":"Add the given key-value pair to the sm_config field of the given VDI.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"SM dependent data"}]},"implicit":true},{"name":"set_sm_config","description":"Set the sm_config field of the given VDI.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"SM dependent data"}]},"implicit":true},{"name":"remove_from_xenstore_data","description":"Remove the given key and its corresponding value from the xenstore_data field of the given VDI. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"data to be inserted into the xenstore tree (/local/domain/0/backend/vbd///sm-data) after the VDI is attached. This is generally set by the SM backends on vdi_attach."}]},"implicit":true},{"name":"add_to_xenstore_data","description":"Add the given key-value pair to the xenstore_data field of the given VDI.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"data to be inserted into the xenstore tree (/local/domain/0/backend/vbd///sm-data) after the VDI is attached. This is generally set by the SM backends on vdi_attach."}]},"implicit":true},{"name":"set_xenstore_data","description":"Set the xenstore_data field of the given VDI.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"data to be inserted into the xenstore tree (/local/domain/0/backend/vbd///sm-data) after the VDI is attached. This is generally set by the SM backends on vdi_attach."}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given VDI. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given VDI.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given VDI.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"get_cbt_enabled","description":"Get the cbt_enabled field of the given VDI.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_is_tools_iso","description":"Get the is_tools_iso field of the given VDI.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"implicit":true},{"name":"get_metadata_latest","description":"Get the metadata_latest field of the given VDI.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"Whether this VDI contains the latest known accessible metadata for the pool"}]},"implicit":true},{"name":"get_metadata_of_pool","description":"Get the metadata_of_pool field of the given VDI.","result":["pool ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":"The pool whose metadata is contained in this VDI"}]},"implicit":true},{"name":"get_on_boot","description":"Get the on_boot field of the given VDI.","result":["enum on_boot","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"The behaviour of this VDI on a VM boot"}]},"implicit":true},{"name":"get_allow_caching","description":"Get the allow_caching field of the given VDI.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"true if this VDI is to be cached in the local cache SR"}]},"implicit":true},{"name":"get_tags","description":"Get the tags field of the given VDI.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"user-specified tags for categorization purposes"}]},"implicit":true},{"name":"get_snapshot_time","description":"Get the snapshot_time field of the given VDI.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Date/time when this snapshot was created."}]},"implicit":true},{"name":"get_snapshots","description":"Get the snapshots field of the given VDI.","result":["VDI ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"List pointing to all the VDIs snapshots."}]},"implicit":true},{"name":"get_snapshot_of","description":"Get the snapshot_of field of the given VDI.","result":["VDI ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Ref pointing to the VDI this snapshot is of."}]},"implicit":true},{"name":"get_is_a_snapshot","description":"Get the is_a_snapshot field of the given VDI.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"true if this is a snapshot."}]},"implicit":true},{"name":"get_sm_config","description":"Get the sm_config field of the given VDI.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"SM dependent data"}]},"implicit":true},{"name":"get_xenstore_data","description":"Get the xenstore_data field of the given VDI.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"data to be inserted into the xenstore tree (/local/domain/0/backend/vbd///sm-data) after the VDI is attached. This is generally set by the SM backends on vdi_attach."}]},"implicit":true},{"name":"get_parent","description":"Get the parent field of the given VDI.","result":["VDI ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"ely","description":"The field was never used."}]},"implicit":true},{"name":"get_missing","description":"Get the missing field of the given VDI.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if SR scan operation reported this VDI as not present on disk"}]},"implicit":true},{"name":"get_managed","description":"Get the managed field of the given VDI.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""}]},"implicit":true},{"name":"get_location","description":"Get the location field of the given VDI.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"location information"}]},"implicit":true},{"name":"get_storage_lock","description":"Get the storage_lock field of the given VDI.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this disk is locked at the storage level"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given VDI.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"get_read_only","description":"Get the read_only field of the given VDI.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this disk may ONLY be mounted read-only"}]},"implicit":true},{"name":"get_sharable","description":"Get the sharable field of the given VDI.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this disk may be shared"}]},"implicit":true},{"name":"get_type","description":"Get the type field of the given VDI.","result":["enum vdi_type","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"type of the VDI"}]},"implicit":true},{"name":"get_physical_utilisation","description":"Get the physical_utilisation field of the given VDI.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"amount of physical space that the disk image is currently taking up on the storage repository (in bytes)"}]},"implicit":true},{"name":"get_virtual_size","description":"Get the virtual_size field of the given VDI.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"size of disk as presented to the guest (in bytes). Note that, depending on storage backend type, requested size may not be respected exactly"}]},"implicit":true},{"name":"get_crash_dumps","description":"Get the crash_dumps field of the given VDI.","result":["crashdump ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of crash dumps that refer to this disk"}]},"implicit":true},{"name":"get_VBDs","description":"Get the VBDs field of the given VDI.","result":["VBD ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of vbds that refer to this disk"}]},"implicit":true},{"name":"get_SR","description":"Get the SR field of the given VDI.","result":["SR ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"storage repository in which the VDI resides"}]},"implicit":true},{"name":"get_current_operations","description":"Get the current_operations field of the given VDI.","result":["(string -> enum vdi_operations) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"implicit":true},{"name":"get_allowed_operations","description":"Get the allowed_operations field of the given VDI.","result":["enum vdi_operations set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given VDI.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given VDI.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VDI.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the VDI instances with the given label.","result":["VDI ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual disk image"}]},"implicit":true},{"name":"destroy","description":"Destroy the specified VDI instance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual disk image"}]},"implicit":true},{"name":"create","description":"Create a new VDI instance, and return its handle.\nThe constructor args are: name_label, name_description, SR*, virtual_size*, type*, sharable*, read_only*, other_config*, xenstore_data, sm_config, tags (* = non-optional).","result":["VDI ref","reference to the newly created object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI record","name":"args","doc":"All constructor arguments"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual disk image"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VDI instance with the specified UUID.","result":["VDI ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual disk image"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VDI.","result":["VDI record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VDI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual disk image"}]},"implicit":true}],"enums":[{"name":"vdi_operations","values":[{"name":"clone","doc":"Cloning the VDI"},{"name":"copy","doc":"Copying the VDI"},{"name":"resize","doc":"Resizing the VDI"},{"name":"resize_online","doc":"Resizing the VDI which may or may not be online"},{"name":"snapshot","doc":"Snapshotting the VDI"},{"name":"mirror","doc":"Mirroring the VDI"},{"name":"destroy","doc":"Destroying the VDI"},{"name":"forget","doc":"Forget about the VDI"},{"name":"update","doc":"Refreshing the fields of the VDI"},{"name":"force_unlock","doc":"Forcibly unlocking the VDI"},{"name":"generate_config","doc":"Generating static configuration"},{"name":"enable_cbt","doc":"Enabling changed block tracking for a VDI"},{"name":"disable_cbt","doc":"Disabling changed block tracking for a VDI"},{"name":"data_destroy","doc":"Deleting the data of the VDI"},{"name":"list_changed_blocks","doc":"Exporting a bitmap that shows the changed blocks between two VDIs"},{"name":"set_on_boot","doc":"Setting the on_boot field of the VDI"},{"name":"blocked","doc":"Operations on this VDI are temporarily blocked"}]},{"name":"vdi_type","values":[{"name":"system","doc":"a disk that may be replaced on upgrade"},{"name":"user","doc":"a disk that is always preserved on upgrade"},{"name":"ephemeral","doc":"a disk that may be reformatted on upgrade"},{"name":"suspend","doc":"a disk that stores a suspend image"},{"name":"crashdump","doc":"a disk that stores VM crashdump information"},{"name":"ha_statefile","doc":"a disk used for HA storage heartbeating"},{"name":"metadata","doc":"a disk used for HA Pool metadata"},{"name":"redo_log","doc":"a disk used for a general metadata redo-log"},{"name":"rrd","doc":"a disk that stores SR-level RRDs"},{"name":"pvs_cache","doc":"a disk that stores PVS cache data"},{"name":"cbt_metadata","doc":"Metadata about a snapshot VDI that has been deleted: the set of blocks that changed between some previous version of the disk and the version tracked by the snapshot."}]},{"name":"on_boot","values":[{"name":"reset","doc":"When a VM containing this VDI is started, the contents of the VDI are reset to the state they were in when this flag was last set."},{"name":"persist","doc":"Standard behaviour."}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual disk image"}]},"tag":""},{"name":"VBD","description":"A virtual block device","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"allowed_operations","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client.","type":"enum vbd_operations set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"default":"{}"},{"name":"current_operations","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task.","type":"(string -> enum vbd_operations) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"default":"{}"},{"name":"VM","description":"the virtual machine","type":"VM ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the virtual machine"}]}},{"name":"VDI","description":"the virtual disk","type":"VDI ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the virtual disk"}]}},{"name":"device","description":"device seen by the guest e.g. hda1","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"Become static to allow plugged VBD creation for Suspended VM"}]},"default":"\"\""},{"name":"userdevice","description":"user-friendly device name e.g. 0,1,2,etc.","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"user-friendly device name e.g. 0,1,2,etc."}]}},{"name":"bootable","description":"true if this VBD is bootable","type":"bool","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this VBD is bootable"}]}},{"name":"mode","description":"the mode the VBD should be mounted with","type":"enum vbd_mode","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the mode the VBD should be mounted with"}]}},{"name":"type","description":"how the VBD will appear to the guest (e.g. disk or CD)","type":"enum vbd_type","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"how the VBD will appear to the guest (e.g. disk or CD)"}]}},{"name":"unpluggable","description":"true if this VBD will support hot-unplug","type":"bool","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"true if this VBD will support hot-unplug"}]},"default":"true"},{"name":"storage_lock","description":"true if a storage level lock was acquired","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if a storage level lock was acquired"}]}},{"name":"empty","description":"if true this represents an empty drive","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"if true this represents an empty drive"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]}},{"name":"currently_attached","description":"is the device currently attached (erased on reboot)","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"Made StaticRO to allow plugged VIF and VBD creation for Suspended VM"}]},"default":"false"},{"name":"status_code","description":"error/success code associated with last attach-operation (erased on reboot)","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"error/success code associated with last attach-operation (erased on reboot)"}]}},{"name":"status_detail","description":"error/success information associated with last attach-operation status (erased on reboot)","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"error/success information associated with last attach-operation status (erased on reboot)"}]}},{"name":"runtime_properties","description":"Device runtime properties","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Device runtime properties"}]}},{"name":"qos_algorithm_type","description":"QoS algorithm to use","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"QoS algorithm to use"}]}},{"name":"qos_algorithm_params","description":"parameters for chosen QoS algorithm","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"parameters for chosen QoS algorithm"}]}},{"name":"qos_supported_algorithms","description":"supported QoS algorithms for this VBD","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"supported QoS algorithms for this VBD"}]}},{"name":"metrics","description":"metrics associated with this VBD","type":"VBD_metrics ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRDs"}]},"default":"OpaqueRef:NULL"}],"messages":[{"name":"get_all_records","description":"Return a map of VBD references to VBD records for all VBDs known to the system.","result":["(VBD ref -> VBD record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual block device"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VBDs known to the system.","result":["VBD ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual block device"}]},"implicit":true},{"name":"set_mode","description":"Sets the mode of the VBD. The power_state of the VM must be halted.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"Reference to the object"},{"type":"enum vbd_mode","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Sets the mode of the VBD. The power_state of the VM must be halted."}]},"implicit":false},{"name":"assert_attachable","description":"Throws an error if this VBD could not be attached to this VM if the VM were running. Intended for debugging.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"The VBD to query"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Throws an error if this VBD could not be attached to this VM if the VM were running. Intended for debugging."}]},"implicit":false},{"name":"unplug_force","description":"Forcibly unplug the specified VBD","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"The VBD to forcibly unplug"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Forcibly unplug the specified VBD"}]},"implicit":false},{"name":"unplug","description":"Hot-unplug the specified VBD, dynamically unattaching it from the running VM","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"The VBD to hot-unplug"}],"errors":[{"name":"DEVICE_DETACH_REJECTED","doc":"The VM rejected the attempt to detach the device."},{"name":"DEVICE_ALREADY_DETACHED","doc":"The device is not currently attached"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Hot-unplug the specified VBD, dynamically unattaching it from the running VM"}]},"implicit":false},{"name":"plug","description":"Hotplug the specified VBD, dynamically attaching it to the running VM","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"The VBD to hotplug"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Hotplug the specified VBD, dynamically attaching it to the running VM"}]},"implicit":false},{"name":"insert","description":"Insert new media into the device","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"vbd","doc":"The vbd representing the CDROM-like device"},{"type":"VDI ref","name":"vdi","doc":"The new VDI to 'insert'"}],"errors":[{"name":"VBD_NOT_REMOVABLE_MEDIA","doc":"Media could not be ejected because it is not removable"},{"name":"VBD_NOT_EMPTY","doc":"Operation could not be performed because the drive is not empty"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Insert new media into the device"}]},"implicit":false},{"name":"eject","description":"Remove the media from the device and leave it empty","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"vbd","doc":"The vbd representing the CDROM-like device"}],"errors":[{"name":"VBD_NOT_REMOVABLE_MEDIA","doc":"Media could not be ejected because it is not removable"},{"name":"VBD_IS_EMPTY","doc":"Operation could not be performed because the drive is empty"}],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Remove the media from the device and leave it empty"}]},"implicit":false},{"name":"remove_from_qos_algorithm_params","description":"Remove the given key and its corresponding value from the qos/algorithm_params field of the given VBD. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"parameters for chosen QoS algorithm"}]},"implicit":true},{"name":"add_to_qos_algorithm_params","description":"Add the given key-value pair to the qos/algorithm_params field of the given VBD.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"parameters for chosen QoS algorithm"}]},"implicit":true},{"name":"set_qos_algorithm_params","description":"Set the qos/algorithm_params field of the given VBD.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"parameters for chosen QoS algorithm"}]},"implicit":true},{"name":"set_qos_algorithm_type","description":"Set the qos/algorithm_type field of the given VBD.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"QoS algorithm to use"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given VBD. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given VBD.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given VBD.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"set_unpluggable","description":"Set the unpluggable field of the given VBD.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"},{"type":"bool","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"true if this VBD will support hot-unplug"}]},"implicit":true},{"name":"set_type","description":"Set the type field of the given VBD.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"},{"type":"enum vbd_type","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"how the VBD will appear to the guest (e.g. disk or CD)"}]},"implicit":true},{"name":"set_bootable","description":"Set the bootable field of the given VBD.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"},{"type":"bool","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this VBD is bootable"}]},"implicit":true},{"name":"set_userdevice","description":"Set the userdevice field of the given VBD.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"user-friendly device name e.g. 0,1,2,etc."}]},"implicit":true},{"name":"get_metrics","description":"Get the metrics field of the given VBD.","result":["VBD_metrics ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRDs"}]},"implicit":true},{"name":"get_qos_supported_algorithms","description":"Get the qos/supported_algorithms field of the given VBD.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"supported QoS algorithms for this VBD"}]},"implicit":true},{"name":"get_qos_algorithm_params","description":"Get the qos/algorithm_params field of the given VBD.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"parameters for chosen QoS algorithm"}]},"implicit":true},{"name":"get_qos_algorithm_type","description":"Get the qos/algorithm_type field of the given VBD.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"QoS algorithm to use"}]},"implicit":true},{"name":"get_runtime_properties","description":"Get the runtime_properties field of the given VBD.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Device runtime properties"}]},"implicit":true},{"name":"get_status_detail","description":"Get the status_detail field of the given VBD.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"error/success information associated with last attach-operation status (erased on reboot)"}]},"implicit":true},{"name":"get_status_code","description":"Get the status_code field of the given VBD.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"error/success code associated with last attach-operation (erased on reboot)"}]},"implicit":true},{"name":"get_currently_attached","description":"Get the currently_attached field of the given VBD.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"Made StaticRO to allow plugged VIF and VBD creation for Suspended VM"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given VBD.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"get_empty","description":"Get the empty field of the given VBD.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"if true this represents an empty drive"}]},"implicit":true},{"name":"get_storage_lock","description":"Get the storage_lock field of the given VBD.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if a storage level lock was acquired"}]},"implicit":true},{"name":"get_unpluggable","description":"Get the unpluggable field of the given VBD.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"true if this VBD will support hot-unplug"}]},"implicit":true},{"name":"get_type","description":"Get the type field of the given VBD.","result":["enum vbd_type","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"how the VBD will appear to the guest (e.g. disk or CD)"}]},"implicit":true},{"name":"get_mode","description":"Get the mode field of the given VBD.","result":["enum vbd_mode","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the mode the VBD should be mounted with"}]},"implicit":true},{"name":"get_bootable","description":"Get the bootable field of the given VBD.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if this VBD is bootable"}]},"implicit":true},{"name":"get_userdevice","description":"Get the userdevice field of the given VBD.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"user-friendly device name e.g. 0,1,2,etc."}]},"implicit":true},{"name":"get_device","description":"Get the device field of the given VBD.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"changed","release":"1.257.0","description":"Become static to allow plugged VBD creation for Suspended VM"}]},"implicit":true},{"name":"get_VDI","description":"Get the VDI field of the given VBD.","result":["VDI ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the virtual disk"}]},"implicit":true},{"name":"get_VM","description":"Get the VM field of the given VBD.","result":["VM ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the virtual machine"}]},"implicit":true},{"name":"get_current_operations","description":"Get the current_operations field of the given VBD.","result":["(string -> enum vbd_operations) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"implicit":true},{"name":"get_allowed_operations","description":"Get the allowed_operations field of the given VBD.","result":["enum vbd_operations set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VBD.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"destroy","description":"Destroy the specified VBD instance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual block device"}]},"implicit":true},{"name":"create","description":"Create a new VBD instance, and return its handle.\nThe constructor args are: VM*, VDI*, device, userdevice*, bootable*, mode*, type*, unpluggable, empty*, other_config*, currently_attached, qos_algorithm_type*, qos_algorithm_params* (* = non-optional).","result":["VBD ref","reference to the newly created object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD record","name":"args","doc":"All constructor arguments"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual block device"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VBD instance with the specified UUID.","result":["VBD ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual block device"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VBD.","result":["VBD record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual block device"}]},"implicit":true}],"enums":[{"name":"vbd_operations","values":[{"name":"attach","doc":"Attempting to attach this VBD to a VM"},{"name":"eject","doc":"Attempting to eject the media from this VBD"},{"name":"insert","doc":"Attempting to insert new media into this VBD"},{"name":"plug","doc":"Attempting to hotplug this VBD"},{"name":"unplug","doc":"Attempting to hot unplug this VBD"},{"name":"unplug_force","doc":"Attempting to forcibly unplug this VBD"},{"name":"pause","doc":"Attempting to pause a block device backend"},{"name":"unpause","doc":"Attempting to unpause a block device backend"}]},{"name":"vbd_type","values":[{"name":"CD","doc":"VBD will appear to guest as CD"},{"name":"Disk","doc":"VBD will appear to guest as disk"},{"name":"Floppy","doc":"VBD will appear as a floppy"}]},{"name":"vbd_mode","values":[{"name":"RO","doc":"only read-only access will be allowed"},{"name":"RW","doc":"read-write access will be allowed"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A virtual block device"}]},"tag":""},{"name":"VBD_metrics","description":"The metrics associated with a virtual block device","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"io_read_kbs","description":"Read bandwidth (KiB/s)","type":"float","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled and replaced by RRDs"}]},"default":"0."},{"name":"io_write_kbs","description":"Write bandwidth (KiB/s)","type":"float","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled and replaced by RRDs"}]},"default":"0."},{"name":"last_updated","description":"Time at which this information was last updated","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRD"}]},"default":"19700101T00:00:00Z"},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"orlando","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRD"}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of VBD_metrics references to VBD_metrics records for all VBD_metrics instances known to the system.","result":["(VBD_metrics ref -> VBD_metrics record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a virtual block device"},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRD"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VBD_metrics instances known to the system.","result":["VBD_metrics ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a virtual block device"},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRD"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given VBD_metrics. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD_metrics ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"orlando","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRD"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given VBD_metrics.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD_metrics ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"orlando","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRD"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given VBD_metrics.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD_metrics ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"orlando","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRD"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given VBD_metrics.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"orlando","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRD"}]},"implicit":true},{"name":"get_last_updated","description":"Get the last_updated field of the given VBD_metrics.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRD"}]},"implicit":true},{"name":"get_io_write_kbs","description":"Get the io/write_kbs field of the given VBD_metrics.","result":["float","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled and replaced by RRDs"}]},"implicit":true},{"name":"get_io_read_kbs","description":"Get the io/read_kbs field of the given VBD_metrics.","result":["float","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":""},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled and replaced by RRDs"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VBD_metrics.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VBD_metrics instance with the specified UUID.","result":["VBD_metrics ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a virtual block device"},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRD"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VBD_metrics.","result":["VBD_metrics record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VBD_metrics ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a virtual block device"},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRD"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"rio","description":"The metrics associated with a virtual block device"},{"transition":"deprecated","release":"tampa","description":"Dummy transition"},{"transition":"removed","release":"tampa","description":"Disabled in favour of RRD"}]},"tag":""},{"name":"PBD","description":"The physical block devices through which hosts access SRs","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"host","description":"physical machine on which the pbd is available","type":"host ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"physical machine on which the pbd is available"}]}},{"name":"SR","description":"the storage repository that the pbd realises","type":"SR ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the storage repository that the pbd realises"}]}},{"name":"device_config","description":"a config string to string map that is provided to the host's SR-backend-driver","type":"(string -> string) map","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a config string to string map that is provided to the host's SR-backend-driver"}]}},{"name":"currently_attached","description":"is the SR currently attached on this host?","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"is the SR currently attached on this host?"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of PBD references to PBD records for all PBDs known to the system.","result":["(PBD ref -> PBD record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The physical block devices through which hosts access SRs"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the PBDs known to the system.","result":["PBD ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The physical block devices through which hosts access SRs"}]},"implicit":true},{"name":"set_device_config","description":"Sets the PBD's device_config field","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PBD ref","name":"self","doc":"The PBD to modify"},{"type":"(string -> string) map","name":"value","doc":"The new value of the PBD's device_config"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"Sets the PBD's device_config field"}]},"implicit":false},{"name":"unplug","description":"Deactivate the specified PBD, causing the referenced SR to be detached and nolonger scanned","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PBD ref","name":"self","doc":"The PBD to deactivate"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Deactivate the specified PBD, causing the referenced SR to be detached and nolonger scanned"}]},"implicit":false},{"name":"plug","description":"Activate the specified PBD, causing the referenced SR to be attached and scanned","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PBD ref","name":"self","doc":"The PBD to activate"}],"errors":[{"name":"SR_UNKNOWN_DRIVER","doc":"The SR could not be connected because the driver was not recognised."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Activate the specified PBD, causing the referenced SR to be attached and scanned"}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given PBD. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PBD ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given PBD.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PBD ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given PBD.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PBD ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given PBD.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_currently_attached","description":"Get the currently_attached field of the given PBD.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"is the SR currently attached on this host?"}]},"implicit":true},{"name":"get_device_config","description":"Get the device_config field of the given PBD.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a config string to string map that is provided to the host's SR-backend-driver"}]},"implicit":true},{"name":"get_SR","description":"Get the SR field of the given PBD.","result":["SR ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the storage repository that the pbd realises"}]},"implicit":true},{"name":"get_host","description":"Get the host field of the given PBD.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"physical machine on which the pbd is available"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given PBD.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"destroy","description":"Destroy the specified PBD instance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The physical block devices through which hosts access SRs"}]},"implicit":true},{"name":"create","description":"Create a new PBD instance, and return its handle.\nThe constructor args are: host*, SR*, device_config*, other_config (* = non-optional).","result":["PBD ref","reference to the newly created object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PBD record","name":"args","doc":"All constructor arguments"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The physical block devices through which hosts access SRs"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the PBD instance with the specified UUID.","result":["PBD ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The physical block devices through which hosts access SRs"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given PBD.","result":["PBD record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PBD ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The physical block devices through which hosts access SRs"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The physical block devices through which hosts access SRs"}]},"tag":""},{"name":"crashdump","description":"A VM crashdump","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"VM","description":"the virtual machine","type":"VM ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the virtual machine"}]}},{"name":"VDI","description":"the virtual disk","type":"VDI ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the virtual disk"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of crashdump references to crashdump records for all crashdumps known to the system.","result":["(crashdump ref -> crashdump record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"A VM crashdump"},{"transition":"deprecated","release":"inverness","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the crashdumps known to the system.","result":["crashdump ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"A VM crashdump"},{"transition":"deprecated","release":"inverness","description":""}]},"implicit":true},{"name":"destroy","description":"Destroy the specified crashdump","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"crashdump ref","name":"self","doc":"The crashdump to destroy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Destroy the specified crashdump"}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given crashdump. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"crashdump ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given crashdump.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"crashdump ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given crashdump.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"crashdump ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given crashdump.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"crashdump ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"miami","description":"additional configuration"}]},"implicit":true},{"name":"get_VDI","description":"Get the VDI field of the given crashdump.","result":["VDI ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"crashdump ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the virtual disk"}]},"implicit":true},{"name":"get_VM","description":"Get the VM field of the given crashdump.","result":["VM ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"crashdump ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the virtual machine"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given crashdump.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"crashdump ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the crashdump instance with the specified UUID.","result":["crashdump ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"A VM crashdump"},{"transition":"deprecated","release":"inverness","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given crashdump.","result":["crashdump record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"crashdump ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"A VM crashdump"},{"transition":"deprecated","release":"inverness","description":""}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"A VM crashdump"},{"transition":"deprecated","release":"inverness","description":""}]},"tag":""},{"name":"VTPM","description":"A virtual TPM device","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"allowed_operations","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client.","type":"enum vtpm_operations set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"default":"{}"},{"name":"current_operations","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task.","type":"(string -> enum vtpm_operations) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"default":"{}"},{"name":"VM","description":"The virtual machine the TPM is attached to","type":"VM ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The virtual machine the TPM is attached to"}]}},{"name":"backend","description":"The domain where the backend is located (unused)","type":"VM ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The domain where the backend is located (unused)"}]},"default":"OpaqueRef:NULL"},{"name":"persistence_backend","description":"The backend where the vTPM is persisted","type":"enum persistence_backend","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.26.0","description":""}]},"default":"xapi"},{"name":"is_unique","description":"Whether the contents are never copied, satisfying the TPM spec","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.26.0","description":""}]},"default":"false"},{"name":"is_protected","description":"Whether the contents of the VTPM are secured according to the TPM spec","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.26.0","description":""}]},"default":"false"}],"messages":[{"name":"get_all_records","description":"Return a map of VTPM references to VTPM records for all VTPMs known to the system.","result":["(VTPM ref -> VTPM record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.26.0","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VTPMs known to the system.","result":["VTPM ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.26.0","description":""}]},"implicit":true},{"name":"destroy","description":"Destroy the specified VTPM instance, along with its state.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VTPM ref","name":"self","doc":"The reference to the VTPM object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.26.0","description":""}]},"implicit":false},{"name":"create","description":"Create a new VTPM instance, and return its handle.","result":["VTPM ref","The reference of the newly created VTPM"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"vM","doc":"The VM reference the VTPM will be attached to"},{"type":"bool","name":"is_unique","doc":"Whether the VTPM must be unique"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.26.0","description":""}]},"implicit":false},{"name":"get_is_protected","description":"Get the is_protected field of the given VTPM.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VTPM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.26.0","description":""}]},"implicit":true},{"name":"get_is_unique","description":"Get the is_unique field of the given VTPM.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VTPM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.26.0","description":""}]},"implicit":true},{"name":"get_persistence_backend","description":"Get the persistence_backend field of the given VTPM.","result":["enum persistence_backend","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VTPM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.26.0","description":""}]},"implicit":true},{"name":"get_backend","description":"Get the backend field of the given VTPM.","result":["VM ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VTPM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The domain where the backend is located (unused)"}]},"implicit":true},{"name":"get_VM","description":"Get the VM field of the given VTPM.","result":["VM ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VTPM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The virtual machine the TPM is attached to"}]},"implicit":true},{"name":"get_current_operations","description":"Get the current_operations field of the given VTPM.","result":["(string -> enum vtpm_operations) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VTPM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"implicit":true},{"name":"get_allowed_operations","description":"Get the allowed_operations field of the given VTPM.","result":["enum vtpm_operations set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VTPM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VTPM.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VTPM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VTPM instance with the specified UUID.","result":["VTPM ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.26.0","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VTPM.","result":["VTPM record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VTPM ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.26.0","description":""}]},"implicit":true}],"enums":[{"name":"vtpm_operations","values":[{"name":"destroy","doc":"Destroy a VTPM"}]},{"name":"persistence_backend","values":[{"name":"xapi","doc":"This VTPM is persisted in XAPI's DB"}]}],"lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.26.0","description":""}]},"tag":""},{"name":"console","description":"A console","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"protocol","description":"the protocol used by this console","type":"enum console_protocol","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the protocol used by this console"}]}},{"name":"location","description":"URI for the console service","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"URI for the console service"}]}},{"name":"VM","description":"VM to which this console is attached","type":"VM ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"VM to which this console is attached"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]}}],"messages":[{"name":"get_all_records","description":"Return a map of console references to console records for all consoles known to the system.","result":["(console ref -> console record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A console"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the consoles known to the system.","result":["console ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A console"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given console. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"console ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given console.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"console ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given console.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"console ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given console.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"console ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"additional configuration"}]},"implicit":true},{"name":"get_VM","description":"Get the VM field of the given console.","result":["VM ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"console ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"VM to which this console is attached"}]},"implicit":true},{"name":"get_location","description":"Get the location field of the given console.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"console ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"URI for the console service"}]},"implicit":true},{"name":"get_protocol","description":"Get the protocol field of the given console.","result":["enum console_protocol","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"console ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the protocol used by this console"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given console.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"console ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"destroy","description":"Destroy the specified console instance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"console ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A console"}]},"implicit":true},{"name":"create","description":"Create a new console instance, and return its handle.\nThe constructor args are: other_config* (* = non-optional).","result":["console ref","reference to the newly created object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"console record","name":"args","doc":"All constructor arguments"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A console"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the console instance with the specified UUID.","result":["console ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A console"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given console.","result":["console record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"console ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A console"}]},"implicit":true}],"enums":[{"name":"console_protocol","values":[{"name":"vt100","doc":"VT100 terminal"},{"name":"rfb","doc":"Remote FrameBuffer protocol (as used in VNC)"},{"name":"rdp","doc":"Remote Desktop Protocol"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"A console"}]},"tag":""},{"name":"user","description":"A user of the system","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"short_name","description":"short name (e.g. userid)","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"short name (e.g. userid)"}]}},{"name":"fullname","description":"full name","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"full name"}]}},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"default":"{}"}],"messages":[{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given user. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"user ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given user.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"user ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given user.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"user ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"set_fullname","description":"Set the fullname field of the given user.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"user ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"full name"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given user.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"user ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"additional configuration"}]},"implicit":true},{"name":"get_fullname","description":"Get the fullname field of the given user.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"user ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"full name"}]},"implicit":true},{"name":"get_short_name","description":"Get the short_name field of the given user.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"user ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"short name (e.g. userid)"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given user.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"user ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"destroy","description":"Destroy the specified user instance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"user ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"A user of the system"},{"transition":"deprecated","release":"george","description":"Deprecated in favor of subject"}]},"implicit":true},{"name":"create","description":"Create a new user instance, and return its handle.\nThe constructor args are: short_name*, fullname*, other_config (* = non-optional).","result":["user ref","reference to the newly created object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"user record","name":"args","doc":"All constructor arguments"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"A user of the system"},{"transition":"deprecated","release":"george","description":"Deprecated in favor of subject"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the user instance with the specified UUID.","result":["user ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"A user of the system"},{"transition":"deprecated","release":"george","description":"Deprecated in favor of subject"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given user.","result":["user record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"user ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"A user of the system"},{"transition":"deprecated","release":"george","description":"Deprecated in favor of subject"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Deprecated_s","transitions":[{"transition":"published","release":"rio","description":"A user of the system"},{"transition":"deprecated","release":"george","description":"Deprecated in favor of subject"}]},"tag":""},{"name":"data_source","description":"Data sources for logging in RRDs","fields":[{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"enabled","description":"true if the data source is being logged","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if the data source is being logged"}]}},{"name":"standard","description":"true if the data source is enabled by default. Non-default data sources cannot be disabled","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"true if the data source is enabled by default. Non-default data sources cannot be disabled"}]}},{"name":"units","description":"the units of the value","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the units of the value"}]}},{"name":"min","description":"the minimum value of the data source","type":"float","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the minimum value of the data source"}]}},{"name":"max","description":"the maximum value of the data source","type":"float","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the maximum value of the data source"}]}},{"name":"value","description":"current value of the data source","type":"float","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"current value of the data source"}]}}],"messages":[],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Data sources for logging in RRDs"}]},"tag":""},{"name":"blob","description":"A placeholder for a binary blob","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"size","description":"Size of the binary data, in bytes","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Size of the binary data, in bytes"}]}},{"name":"public","description":"True if the blob is publicly accessible","type":"bool","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"True if the blob is publicly accessible"}]},"default":"false"},{"name":"last_updated","description":"Time at which the data in the blob was last updated","type":"datetime","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which the data in the blob was last updated"}]}},{"name":"mime_type","description":"The mime type associated with this object. Defaults to 'application/octet-stream' if the empty string is supplied","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The mime type associated with this object. Defaults to 'application/octet-stream' if the empty string is supplied"}]}}],"messages":[{"name":"get_all_records","description":"Return a map of blob references to blob records for all blobs known to the system.","result":["(blob ref -> blob record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"A placeholder for a binary blob"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the blobs known to the system.","result":["blob ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"A placeholder for a binary blob"}]},"implicit":true},{"name":"destroy","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"blob ref","name":"self","doc":"The reference of the blob to destroy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":""}]},"implicit":false},{"name":"create","description":"Create a placeholder for a binary blob","result":["blob ref","The reference of the created blob"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"mime_type","doc":"The mime-type of the blob. Defaults to 'application/octet-stream' if the empty string is supplied"},{"type":"bool","name":"public","doc":"True if the blob should be publicly available"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"Create a placeholder for a binary blob"}]},"implicit":false},{"name":"set_public","description":"Set the public field of the given blob.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"blob ref","name":"self","doc":"reference to the object"},{"type":"bool","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"True if the blob is publicly accessible"}]},"implicit":true},{"name":"set_name_description","description":"Set the name/description field of the given blob.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"blob ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"set_name_label","description":"Set the name/label field of the given blob.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"blob ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_mime_type","description":"Get the mime_type field of the given blob.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"blob ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The mime type associated with this object. Defaults to 'application/octet-stream' if the empty string is supplied"}]},"implicit":true},{"name":"get_last_updated","description":"Get the last_updated field of the given blob.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"blob ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Time at which the data in the blob was last updated"}]},"implicit":true},{"name":"get_public","description":"Get the public field of the given blob.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"blob ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"tampa","description":"True if the blob is publicly accessible"}]},"implicit":true},{"name":"get_size","description":"Get the size field of the given blob.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"blob ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Size of the binary data, in bytes"}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given blob.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"blob ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given blob.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"blob ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given blob.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"blob ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the blob instances with the given label.","result":["blob ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"A placeholder for a binary blob"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the blob instance with the specified UUID.","result":["blob ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"A placeholder for a binary blob"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given blob.","result":["blob record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"blob ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"A placeholder for a binary blob"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"A placeholder for a binary blob"}]},"tag":""},{"name":"message","description":"An message for the attention of the administrator","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"name","description":"The name of the message","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The name of the message"}]}},{"name":"priority","description":"The message priority, 0 being low priority","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The message priority, 0 being low priority"}]}},{"name":"cls","description":"The class of the object this message is associated with","type":"enum cls","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":""},{"transition":"extended","release":"1.313.0","description":"Added Certificate class"}]}},{"name":"obj_uuid","description":"The uuid of the object this message is associated with","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The uuid of the object this message is associated with"}]}},{"name":"timestamp","description":"The time at which the message was created","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The time at which the message was created"}]}},{"name":"body","description":"The body of the message","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"The body of the message"}]}}],"messages":[{"name":"get_all_records_where","description":"","result":["(message ref -> message record) map","The messages"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"expr","doc":"The expression to match (not currently used)"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":""}]},"implicit":false},{"name":"get_all_records","description":"","result":["(message ref -> message record) map","The messages"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":""}]},"implicit":false},{"name":"get_by_uuid","description":"","result":["message ref","The message reference"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"The uuid of the message"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":""}]},"implicit":false},{"name":"get_record","description":"","result":["message record","The message record"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"message ref","name":"self","doc":"The reference to the message"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":""}]},"implicit":false},{"name":"get_since","description":"","result":["(message ref -> message record) map","The relevant messages"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"datetime","name":"since","doc":"The cutoff time"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":""}]},"implicit":false},{"name":"get_all","description":"","result":["message ref set","The references to the messages"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":""}]},"implicit":false},{"name":"get","description":"","result":["(message ref -> message record) map","The relevant messages"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"enum cls","name":"cls","doc":"The class of object"},{"type":"string","name":"obj_uuid","doc":"The uuid of the object"},{"type":"datetime","name":"since","doc":"The cutoff time"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":""}]},"implicit":false},{"name":"destroy_many","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"message ref set","name":"messages","doc":"Messages to destroy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.19.0","description":""}]},"implicit":false},{"name":"destroy","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"message ref","name":"self","doc":"The reference of the message to destroy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":""}]},"implicit":false},{"name":"create","description":"","result":["message ref","The reference of the created message"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"name","doc":"The name of the message"},{"type":"int","name":"priority","doc":"The priority of the message"},{"type":"enum cls","name":"cls","doc":"The class of object this message is associated with"},{"type":"string","name":"obj_uuid","doc":"The uuid of the object this message is associated with"},{"type":"string","name":"body","doc":"The body of the message"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":""}]},"implicit":false}],"enums":[{"name":"cls","values":[{"name":"VM","doc":"VM"},{"name":"Host","doc":"Host"},{"name":"SR","doc":"SR"},{"name":"Pool","doc":"Pool"},{"name":"VMPP","doc":"VMPP"},{"name":"VMSS","doc":"VMSS"},{"name":"PVS_proxy","doc":"PVS_proxy"},{"name":"VDI","doc":"VDI"},{"name":"Certificate","doc":"Certificate"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"orlando","description":"An message for the attention of the administrator"}]},"tag":""},{"name":"secret","description":"A secret","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"value","description":"the secret","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the secret"}]}},{"name":"other_config","description":"other_config","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"other_config"}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of secret references to secret records for all secrets known to the system.","result":["(secret ref -> secret record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"A secret"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the secrets known to the system.","result":["secret ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"A secret"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given secret. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"secret ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"other_config"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given secret.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"secret ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"other_config"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given secret.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"secret ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"other_config"}]},"implicit":true},{"name":"set_value","description":"Set the value field of the given secret.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"secret ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the secret"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given secret.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"secret ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"other_config"}]},"implicit":true},{"name":"get_value","description":"Get the value field of the given secret.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"secret ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"the secret"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given secret.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"secret ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"destroy","description":"Destroy the specified secret instance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"secret ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"A secret"}]},"implicit":true},{"name":"create","description":"Create a new secret instance, and return its handle.\nThe constructor args are: value*, other_config (* = non-optional).","result":["secret ref","reference to the newly created object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"secret record","name":"args","doc":"All constructor arguments"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"A secret"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the secret instance with the specified UUID.","result":["secret ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"A secret"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given secret.","result":["secret record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"secret ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"A secret"}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"midnight-ride","description":"A secret"}]},"tag":""},{"name":"tunnel","description":"A tunnel for network traffic","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Unique identifier/object reference"}]}},{"name":"access_PIF","description":"The interface through which the tunnel is accessed","type":"PIF ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"The interface through which the tunnel is accessed"}]},"default":"Null"},{"name":"transport_PIF","description":"The interface used by the tunnel","type":"PIF ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"The interface used by the tunnel"}]},"default":"Null"},{"name":"status","description":"Status information about the tunnel","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Status information about the tunnel"}]},"default":"{\"active\" -> \"false\"}"},{"name":"other_config","description":"Additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Additional configuration"}]},"default":"{}"},{"name":"protocol","description":"The protocol used for tunneling (either GRE or VxLAN)","type":"enum tunnel_protocol","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.250.0","description":"Add protocol field to tunnel"}]},"default":"gre"}],"messages":[{"name":"get_all_records","description":"Return a map of tunnel references to tunnel records for all tunnels known to the system.","result":["(tunnel ref -> tunnel record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"A tunnel for network traffic"}]},"implicit":true},{"name":"get_all","description":"Return a list of all the tunnels known to the system.","result":["tunnel ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"A tunnel for network traffic"}]},"implicit":true},{"name":"destroy","description":"Destroy a tunnel","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"tunnel ref","name":"self","doc":"tunnel to destroy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Destroy a tunnel"}]},"implicit":false},{"name":"create","description":"Create a tunnel","result":["tunnel ref","The reference of the created tunnel object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"transport_PIF","doc":"PIF which receives the tagged traffic"},{"type":"network ref","name":"network","doc":"Network to receive the tunnelled traffic"},{"type":"enum tunnel_protocol","name":"protocol","doc":"Protocol used for the tunnel (GRE or VxLAN)"}],"errors":[{"name":"OPENVSWITCH_NOT_ACTIVE","doc":"This operation needs the OpenVSwitch networking backend to be enabled on all hosts in the pool."},{"name":"TRANSPORT_PIF_NOT_CONFIGURED","doc":"The tunnel transport PIF has no IP configuration set."},{"name":"IS_TUNNEL_ACCESS_PIF","doc":"Cannot create a VLAN or tunnel on top of a tunnel access PIF - use the underlying transport PIF instead."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Create a tunnel"}]},"implicit":false},{"name":"set_protocol","description":"Set the protocol field of the given tunnel.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"tunnel ref","name":"self","doc":"reference to the object"},{"type":"enum tunnel_protocol","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.250.0","description":"Add protocol field to tunnel"}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given tunnel. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"tunnel ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Additional configuration"}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given tunnel.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"tunnel ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Additional configuration"}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given tunnel.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"tunnel ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Additional configuration"}]},"implicit":true},{"name":"remove_from_status","description":"Remove the given key and its corresponding value from the status field of the given tunnel. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"tunnel ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Status information about the tunnel"}]},"implicit":true},{"name":"add_to_status","description":"Add the given key-value pair to the status field of the given tunnel.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"tunnel ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Status information about the tunnel"}]},"implicit":true},{"name":"set_status","description":"Set the status field of the given tunnel.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"tunnel ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Status information about the tunnel"}]},"implicit":true},{"name":"get_protocol","description":"Get the protocol field of the given tunnel.","result":["enum tunnel_protocol","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"tunnel ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.250.0","description":"Add protocol field to tunnel"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given tunnel.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"tunnel ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Additional configuration"}]},"implicit":true},{"name":"get_status","description":"Get the status field of the given tunnel.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"tunnel ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Status information about the tunnel"}]},"implicit":true},{"name":"get_transport_PIF","description":"Get the transport_PIF field of the given tunnel.","result":["PIF ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"tunnel ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"The interface used by the tunnel"}]},"implicit":true},{"name":"get_access_PIF","description":"Get the access_PIF field of the given tunnel.","result":["PIF ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"tunnel ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"The interface through which the tunnel is accessed"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given tunnel.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"tunnel ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the tunnel instance with the specified UUID.","result":["tunnel ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"A tunnel for network traffic"}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given tunnel.","result":["tunnel record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"tunnel ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"A tunnel for network traffic"}]},"implicit":true}],"enums":[{"name":"tunnel_protocol","values":[{"name":"gre","doc":"GRE protocol"},{"name":"vxlan","doc":"VxLAN Protocol"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cowley","description":"A tunnel for network traffic"}]},"tag":"networking"},{"name":"network_sriov","description":"network-sriov which connects logical pif and physical pif","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]}},{"name":"physical_PIF","description":"The PIF that has SR-IOV enabled","type":"PIF ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"default":"Null"},{"name":"logical_PIF","description":"The logical PIF to connect to the SR-IOV network after enable SR-IOV on the physical PIF","type":"PIF ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"default":"Null"},{"name":"requires_reboot","description":"Indicates whether the host need to be rebooted before SR-IOV is enabled on the physical PIF","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"default":"false"},{"name":"configuration_mode","description":"The mode for configure network sriov","type":"enum sriov_configuration_mode","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"default":"unknown"}],"messages":[{"name":"get_all_records","description":"Return a map of network_sriov references to network_sriov records for all network_sriovs known to the system.","result":["(network_sriov ref -> network_sriov record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the network_sriovs known to the system.","result":["network_sriov ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":true},{"name":"get_remaining_capacity","description":"Get the number of free SR-IOV VFs on the associated PIF","result":["int","The number of free SR-IOV VFs on the associated PIF"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network_sriov ref","name":"self","doc":"the NETWORK_SRIOV object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":false},{"name":"destroy","description":"Disable SR-IOV on the specific PIF. It will destroy the network-sriov and the logical PIF accordingly.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network_sriov ref","name":"self","doc":"SRIOV to destroy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":false},{"name":"create","description":"Enable SR-IOV on the specific PIF. It will create a network-sriov based on the specific PIF and automatically create a logical PIF to connect the specific network.","result":["network_sriov ref","The reference of the created network_sriov object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"pif","doc":"PIF on which to enable SR-IOV"},{"type":"network ref","name":"network","doc":"Network to connect SR-IOV virtual functions with VM VIFs"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":false},{"name":"get_configuration_mode","description":"Get the configuration_mode field of the given network_sriov.","result":["enum sriov_configuration_mode","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network_sriov ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":true},{"name":"get_requires_reboot","description":"Get the requires_reboot field of the given network_sriov.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network_sriov ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":true},{"name":"get_logical_PIF","description":"Get the logical_PIF field of the given network_sriov.","result":["PIF ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network_sriov ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":true},{"name":"get_physical_PIF","description":"Get the physical_PIF field of the given network_sriov.","result":["PIF ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network_sriov ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given network_sriov.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network_sriov ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"Unique identifier/object reference"}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the network_sriov instance with the specified UUID.","result":["network_sriov ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given network_sriov.","result":["network_sriov record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network_sriov ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":true}],"enums":[{"name":"sriov_configuration_mode","values":[{"name":"sysfs","doc":"Configure network sriov by sysfs, do not need reboot"},{"name":"modprobe","doc":"Configure network sriov by modprobe, need reboot"},{"name":"manual","doc":"Configure network sriov manually"},{"name":"unknown","doc":"Unknown mode"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"tag":""},{"name":"PCI","description":"A PCI device","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]}},{"name":"class_name","description":"PCI class name","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"\"\""},{"name":"vendor_name","description":"Vendor name","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"\"\""},{"name":"device_name","description":"Device name","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"\"\""},{"name":"host","description":"Physical machine that owns the PCI device","type":"host ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"OpaqueRef:NULL"},{"name":"pci_id","description":"PCI ID of the physical device","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"\"\""},{"name":"dependencies","description":"List of dependent PCI devices","type":"PCI ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]}},{"name":"other_config","description":"Additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"{}"},{"name":"subsystem_vendor_name","description":"Subsystem vendor name","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"clearwater-whetstone","description":""}]},"default":"\"\""},{"name":"subsystem_device_name","description":"Subsystem device name","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"clearwater-whetstone","description":""}]},"default":"\"\""},{"name":"driver_name","description":"Driver name","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"default":"\"\""}],"messages":[{"name":"get_all_records","description":"Return a map of PCI references to PCI records for all PCIs known to the system.","result":["(PCI ref -> PCI record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the PCIs known to the system.","result":["PCI ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given PCI. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PCI ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given PCI.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PCI ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given PCI.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PCI ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_driver_name","description":"Get the driver_name field of the given PCI.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PCI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"kolkata","description":""}]},"implicit":true},{"name":"get_subsystem_device_name","description":"Get the subsystem_device_name field of the given PCI.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PCI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"clearwater-whetstone","description":""}]},"implicit":true},{"name":"get_subsystem_vendor_name","description":"Get the subsystem_vendor_name field of the given PCI.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PCI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"clearwater-whetstone","description":""}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given PCI.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PCI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_dependencies","description":"Get the dependencies field of the given PCI.","result":["PCI ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PCI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_pci_id","description":"Get the pci_id field of the given PCI.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PCI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_host","description":"Get the host field of the given PCI.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PCI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_device_name","description":"Get the device_name field of the given PCI.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PCI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_vendor_name","description":"Get the vendor_name field of the given PCI.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PCI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_class_name","description":"Get the class_name field of the given PCI.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PCI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given PCI.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PCI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the PCI instance with the specified UUID.","result":["PCI ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given PCI.","result":["PCI record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PCI ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"tag":""},{"name":"PGPU","description":"A physical GPU (pGPU)","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]}},{"name":"PCI","description":"Link to underlying PCI device","type":"PCI ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"OpaqueRef:NULL"},{"name":"GPU_group","description":"GPU group the pGPU is contained in","type":"GPU_group ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"OpaqueRef:NULL"},{"name":"host","description":"Host that owns the GPU","type":"host ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"OpaqueRef:NULL"},{"name":"other_config","description":"Additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"{}"},{"name":"supported_VGPU_types","description":"List of VGPU types supported by the underlying hardware","type":"VGPU_type ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]}},{"name":"enabled_VGPU_types","description":"List of VGPU types which have been enabled for this PGPU","type":"VGPU_type ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]}},{"name":"resident_VGPUs","description":"List of VGPUs running on this PGPU","type":"VGPU ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]}},{"name":"supported_VGPU_max_capacities","description":"A map relating each VGPU type supported on this GPU to the maximum number of VGPUs of that type which can run simultaneously on this GPU","type":"(VGPU_type ref -> int) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]},"default":"{}"},{"name":"dom0_access","description":"The accessibility of this device from dom0","type":"enum pgpu_dom0_access","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":""}]},"default":"enabled"},{"name":"is_system_display_device","description":"Is this device the system display device","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":""}]},"default":"false"},{"name":"compatibility_metadata","description":"PGPU metadata to determine whether a VGPU can migrate between two PGPUs","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of PGPU references to PGPU records for all PGPUs known to the system.","result":["(PGPU ref -> PGPU record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the PGPUs known to the system.","result":["PGPU ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"disable_dom0_access","description":"","result":["enum pgpu_dom0_access","The accessibility of this PGPU from dom0"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"The PGPU to which dom0 will be denied access"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":""}]},"implicit":false},{"name":"enable_dom0_access","description":"","result":["enum pgpu_dom0_access","The accessibility of this PGPU from dom0"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"The PGPU to which dom0 will be granted access"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":""}]},"implicit":false},{"name":"get_remaining_capacity","description":"","result":["int","The number of VGPUs of the specified type which can still be started on this PGPU"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"The PGPU to query"},{"type":"VGPU_type ref","name":"vgpu_type","doc":"The VGPU type for which we want to find the number of VGPUs which can still be started on this PGPU"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":false},{"name":"set_GPU_group","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"The PGPU to move to a new group"},{"type":"GPU_group ref","name":"value","doc":"The group to which the PGPU will be moved"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":false},{"name":"set_enabled_VGPU_types","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"The PGPU on which we are enabling a set of VGPU types"},{"type":"VGPU_type ref set","name":"value","doc":"The VGPU types to enable"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":false},{"name":"remove_enabled_VGPU_types","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"The PGPU from which we are removing an enabled VGPU type"},{"type":"VGPU_type ref","name":"value","doc":"The VGPU type to disable"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":false},{"name":"add_enabled_VGPU_types","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"The PGPU to which we are adding an enabled VGPU type"},{"type":"VGPU_type ref","name":"value","doc":"The VGPU type to enable"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given PGPU. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given PGPU.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given PGPU.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_compatibility_metadata","description":"Get the compatibility_metadata field of the given PGPU.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_is_system_display_device","description":"Get the is_system_display_device field of the given PGPU.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":""}]},"implicit":true},{"name":"get_dom0_access","description":"Get the dom0_access field of the given PGPU.","result":["enum pgpu_dom0_access","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"cream","description":""}]},"implicit":true},{"name":"get_supported_VGPU_max_capacities","description":"Get the supported_VGPU_max_capacities field of the given PGPU.","result":["(VGPU_type ref -> int) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]},"implicit":true},{"name":"get_resident_VGPUs","description":"Get the resident_VGPUs field of the given PGPU.","result":["VGPU ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_enabled_VGPU_types","description":"Get the enabled_VGPU_types field of the given PGPU.","result":["VGPU_type ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_supported_VGPU_types","description":"Get the supported_VGPU_types field of the given PGPU.","result":["VGPU_type ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given PGPU.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_host","description":"Get the host field of the given PGPU.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_GPU_group","description":"Get the GPU_group field of the given PGPU.","result":["GPU_group ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_PCI","description":"Get the PCI field of the given PGPU.","result":["PCI ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given PGPU.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the PGPU instance with the specified UUID.","result":["PGPU ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given PGPU.","result":["PGPU record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true}],"enums":[{"name":"pgpu_dom0_access","values":[{"name":"enabled","doc":"dom0 can access this device as normal"},{"name":"disable_on_reboot","doc":"On host reboot dom0 will be blocked from accessing this device"},{"name":"disabled","doc":"dom0 cannot access this device"},{"name":"enable_on_reboot","doc":"On host reboot dom0 will be allowed to access this device"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"tag":""},{"name":"GPU_group","description":"A group of compatible GPUs across the resource pool","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"\"\""},{"name":"PGPUs","description":"List of pGPUs in the group","type":"PGPU ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]}},{"name":"VGPUs","description":"List of vGPUs using the group","type":"VGPU ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]}},{"name":"GPU_types","description":"List of GPU types (vendor+device ID) that can be in this group","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"{}"},{"name":"other_config","description":"Additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"{}"},{"name":"allocation_algorithm","description":"Current allocation of vGPUs to pGPUs for this group","type":"enum allocation_algorithm","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"default":"depth_first"},{"name":"supported_VGPU_types","description":"vGPU types supported on at least one of the pGPUs in this group","type":"VGPU_type ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]}},{"name":"enabled_VGPU_types","description":"vGPU types supported on at least one of the pGPUs in this group","type":"VGPU_type ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]}}],"messages":[{"name":"get_all_records","description":"Return a map of GPU_group references to GPU_group records for all GPU_groups known to the system.","result":["(GPU_group ref -> GPU_group record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the GPU_groups known to the system.","result":["GPU_group ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_remaining_capacity","description":"","result":["int","The number of VGPUs of the given type which can still be started on the PGPUs in the group"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"The GPU group to query"},{"type":"VGPU_type ref","name":"vgpu_type","doc":"The VGPU_type for which the remaining capacity will be calculated"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":false},{"name":"destroy","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"The GPU group to destroy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":false},{"name":"create","description":"","result":["GPU_group ref","The reference of the created GPU_group"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"name_label","doc":""},{"type":"string","name":"name_description","doc":""},{"type":"(string -> string) map","name":"other_config","doc":""}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":false},{"name":"set_allocation_algorithm","description":"Set the allocation_algorithm field of the given GPU_group.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"},{"type":"enum allocation_algorithm","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given GPU_group. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given GPU_group.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given GPU_group.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"set_name_description","description":"Set the name/description field of the given GPU_group.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"set_name_label","description":"Set the name/label field of the given GPU_group.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_enabled_VGPU_types","description":"Get the enabled_VGPU_types field of the given GPU_group.","result":["VGPU_type ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]},"implicit":true},{"name":"get_supported_VGPU_types","description":"Get the supported_VGPU_types field of the given GPU_group.","result":["VGPU_type ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]},"implicit":true},{"name":"get_allocation_algorithm","description":"Get the allocation_algorithm field of the given GPU_group.","result":["enum allocation_algorithm","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given GPU_group.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_GPU_types","description":"Get the GPU_types field of the given GPU_group.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_VGPUs","description":"Get the VGPUs field of the given GPU_group.","result":["VGPU ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_PGPUs","description":"Get the PGPUs field of the given GPU_group.","result":["PGPU ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given GPU_group.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given GPU_group.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given GPU_group.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the GPU_group instances with the given label.","result":["GPU_group ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the GPU_group instance with the specified UUID.","result":["GPU_group ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given GPU_group.","result":["GPU_group record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"GPU_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true}],"enums":[{"name":"allocation_algorithm","values":[{"name":"breadth_first","doc":"vGPUs of a given type are allocated evenly across supporting pGPUs."},{"name":"depth_first","doc":"vGPUs of a given type are allocated on supporting pGPUs until they are full."}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"tag":""},{"name":"VGPU","description":"A virtual GPU (vGPU)","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]}},{"name":"VM","description":"VM that owns the vGPU","type":"VM ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]}},{"name":"GPU_group","description":"GPU group used by the vGPU","type":"GPU_group ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]}},{"name":"device","description":"Order in which the devices are plugged into the VM","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"\"0\""},{"name":"currently_attached","description":"Reflects whether the virtual device is currently connected to a physical device","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"false"},{"name":"other_config","description":"Additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"default":"{}"},{"name":"type","description":"Preset type for this VGPU","type":"VGPU_type ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"default":"OpaqueRef:NULL"},{"name":"resident_on","description":"The PGPU on which this VGPU is running","type":"PGPU ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"default":"OpaqueRef:NULL"},{"name":"scheduled_to_be_resident_on","description":"The PGPU on which this VGPU is scheduled to run","type":"PGPU ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"default":"OpaqueRef:NULL"},{"name":"compatibility_metadata","description":"VGPU metadata to determine whether a VGPU can migrate between two PGPUs","type":"(string -> string) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"{}"},{"name":"extra_args","description":"Extra arguments for vGPU and passed to demu","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"quebec","description":""}]},"default":"\"\""},{"name":"PCI","description":"Device passed trough to VM, either as full device or SR-IOV virtual function","type":"PCI ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"quebec","description":""}]},"default":"OpaqueRef:NULL"}],"messages":[{"name":"get_all_records","description":"Return a map of VGPU references to VGPU records for all VGPUs known to the system.","result":["(VGPU ref -> VGPU record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VGPUs known to the system.","result":["VGPU ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"destroy","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"The vGPU to destroy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":false},{"name":"create","description":"","result":["VGPU ref","The reference of the created VGPU object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"VM","doc":""},{"type":"GPU_group ref","name":"GPU_group","doc":""},{"type":"string","name":"device","doc":""},{"type":"(string -> string) map","name":"other_config","doc":""},{"type":"VGPU_type ref","name":"type","doc":""}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":false},{"name":"set_extra_args","description":"Set the extra_args field of the given VGPU.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"quebec","description":""}]},"implicit":true},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given VGPU. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given VGPU.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given VGPU.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_PCI","description":"Get the PCI field of the given VGPU.","result":["PCI ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"quebec","description":""}]},"implicit":true},{"name":"get_extra_args","description":"Get the extra_args field of the given VGPU.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"quebec","description":""}]},"implicit":true},{"name":"get_compatibility_metadata","description":"Get the compatibility_metadata field of the given VGPU.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_scheduled_to_be_resident_on","description":"Get the scheduled_to_be_resident_on field of the given VGPU.","result":["PGPU ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"implicit":true},{"name":"get_resident_on","description":"Get the resident_on field of the given VGPU.","result":["PGPU ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_type","description":"Get the type field of the given VGPU.","result":["VGPU_type ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given VGPU.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_currently_attached","description":"Get the currently_attached field of the given VGPU.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_device","description":"Get the device field of the given VGPU.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_GPU_group","description":"Get the GPU_group field of the given VGPU.","result":["GPU_group ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_VM","description":"Get the VM field of the given VGPU.","result":["VM ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VGPU.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VGPU instance with the specified UUID.","result":["VGPU ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VGPU.","result":["VGPU record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"boston","description":""}]},"tag":""},{"name":"VGPU_type","description":"A type of virtual GPU","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]}},{"name":"vendor_name","description":"Name of VGPU vendor","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"default":"\"\""},{"name":"model_name","description":"Model name associated with the VGPU type","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"default":"\"\""},{"name":"framebuffer_size","description":"Framebuffer size of the VGPU type, in bytes","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"default":"0"},{"name":"max_heads","description":"Maximum number of displays supported by the VGPU type","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"default":"0"},{"name":"max_resolution_x","description":"Maximum resolution (width) supported by the VGPU type","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]},"default":"0"},{"name":"max_resolution_y","description":"Maximum resolution (height) supported by the VGPU type","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]},"default":"0"},{"name":"supported_on_PGPUs","description":"List of PGPUs that support this VGPU type","type":"PGPU ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]}},{"name":"enabled_on_PGPUs","description":"List of PGPUs that have this VGPU type enabled","type":"PGPU ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]}},{"name":"VGPUs","description":"List of VGPUs of this type","type":"VGPU ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]}},{"name":"supported_on_GPU_groups","description":"List of GPU groups in which at least one PGPU supports this VGPU type","type":"GPU_group ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]}},{"name":"enabled_on_GPU_groups","description":"List of GPU groups in which at least one have this VGPU type enabled","type":"GPU_group ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]}},{"name":"implementation","description":"The internal implementation of this VGPU type","type":"enum vgpu_type_implementation","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"default":"passthrough"},{"name":"identifier","description":"Key used to identify VGPU types and avoid creating duplicates - this field is used internally and not intended for interpretation by API clients","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"default":"\"\""},{"name":"experimental","description":"Indicates whether VGPUs of this type should be considered experimental","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"default":"false"},{"name":"compatible_types_in_vm","description":"List of VGPU types which are compatible in one VM","type":"VGPU_type ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"quebec","description":""}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of VGPU_type references to VGPU_type records for all VGPU_types known to the system.","result":["(VGPU_type ref -> VGPU_type record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VGPU_types known to the system.","result":["VGPU_type ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_compatible_types_in_vm","description":"Get the compatible_types_in_vm field of the given VGPU_type.","result":["VGPU_type ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"quebec","description":""}]},"implicit":true},{"name":"get_experimental","description":"Get the experimental field of the given VGPU_type.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"implicit":true},{"name":"get_identifier","description":"Get the identifier field of the given VGPU_type.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"implicit":true},{"name":"get_implementation","description":"Get the implementation field of the given VGPU_type.","result":["enum vgpu_type_implementation","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"dundee","description":""}]},"implicit":true},{"name":"get_enabled_on_GPU_groups","description":"Get the enabled_on_GPU_groups field of the given VGPU_type.","result":["GPU_group ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]},"implicit":true},{"name":"get_supported_on_GPU_groups","description":"Get the supported_on_GPU_groups field of the given VGPU_type.","result":["GPU_group ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]},"implicit":true},{"name":"get_VGPUs","description":"Get the VGPUs field of the given VGPU_type.","result":["VGPU ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_enabled_on_PGPUs","description":"Get the enabled_on_PGPUs field of the given VGPU_type.","result":["PGPU ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_supported_on_PGPUs","description":"Get the supported_on_PGPUs field of the given VGPU_type.","result":["PGPU ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_max_resolution_y","description":"Get the max_resolution_y field of the given VGPU_type.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]},"implicit":true},{"name":"get_max_resolution_x","description":"Get the max_resolution_x field of the given VGPU_type.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-productisation","description":""}]},"implicit":true},{"name":"get_max_heads","description":"Get the max_heads field of the given VGPU_type.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_framebuffer_size","description":"Get the framebuffer_size field of the given VGPU_type.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_model_name","description":"Get the model_name field of the given VGPU_type.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_vendor_name","description":"Get the vendor_name field of the given VGPU_type.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VGPU_type.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VGPU_type instance with the specified UUID.","result":["VGPU_type ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VGPU_type.","result":["VGPU_type record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VGPU_type ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"implicit":true}],"enums":[{"name":"vgpu_type_implementation","values":[{"name":"passthrough","doc":"Pass through an entire physical GPU to a guest"},{"name":"nvidia","doc":"vGPU using NVIDIA hardware"},{"name":"nvidia_sriov","doc":"vGPU using NVIDIA hardware with SR-IOV"},{"name":"gvt_g","doc":"vGPU using Intel GVT-g"},{"name":"mxgpu","doc":"vGPU using AMD MxGPU"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"vgpu-tech-preview","description":""}]},"tag":""},{"name":"PVS_site","description":"machines serving blocks of data for provisioning VMs","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"\"\""},{"name":"PVS_uuid","description":"Unique identifier of the PVS site, as configured in PVS","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"\"\""},{"name":"cache_storage","description":"The SR used by PVS proxy for the cache","type":"PVS_cache_storage ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"{}"},{"name":"servers","description":"The set of PVS servers in the site","type":"PVS_server ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]}},{"name":"proxies","description":"The set of proxies associated with the site","type":"PVS_proxy ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]}}],"messages":[{"name":"get_all_records","description":"Return a map of PVS_site references to PVS_site records for all PVS_sites known to the system.","result":["(PVS_site ref -> PVS_site record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the PVS_sites known to the system.","result":["PVS_site ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"set_PVS_uuid","description":"Update the PVS UUID of the PVS site","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_site ref","name":"self","doc":"this PVS site"},{"type":"string","name":"value","doc":"PVS UUID to be used"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":false},{"name":"forget","description":"Remove a site's meta data","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_site ref","name":"self","doc":"this PVS site"}],"errors":[{"name":"PVS_SITE_CONTAINS_RUNNING_PROXIES","doc":"The PVS site contains running proxies."},{"name":"PVS_SITE_CONTAINS_SERVERS","doc":"The PVS site contains servers and cannot be forgotten."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":false},{"name":"introduce","description":"Introduce new PVS site","result":["PVS_site ref","the new PVS site"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"name_label","doc":"name of the PVS site"},{"type":"string","name":"name_description","doc":"description of the PVS site"},{"type":"string","name":"PVS_uuid","doc":"unique identifier of the PVS site"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":false},{"name":"set_name_description","description":"Set the name/description field of the given PVS_site.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_site ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"set_name_label","description":"Set the name/label field of the given PVS_site.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_site ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_proxies","description":"Get the proxies field of the given PVS_site.","result":["PVS_proxy ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_site ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_servers","description":"Get the servers field of the given PVS_site.","result":["PVS_server ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_site ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_cache_storage","description":"Get the cache_storage field of the given PVS_site.","result":["PVS_cache_storage ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_site ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_PVS_uuid","description":"Get the PVS_uuid field of the given PVS_site.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_site ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given PVS_site.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_site ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given PVS_site.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_site ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given PVS_site.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_site ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the PVS_site instances with the given label.","result":["PVS_site ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the PVS_site instance with the specified UUID.","result":["PVS_site ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given PVS_site.","result":["PVS_site record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_site ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"tag":""},{"name":"PVS_server","description":"individual machine serving provisioning (block) data","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]}},{"name":"addresses","description":"IPv4 addresses of this server","type":"string set","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"{}"},{"name":"first_port","description":"First UDP port accepted by this server","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"0"},{"name":"last_port","description":"Last UDP port accepted by this server","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"0"},{"name":"site","description":"PVS site this server is part of","type":"PVS_site ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"OpaqueRef:NULL"}],"messages":[{"name":"get_all_records","description":"Return a map of PVS_server references to PVS_server records for all PVS_servers known to the system.","result":["(PVS_server ref -> PVS_server record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the PVS_servers known to the system.","result":["PVS_server ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"forget","description":"forget a PVS server","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_server ref","name":"self","doc":"this PVS server"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":false},{"name":"introduce","description":"introduce new PVS server","result":["PVS_server ref","the new PVS server"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string set","name":"addresses","doc":"IPv4/IPv6 addresses of the server"},{"type":"int","name":"first_port","doc":"first UDP port accepted by this server"},{"type":"int","name":"last_port","doc":"last UDP port accepted by this server"},{"type":"PVS_site ref","name":"site","doc":"PVS site this server is a part of"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":false},{"name":"get_site","description":"Get the site field of the given PVS_server.","result":["PVS_site ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_server ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_last_port","description":"Get the last_port field of the given PVS_server.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_server ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_first_port","description":"Get the first_port field of the given PVS_server.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_server ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_addresses","description":"Get the addresses field of the given PVS_server.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_server ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given PVS_server.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_server ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the PVS_server instance with the specified UUID.","result":["PVS_server ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given PVS_server.","result":["PVS_server record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_server ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"tag":""},{"name":"PVS_proxy","description":"a proxy connects a VM/VIF with a PVS site","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]}},{"name":"site","description":"PVS site this proxy is part of","type":"PVS_site ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"OpaqueRef:NULL"},{"name":"VIF","description":"VIF of the VM using the proxy","type":"VIF ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"OpaqueRef:NULL"},{"name":"currently_attached","description":"true = VM is currently proxied","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"false"},{"name":"status","description":"The run-time status of the proxy","type":"enum pvs_proxy_status","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"stopped"}],"messages":[{"name":"get_all_records","description":"Return a map of PVS_proxy references to PVS_proxy records for all PVS_proxys known to the system.","result":["(PVS_proxy ref -> PVS_proxy record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the PVS_proxys known to the system.","result":["PVS_proxy ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"destroy","description":"remove (or switch off) a PVS proxy for this VM","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_proxy ref","name":"self","doc":"this PVS proxy"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":false},{"name":"create","description":"Configure a VM/VIF to use a PVS proxy","result":["PVS_proxy ref","The reference of the created PVS proxy"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_site ref","name":"site","doc":"PVS site that we proxy for"},{"type":"VIF ref","name":"VIF","doc":"VIF for the VM that needs to be proxied"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":false},{"name":"get_status","description":"Get the status field of the given PVS_proxy.","result":["enum pvs_proxy_status","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_proxy ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_currently_attached","description":"Get the currently_attached field of the given PVS_proxy.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_proxy ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_VIF","description":"Get the VIF field of the given PVS_proxy.","result":["VIF ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_proxy ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_site","description":"Get the site field of the given PVS_proxy.","result":["PVS_site ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_proxy ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given PVS_proxy.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_proxy ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the PVS_proxy instance with the specified UUID.","result":["PVS_proxy ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given PVS_proxy.","result":["PVS_proxy record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_proxy ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true}],"enums":[{"name":"pvs_proxy_status","values":[{"name":"stopped","doc":"The proxy is not currently running"},{"name":"initialised","doc":"The proxy is setup but has not yet cached anything"},{"name":"caching","doc":"The proxy is currently caching data"},{"name":"incompatible_write_cache_mode","doc":"The PVS device is configured to use an incompatible write-cache mode"},{"name":"incompatible_protocol_version","doc":"The PVS protocol in use is not compatible with the PVS proxy"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"tag":""},{"name":"PVS_cache_storage","description":"Describes the storage that is available to a PVS site for caching purposes","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]}},{"name":"host","description":"The host on which this object defines PVS cache storage","type":"host ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"OpaqueRef:NULL"},{"name":"SR","description":"SR providing storage for the PVS cache","type":"SR ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"OpaqueRef:NULL"},{"name":"site","description":"The PVS_site for which this object defines the storage","type":"PVS_site ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"OpaqueRef:NULL"},{"name":"size","description":"The size of the cache VDI (in bytes)","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"21474836480"},{"name":"VDI","description":"The VDI used for caching","type":"VDI ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"default":"OpaqueRef:NULL"}],"messages":[{"name":"get_all_records","description":"Return a map of PVS_cache_storage references to PVS_cache_storage records for all PVS_cache_storages known to the system.","result":["(PVS_cache_storage ref -> PVS_cache_storage record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the PVS_cache_storages known to the system.","result":["PVS_cache_storage ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_VDI","description":"Get the VDI field of the given PVS_cache_storage.","result":["VDI ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_cache_storage ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_size","description":"Get the size field of the given PVS_cache_storage.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_cache_storage ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_site","description":"Get the site field of the given PVS_cache_storage.","result":["PVS_site ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_cache_storage ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_SR","description":"Get the SR field of the given PVS_cache_storage.","result":["SR ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_cache_storage ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_host","description":"Get the host field of the given PVS_cache_storage.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_cache_storage ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given PVS_cache_storage.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_cache_storage ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"destroy","description":"Destroy the specified PVS_cache_storage instance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_cache_storage ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"create","description":"Create a new PVS_cache_storage instance, and return its handle.\nThe constructor args are: host, SR, site, size (* = non-optional).","result":["PVS_cache_storage ref","reference to the newly created object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_cache_storage record","name":"args","doc":"All constructor arguments"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the PVS_cache_storage instance with the specified UUID.","result":["PVS_cache_storage ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given PVS_cache_storage.","result":["PVS_cache_storage record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PVS_cache_storage ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"ely","description":""}]},"tag":""},{"name":"Feature","description":"A new piece of functionality","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"enabled","description":"Indicates whether the feature is enabled","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"default":"false"},{"name":"experimental","description":"Indicates whether the feature is experimental (as opposed to stable and fully supported)","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"default":"false"},{"name":"version","description":"The version of this feature","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"default":"\"1.0\""},{"name":"host","description":"The host where this feature is available","type":"host ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]}}],"messages":[{"name":"get_all_records","description":"Return a map of Feature references to Feature records for all Features known to the system.","result":["(Feature ref -> Feature record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the Features known to the system.","result":["Feature ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_host","description":"Get the host field of the given Feature.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Feature ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_version","description":"Get the version field of the given Feature.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Feature ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_experimental","description":"Get the experimental field of the given Feature.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Feature ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_enabled","description":"Get the enabled field of the given Feature.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Feature ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given Feature.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Feature ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given Feature.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Feature ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given Feature.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Feature ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the Feature instances with the given label.","result":["Feature ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the Feature instance with the specified UUID.","result":["Feature ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given Feature.","result":["Feature record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Feature ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"tag":""},{"name":"SDN_controller","description":"Describes the SDN controller that is to connect with the pool","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]}},{"name":"protocol","description":"Protocol to connect with SDN controller","type":"enum sdn_controller_protocol","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"default":"ssl"},{"name":"address","description":"IP address of the controller","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"default":"\"\""},{"name":"port","description":"TCP port of the controller","type":"int","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"default":"0"}],"messages":[{"name":"get_all_records","description":"Return a map of SDN_controller references to SDN_controller records for all SDN_controllers known to the system.","result":["(SDN_controller ref -> SDN_controller record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the SDN_controllers known to the system.","result":["SDN_controller ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"forget","description":"Remove the OVS manager of the pool and destroy the db record.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SDN_controller ref","name":"self","doc":"this SDN controller"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":false},{"name":"introduce","description":"Introduce an SDN controller to the pool.","result":["SDN_controller ref","the introduced SDN controller"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"enum sdn_controller_protocol","name":"protocol","doc":"Protocol to connect with the controller."},{"type":"string","name":"address","doc":"IP address of the controller."},{"type":"int","name":"port","doc":"TCP port of the controller."}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":false},{"name":"get_port","description":"Get the port field of the given SDN_controller.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SDN_controller ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_address","description":"Get the address field of the given SDN_controller.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SDN_controller ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_protocol","description":"Get the protocol field of the given SDN_controller.","result":["enum sdn_controller_protocol","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SDN_controller ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given SDN_controller.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SDN_controller ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the SDN_controller instance with the specified UUID.","result":["SDN_controller ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given SDN_controller.","result":["SDN_controller record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"SDN_controller ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"implicit":true}],"enums":[{"name":"sdn_controller_protocol","values":[{"name":"ssl","doc":"Active ssl connection"},{"name":"pssl","doc":"Passive ssl connection"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"falcon","description":""}]},"tag":""},{"name":"vdi_nbd_server_info","description":"Details for connecting to a VDI using the Network Block Device protocol","fields":[{"name":"exportname","description":"The exportname to request over NBD. This holds details including an authentication token, so it must be protected appropriately. Clients should regard the exportname as an opaque string or token.","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]}},{"name":"address","description":"An address on which the server can be reached; this can be IPv4, IPv6, or a DNS name.","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]}},{"name":"port","description":"The TCP port","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]}},{"name":"cert","description":"The TLS certificate of the server","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]}},{"name":"subject","description":"For convenience, this redundant field holds a DNS (hostname) subject of the certificate. This can be a wildcard, but only for a certificate that has a wildcard subject and no concrete hostname subjects.","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]}}],"messages":[],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"tag":""},{"name":"PUSB","description":"A physical USB device","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]}},{"name":"USB_group","description":"USB group the PUSB is contained in","type":"USB_group ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"OpaqueRef:NULL"},{"name":"host","description":"Physical machine that owns the USB device","type":"host ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"OpaqueRef:NULL"},{"name":"path","description":"port path of USB device","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"\"\""},{"name":"vendor_id","description":"vendor id of the USB device","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"\"\""},{"name":"vendor_desc","description":"vendor description of the USB device","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"\"\""},{"name":"product_id","description":"product id of the USB device","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"\"\""},{"name":"product_desc","description":"product description of the USB device","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"\"\""},{"name":"serial","description":"serial of the USB device","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"\"\""},{"name":"version","description":"USB device version","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"\"\""},{"name":"description","description":"USB device description","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"\"\""},{"name":"passthrough_enabled","description":"enabled for passthrough","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"false"},{"name":"other_config","description":"additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"{}"},{"name":"speed","description":"USB device speed","type":"float","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"default":"-1."}],"messages":[{"name":"get_all_records","description":"Return a map of PUSB references to PUSB records for all PUSBs known to the system.","result":["(PUSB ref -> PUSB record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the PUSBs known to the system.","result":["PUSB ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"set_passthrough_enabled","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"this PUSB"},{"type":"bool","name":"value","doc":"passthrough is enabled when true and disabled with false"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":false},{"name":"scan","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"host ref","name":"host","doc":"The host"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given PUSB. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given PUSB.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given PUSB.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_speed","description":"Get the speed field of the given PUSB.","result":["float","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given PUSB.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_passthrough_enabled","description":"Get the passthrough_enabled field of the given PUSB.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_description","description":"Get the description field of the given PUSB.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_version","description":"Get the version field of the given PUSB.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_serial","description":"Get the serial field of the given PUSB.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_product_desc","description":"Get the product_desc field of the given PUSB.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_product_id","description":"Get the product_id field of the given PUSB.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_vendor_desc","description":"Get the vendor_desc field of the given PUSB.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_vendor_id","description":"Get the vendor_id field of the given PUSB.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_path","description":"Get the path field of the given PUSB.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_host","description":"Get the host field of the given PUSB.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_USB_group","description":"Get the USB_group field of the given PUSB.","result":["USB_group ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given PUSB.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the PUSB instance with the specified UUID.","result":["PUSB ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given PUSB.","result":["PUSB record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"tag":""},{"name":"USB_group","description":"A group of compatible USBs across the resource pool","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"\"\""},{"name":"PUSBs","description":"List of PUSBs in the group","type":"PUSB ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]}},{"name":"VUSBs","description":"List of VUSBs using the group","type":"VUSB ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]}},{"name":"other_config","description":"Additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of USB_group references to USB_group records for all USB_groups known to the system.","result":["(USB_group ref -> USB_group record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the USB_groups known to the system.","result":["USB_group ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"destroy","description":"","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"USB_group ref","name":"self","doc":"The USB group to destroy"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":false},{"name":"create","description":"","result":["USB_group ref","The reference of the created USB_group"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"name_label","doc":""},{"type":"string","name":"name_description","doc":""},{"type":"(string -> string) map","name":"other_config","doc":""}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given USB_group. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"USB_group ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given USB_group.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"USB_group ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given USB_group.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"USB_group ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"set_name_description","description":"Set the name/description field of the given USB_group.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"USB_group ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"set_name_label","description":"Set the name/label field of the given USB_group.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"USB_group ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given USB_group.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"USB_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_VUSBs","description":"Get the VUSBs field of the given USB_group.","result":["VUSB ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"USB_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_PUSBs","description":"Get the PUSBs field of the given USB_group.","result":["PUSB ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"USB_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given USB_group.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"USB_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given USB_group.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"USB_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given USB_group.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"USB_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the USB_group instances with the given label.","result":["USB_group ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the USB_group instance with the specified UUID.","result":["USB_group ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given USB_group.","result":["USB_group record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"USB_group ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"tag":""},{"name":"VUSB","description":"Describes the vusb device","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]}},{"name":"allowed_operations","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client.","type":"enum vusb_operations set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"default":"{}"},{"name":"current_operations","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task.","type":"(string -> enum vusb_operations) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"default":"{}"},{"name":"VM","description":"VM that owns the VUSB","type":"VM ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]}},{"name":"USB_group","description":"USB group used by the VUSB","type":"USB_group ref","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]}},{"name":"other_config","description":"Additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"default":"{}"},{"name":"currently_attached","description":"is the device currently attached","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"is the device currently attached"}]},"default":"false"}],"messages":[{"name":"get_all_records","description":"Return a map of VUSB references to VUSB records for all VUSBs known to the system.","result":["(VUSB ref -> VUSB record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the VUSBs known to the system.","result":["VUSB ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"destroy","description":"Removes a VUSB record from the database","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VUSB ref","name":"self","doc":"The VUSB to destroy about"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":false},{"name":"unplug","description":"Unplug the vusb device from the vm.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VUSB ref","name":"self","doc":"vusb deivce"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":false},{"name":"create","description":"Create a new VUSB record in the database only","result":["VUSB ref","The ref of the newly created VUSB record."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VM ref","name":"VM","doc":"The VM"},{"type":"USB_group ref","name":"USB_group","doc":""},{"type":"(string -> string) map","name":"other_config","doc":""}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given VUSB. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VUSB ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given VUSB.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VUSB ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given VUSB.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VUSB ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_currently_attached","description":"Get the currently_attached field of the given VUSB.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"is the device currently attached"}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given VUSB.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_USB_group","description":"Get the USB_group field of the given VUSB.","result":["USB_group ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_VM","description":"Get the VM field of the given VUSB.","result":["VM ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_current_operations","description":"Get the current_operations field of the given VUSB.","result":["(string -> enum vusb_operations) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"implicit":true},{"name":"get_allowed_operations","description":"Get the allowed_operations field of the given VUSB.","result":["enum vusb_operations set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given VUSB.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the VUSB instance with the specified UUID.","result":["VUSB ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given VUSB.","result":["VUSB record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"VUSB ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"implicit":true}],"enums":[{"name":"vusb_operations","values":[{"name":"attach","doc":"Attempting to attach this VUSB to a VM"},{"name":"plug","doc":"Attempting to plug this VUSB into a VM"},{"name":"unplug","doc":"Attempting to hot unplug this VUSB"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"inverness","description":""}]},"tag":""},{"name":"Cluster","description":"Cluster-wide Cluster metadata","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]}},{"name":"cluster_hosts","description":"A list of the cluster_host objects associated with the Cluster","type":"Cluster_host ref set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]}},{"name":"pending_forget","description":"Internal field used by Host.destroy to store the IP of cluster members marked as permanently dead but not yet removed","type":"string set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"lima","description":""}]},"default":"{}"},{"name":"cluster_token","description":"The secret key used by xapi-clusterd when it talks to itself on other hosts","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"default":"\"\""},{"name":"cluster_stack","description":"Simply the string 'corosync'. No other cluster stacks are currently supported","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"default":"\"corosync\""},{"name":"is_quorate","description":"Whether the cluster stack thinks the cluster is quorate","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.3.0","description":""}]},"default":"false"},{"name":"quorum","description":"Number of live hosts in order to be quorate","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.3.0","description":""}]},"default":"0"},{"name":"live_hosts","description":"Current number of live hosts, according to the cluster stack","type":"int","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.3.0","description":""}]},"default":"0"},{"name":"allowed_operations","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client.","type":"enum cluster_operation set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"default":"{}"},{"name":"current_operations","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task.","type":"(string -> enum cluster_operation) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"default":"{}"},{"name":"pool_auto_join","description":"True if automatically joining new pool members to the cluster. This will be `true` in the first release","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"default":"true"},{"name":"token_timeout","description":"The corosync token timeout in seconds","type":"float","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":"the unit is milliseconds"},{"transition":"changed","release":"lima","description":"the unit is now seconds"},{"transition":"published","release":"lima","description":""}]},"default":"20."},{"name":"token_timeout_coefficient","description":"The corosync token timeout coefficient in seconds","type":"float","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":"the unit is milliseconds"},{"transition":"changed","release":"lima","description":"the unit is now seconds"},{"transition":"published","release":"lima","description":""}]},"default":"1."},{"name":"cluster_config","description":"Contains read-only settings for the cluster, such as timeouts and other options. It can only be set at cluster create time","type":"(string -> string) map","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"default":"{}"},{"name":"other_config","description":"Additional configuration","type":"(string -> string) map","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of Cluster references to Cluster records for all Clusters known to the system.","result":["(Cluster ref -> Cluster record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the Clusters known to the system.","result":["Cluster ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"pool_resync","description":"Resynchronise the cluster_host objects across the pool. Creates them where they need creating and then plugs them","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"The cluster to resync"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":false},{"name":"pool_destroy","description":"Attempt to destroy the Cluster_host objects for all hosts in the pool and then destroy the Cluster.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"The cluster to destroy."}],"errors":[{"name":"CLUSTER_STACK_IN_USE","doc":"The cluster stack is still in use by at least one plugged PBD."},{"name":"CLUSTERING_DISABLED","doc":"An operation was attempted while clustering was disabled on the cluster_host."},{"name":"CLUSTER_HOST_IS_LAST","doc":"The last cluster host cannot be destroyed. Destroy the cluster instead"}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":false},{"name":"pool_force_destroy","description":"Attempt to force destroy the Cluster_host objects, and then destroy the Cluster.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"The cluster to force destroy."}],"errors":[{"name":"CLUSTER_FORCE_DESTROY_FAILED","doc":"Force destroy failed on a Cluster_host while force destroying the cluster."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":false},{"name":"pool_create","description":"Attempt to create a Cluster from the entire pool","result":["Cluster ref","the new Cluster"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"network ref","name":"network","doc":"the single network on which corosync carries out its inter-host communications"},{"type":"string","name":"cluster_stack","doc":"simply the string 'corosync'. No other cluster stacks are currently supported"},{"type":"float","name":"token_timeout","doc":"Corosync token timeout in seconds"},{"type":"float","name":"token_timeout_coefficient","doc":"Corosync token timeout coefficient in seconds"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":false},{"name":"get_network","description":"Returns the network used by the cluster for inter-host communication, i.e. the network shared by all cluster host PIFs","result":["network ref","network of cluster"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"the Cluster with the network"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":false},{"name":"destroy","description":"Destroys a Cluster object and the one remaining Cluster_host member","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"the Cluster to destroy"}],"errors":[{"name":"CLUSTER_DOES_NOT_HAVE_ONE_NODE","doc":"An operation failed as it expected the cluster to have only one node but found multiple cluster_hosts."},{"name":"CLUSTER_STACK_IN_USE","doc":"The cluster stack is still in use by at least one plugged PBD."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":false},{"name":"create","description":"Creates a Cluster object and one Cluster_host object as its first member","result":["Cluster ref","the new Cluster"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"PIF ref","name":"PIF","doc":"The PIF to connect the cluster's first cluster_host to"},{"type":"string","name":"cluster_stack","doc":"simply the string 'corosync'. No other cluster stacks are currently supported"},{"type":"bool","name":"pool_auto_join","doc":"true if xapi is automatically joining new pool members to the cluster"},{"type":"float","name":"token_timeout","doc":"Corosync token timeout in seconds"},{"type":"float","name":"token_timeout_coefficient","doc":"Corosync token timeout coefficient in seconds"}],"errors":[{"name":"INVALID_CLUSTER_STACK","doc":"The cluster stack provided is not supported."},{"name":"INVALID_VALUE","doc":"The value given is invalid"},{"name":"PIF_ALLOWS_UNPLUG","doc":"The operation you requested cannot be performed because the specified PIF allows unplug."},{"name":"REQUIRED_PIF_IS_UNPLUGGED","doc":"The operation you requested cannot be performed because the specified PIF is currently unplugged."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":false},{"name":"remove_from_other_config","description":"Remove the given key and its corresponding value from the other_config field of the given Cluster. If the key is not in that Map, then do nothing.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to remove"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"add_to_other_config","description":"Add the given key-value pair to the other_config field of the given Cluster.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"},{"type":"string","name":"key","doc":"Key to add"},{"type":"string","name":"value","doc":"Value to add"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"set_other_config","description":"Set the other_config field of the given Cluster.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"},{"type":"(string -> string) map","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_other_config","description":"Get the other_config field of the given Cluster.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_cluster_config","description":"Get the cluster_config field of the given Cluster.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_token_timeout_coefficient","description":"Get the token_timeout_coefficient field of the given Cluster.","result":["float","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":"the unit is milliseconds"},{"transition":"changed","release":"lima","description":"the unit is now seconds"},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_token_timeout","description":"Get the token_timeout field of the given Cluster.","result":["float","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":"the unit is milliseconds"},{"transition":"changed","release":"lima","description":"the unit is now seconds"},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_pool_auto_join","description":"Get the pool_auto_join field of the given Cluster.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_current_operations","description":"Get the current_operations field of the given Cluster.","result":["(string -> enum cluster_operation) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"implicit":true},{"name":"get_allowed_operations","description":"Get the allowed_operations field of the given Cluster.","result":["enum cluster_operation set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"implicit":true},{"name":"get_live_hosts","description":"Get the live_hosts field of the given Cluster.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.3.0","description":""}]},"implicit":true},{"name":"get_quorum","description":"Get the quorum field of the given Cluster.","result":["int","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.3.0","description":""}]},"implicit":true},{"name":"get_is_quorate","description":"Get the is_quorate field of the given Cluster.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.3.0","description":""}]},"implicit":true},{"name":"get_cluster_stack","description":"Get the cluster_stack field of the given Cluster.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_cluster_token","description":"Get the cluster_token field of the given Cluster.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_pending_forget","description":"Get the pending_forget field of the given Cluster.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_cluster_hosts","description":"Get the cluster_hosts field of the given Cluster.","result":["Cluster_host ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given Cluster.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the Cluster instance with the specified UUID.","result":["Cluster ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given Cluster.","result":["Cluster record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true}],"enums":[{"name":"cluster_operation","values":[{"name":"add","doc":"adding a new member to the cluster"},{"name":"remove","doc":"removing a member from the cluster"},{"name":"enable","doc":"enabling any cluster member"},{"name":"disable","doc":"disabling any cluster member"},{"name":"destroy","doc":"completely destroying a cluster"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"tag":""},{"name":"Cluster_host","description":"Cluster member metadata","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]}},{"name":"cluster","description":"Reference to the Cluster object","type":"Cluster ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"default":"OpaqueRef:NULL"},{"name":"host","description":"Reference to the Host object","type":"host ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"default":"OpaqueRef:NULL"},{"name":"enabled","description":"Whether the cluster host believes that clustering should be enabled on this host. This field can be altered by calling the enable/disable message on a cluster host. Only enabled members run the underlying cluster stack. Disabled members are still considered a member of the cluster (see joined), and can be re-enabled by the user.","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"default":"false"},{"name":"PIF","description":"Reference to the PIF object","type":"PIF ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"default":"OpaqueRef:NULL"},{"name":"joined","description":"Whether the cluster host has joined the cluster. Contrary to enabled, a host that is not joined is not considered a member of the cluster, and hence enable and disable operations cannot be performed on this host.","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"default":"true"},{"name":"live","description":"Whether the underlying cluster stack thinks we are live. This field is set automatically based on updates from the cluster stack and cannot be altered by the user.","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.3.0","description":""}]},"default":"false"},{"name":"last_update_live","description":"Time when the live field was last updated based on information from the cluster stack","type":"datetime","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.3.0","description":""}]},"default":"19700101T00:00:00Z"},{"name":"allowed_operations","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client.","type":"enum cluster_host_operation set","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"default":"{}"},{"name":"current_operations","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task.","type":"(string -> enum cluster_host_operation) map","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"default":"{}"},{"name":"other_config","description":"Additional configuration","type":"(string -> string) map","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"default":"{}"}],"messages":[{"name":"get_all_records","description":"Return a map of Cluster_host references to Cluster_host records for all Cluster_hosts known to the system.","result":["(Cluster_host ref -> Cluster_host record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the Cluster_hosts known to the system.","result":["Cluster_host ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"disable","description":"Disable cluster membership for an enabled cluster host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"the cluster_host to disable"}],"errors":[{"name":"CLUSTER_STACK_IN_USE","doc":"The cluster stack is still in use by at least one plugged PBD."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":false},{"name":"force_destroy","description":"Remove a host from an existing cluster forcefully.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"the cluster_host to remove from the cluster"}],"errors":[{"name":"CLUSTER_STACK_IN_USE","doc":"The cluster stack is still in use by at least one plugged PBD."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":false},{"name":"enable","description":"Enable cluster membership for a disabled cluster host.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"the cluster_host to enable"}],"errors":[{"name":"PIF_ALLOWS_UNPLUG","doc":"The operation you requested cannot be performed because the specified PIF allows unplug."},{"name":"REQUIRED_PIF_IS_UNPLUGGED","doc":"The operation you requested cannot be performed because the specified PIF is currently unplugged."}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":false},{"name":"destroy","description":"Remove the host from an existing cluster. This operation is allowed even if a cluster host is not enabled.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"the cluster_host to remove from the cluster"}],"errors":[{"name":"CLUSTER_STACK_IN_USE","doc":"The cluster stack is still in use by at least one plugged PBD."},{"name":"CLUSTERING_DISABLED","doc":"An operation was attempted while clustering was disabled on the cluster_host."},{"name":"CLUSTER_HOST_IS_LAST","doc":"The last cluster host cannot be destroyed. Destroy the cluster instead"}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":false},{"name":"create","description":"Add a new host to an existing cluster.","result":["Cluster_host ref","the newly created cluster_host object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster ref","name":"cluster","doc":"Cluster to join"},{"type":"host ref","name":"host","doc":"new cluster member"},{"type":"PIF ref","name":"pif","doc":"Network interface to use for communication"}],"errors":[{"name":"PIF_NOT_ATTACHED_TO_HOST","doc":"Cluster_host creation failed as the PIF provided is not attached to the host."},{"name":"NO_CLUSTER_HOSTS_REACHABLE","doc":"No other cluster host was reachable when joining"}],"roles":["pool-admin","pool-operator"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":false},{"name":"get_other_config","description":"Get the other_config field of the given Cluster_host.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_current_operations","description":"Get the current_operations field of the given Cluster_host.","result":["(string -> enum cluster_host_operation) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task."}]},"implicit":true},{"name":"get_allowed_operations","description":"Get the allowed_operations field of the given Cluster_host.","result":["enum cluster_host_operation set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client."}]},"implicit":true},{"name":"get_last_update_live","description":"Get the last_update_live field of the given Cluster_host.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.3.0","description":""}]},"implicit":true},{"name":"get_live","description":"Get the live field of the given Cluster_host.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"24.3.0","description":""}]},"implicit":true},{"name":"get_joined","description":"Get the joined field of the given Cluster_host.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_PIF","description":"Get the PIF field of the given Cluster_host.","result":["PIF ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_enabled","description":"Get the enabled field of the given Cluster_host.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_host","description":"Get the host field of the given Cluster_host.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_cluster","description":"Get the cluster field of the given Cluster_host.","result":["Cluster ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given Cluster_host.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the Cluster_host instance with the specified UUID.","result":["Cluster_host ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given Cluster_host.","result":["Cluster_host record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Cluster_host ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"implicit":true}],"enums":[{"name":"cluster_host_operation","values":[{"name":"enable","doc":"enabling cluster membership on a particular host"},{"name":"disable","doc":"disabling cluster membership on a particular host"},{"name":"destroy","doc":"completely destroying a cluster host"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"prototyped","release":"kolkata","description":""},{"transition":"published","release":"lima","description":""}]},"tag":""},{"name":"Certificate","description":"An X509 certificate used for TLS connections","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]}},{"name":"name","description":"The name of the certificate, only present on certificates of type 'ca'","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.294.0","description":""}]},"default":"\"\""},{"name":"type","description":"The type of the certificate, either 'ca', 'host' or 'host_internal'","type":"enum certificate_type","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.294.0","description":""}]},"default":"host"},{"name":"host","description":"The host where the certificate is installed","type":"host ref","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"default":"OpaqueRef:NULL"},{"name":"not_before","description":"Date after which the certificate is valid","type":"datetime","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"default":"19700101T00:00:00Z"},{"name":"not_after","description":"Date before which the certificate is valid","type":"datetime","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"default":"19700101T00:00:00Z"},{"name":"fingerprint","description":"The certificate's SHA256 fingerprint / hash","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"default":"\"\""}],"messages":[{"name":"get_all_records","description":"Return a map of Certificate references to Certificate records for all Certificates known to the system.","result":["(Certificate ref -> Certificate record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the Certificates known to the system.","result":["Certificate ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"implicit":true},{"name":"get_fingerprint","description":"Get the fingerprint field of the given Certificate.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Certificate ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"implicit":true},{"name":"get_not_after","description":"Get the not_after field of the given Certificate.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Certificate ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"implicit":true},{"name":"get_not_before","description":"Get the not_before field of the given Certificate.","result":["datetime","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Certificate ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"implicit":true},{"name":"get_host","description":"Get the host field of the given Certificate.","result":["host ref","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Certificate ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"implicit":true},{"name":"get_type","description":"Get the type field of the given Certificate.","result":["enum certificate_type","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Certificate ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.294.0","description":""}]},"implicit":true},{"name":"get_name","description":"Get the name field of the given Certificate.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Certificate ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.294.0","description":""}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given Certificate.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Certificate ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the Certificate instance with the specified UUID.","result":["Certificate ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given Certificate.","result":["Certificate record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Certificate ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"implicit":true}],"enums":[{"name":"certificate_type","values":[{"name":"ca","doc":"Certificate that is trusted by the whole pool"},{"name":"host","doc":"Certificate that identifies a single host to entities outside the pool"},{"name":"host_internal","doc":"Certificate that identifies a single host to other pool members"}]}],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"stockholm","description":""}]},"tag":""},{"name":"Repository","description":"Repository for updates","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"binary_url","description":"Base URL of binary packages in this repository","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"default":"\"\""},{"name":"source_url","description":"Base URL of source packages in this repository","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"default":"\"\""},{"name":"update","description":"True if updateinfo.xml in this repository needs to be parsed","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"default":"false"},{"name":"hash","description":"SHA256 checksum of latest updateinfo.xml.gz in this repository if its 'update' is true","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"default":"\"\""},{"name":"up_to_date","description":"True if all hosts in pool is up to date with this repository","type":"bool","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"1.301.0","description":""},{"transition":"deprecated","release":"23.18.0","description":"Dummy transition"},{"transition":"removed","release":"23.18.0","description":"The up_to_date field of repository was removed"}]},"default":"false"},{"name":"gpgkey_path","description":"The file name of the GPG public key of this repository","type":"string","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.12.0","description":""}]},"default":"\"\""}],"messages":[{"name":"get_all_records","description":"Return a map of Repository references to Repository records for all Repositorys known to the system.","result":["(Repository ref -> Repository record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the Repositorys known to the system.","result":["Repository ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"implicit":true},{"name":"set_gpgkey_path","description":"Set the file name of the GPG public key of the repository","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Repository ref","name":"self","doc":"The repository"},{"type":"string","name":"value","doc":"The file name of the GPG public key of the repository"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.12.0","description":""}]},"implicit":false},{"name":"forget","description":"Remove the repository record from the database","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Repository ref","name":"self","doc":"The repository to be removed from the database"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"implicit":false},{"name":"introduce","description":"Add the configuration for a new repository","result":["Repository ref","The ref of the created repository record."],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"name_label","doc":"The name of the repository"},{"type":"string","name":"name_description","doc":"The description of the repository"},{"type":"string","name":"binary_url","doc":"Base URL of binary packages in this repository"},{"type":"string","name":"source_url","doc":"Base URL of source packages in this repository"},{"type":"bool","name":"update","doc":"True if the repository is an update repository. This means that updateinfo.xml will be parsed"},{"type":"string","name":"gpgkey_path","doc":"The GPG public key file name"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"implicit":false},{"name":"set_name_description","description":"Set the name/description field of the given Repository.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Repository ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"set_name_label","description":"Set the name/label field of the given Repository.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Repository ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin","pool-operator","client-cert"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_gpgkey_path","description":"Get the gpgkey_path field of the given Repository.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Repository ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"22.12.0","description":""}]},"implicit":true},{"name":"get_up_to_date","description":"Get the up_to_date field of the given Repository.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Repository ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Removed_s","transitions":[{"transition":"published","release":"1.301.0","description":""},{"transition":"deprecated","release":"23.18.0","description":"Dummy transition"},{"transition":"removed","release":"23.18.0","description":"The up_to_date field of repository was removed"}]},"implicit":true},{"name":"get_hash","description":"Get the hash field of the given Repository.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Repository ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"implicit":true},{"name":"get_update","description":"Get the update field of the given Repository.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Repository ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"implicit":true},{"name":"get_source_url","description":"Get the source_url field of the given Repository.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Repository ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"implicit":true},{"name":"get_binary_url","description":"Get the binary_url field of the given Repository.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Repository ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given Repository.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Repository ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given Repository.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Repository ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given Repository.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Repository ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the Repository instances with the given label.","result":["Repository ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the Repository instance with the specified UUID.","result":["Repository ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given Repository.","result":["Repository record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Repository ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"1.301.0","description":""}]},"tag":""},{"name":"Observer","description":"Describes a observer which will control observability activity in the Toolstack","fields":[{"name":"uuid","description":"Unique identifier/object reference","type":"string","qualifier":"RO/runtime","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]}},{"name":"name_label","description":"a human-readable name","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"default":"\"\""},{"name":"name_description","description":"a notes field containing human-readable description","type":"string","qualifier":"RW","tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"default":"\"\""},{"name":"hosts","description":"The list of hosts the observer is active on. An empty list means all hosts","type":"host ref set","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"default":"{}"},{"name":"attributes","description":"Attributes that observer will add to the data they produce","type":"(string -> string) map","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"default":"{}"},{"name":"endpoints","description":"The list of endpoints where data is exported to. Each endpoint is a URL or the string 'bugtool' refering to the internal logs","type":"string set","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"default":"{}"},{"name":"components","description":"The list of xenserver components the observer will broadcast. An empty list means all components","type":"string set","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"default":"{}"},{"name":"enabled","description":"This denotes if the observer is enabled. true if it is enabled and false if it is disabled","type":"bool","qualifier":"RO/constructor","tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"default":"false"}],"messages":[{"name":"get_all_records","description":"Return a map of Observer references to Observer records for all Observers known to the system.","result":["(Observer ref -> Observer record) map","records of all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":true},{"name":"get_all","description":"Return a list of all the Observers known to the system.","result":["Observer ref set","references to all objects"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":true},{"name":"set_components","description":"Set the components on which the observer will broadcast to. i.e. xapi, xenopsd, networkd, etc","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"The observer"},{"type":"string set","name":"value","doc":"The components the observer will broadcast to"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":false},{"name":"set_endpoints","description":"Set the file/HTTP endpoints the observer sends data to","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"The observer"},{"type":"string set","name":"value","doc":"The endpoints that the observer will export data to. A URL or the string 'bugtool'. This can refer to an enpoint to the local file system"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":false},{"name":"set_attributes","description":"Set the attributes of an observer. These are used to emit metadata by the observer","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"The observer"},{"type":"(string -> string) map","name":"value","doc":"The attributes that the observer emits as part of the data"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":false},{"name":"set_enabled","description":"Enable / disable this observer which will stop the observer from producing observability information","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"The observer"},{"type":"bool","name":"value","doc":"If the observer is to be enabled (true) or disabled (false)"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":false},{"name":"set_hosts","description":"Sets the hosts that the observer is to be registered on","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"The observer"},{"type":"host ref set","name":"value","doc":"Hosts the observer is registered on"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":false},{"name":"set_name_description","description":"Set the name/description field of the given Observer.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"set_name_label","description":"Set the name/label field of the given Observer.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"reference to the object"},{"type":"string","name":"value","doc":"New value to set"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_enabled","description":"Get the enabled field of the given Observer.","result":["bool","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":true},{"name":"get_components","description":"Get the components field of the given Observer.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":true},{"name":"get_endpoints","description":"Get the endpoints field of the given Observer.","result":["string set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":true},{"name":"get_attributes","description":"Get the attributes field of the given Observer.","result":["(string -> string) map","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":true},{"name":"get_hosts","description":"Get the hosts field of the given Observer.","result":["host ref set","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":true},{"name":"get_name_description","description":"Get the name/description field of the given Observer.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a notes field containing human-readable description"}]},"implicit":true},{"name":"get_name_label","description":"Get the name/label field of the given Observer.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Published_s","transitions":[{"transition":"published","release":"rio","description":"a human-readable name"}]},"implicit":true},{"name":"get_uuid","description":"Get the uuid field of the given Observer.","result":["string","value of the field"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":true},{"name":"get_by_name_label","description":"Get all the Observer instances with the given label.","result":["Observer ref set","references to objects with matching names"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"label","doc":"label of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":true},{"name":"destroy","description":"Destroy the specified Observer instance.","result":["void"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":true},{"name":"create","description":"Create a new Observer instance, and return its handle.\nThe constructor args are: name_label, name_description, hosts, attributes, endpoints, components, enabled (* = non-optional).","result":["Observer ref","reference to the newly created object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer record","name":"args","doc":"All constructor arguments"}],"errors":[],"roles":["pool-admin"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":true},{"name":"get_by_uuid","description":"Get a reference to the Observer instance with the specified UUID.","result":["Observer ref","reference to the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"string","name":"uuid","doc":"UUID of object to return"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":true},{"name":"get_record","description":"Get a record containing the current state of the given Observer.","result":["Observer record","all fields from the object"],"params":[{"type":"session ref","name":"session_id","doc":"Reference to a valid session"},{"type":"Observer ref","name":"self","doc":"reference to the object"}],"errors":[],"roles":["pool-admin","pool-operator","vm-power-admin","vm-admin","vm-operator","client-cert","read-only"],"tag":"","lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"implicit":true}],"enums":[],"lifecycle":{"state":"Prototyped_s","transitions":[{"transition":"prototyped","release":"23.14.0","description":""}]},"tag":""}]
diff --git a/doc/hugo.toml b/doc/hugo.toml
index 3ece19caf47..bb1127b019e 100644
--- a/doc/hugo.toml
+++ b/doc/hugo.toml
@@ -3,6 +3,7 @@ languageCode = 'en-us'
title = 'XAPI Toolstack Developer Documentation'
disablePathToLower = true
pygmentsCodeFences = true
+assetsDir = "assets"
[module]
[[module.imports]]
diff --git a/doc/layouts/xenapi/class.html b/doc/layouts/xenapi/class.html
new file mode 100644
index 00000000000..e9e3c6cbe8b
--- /dev/null
+++ b/doc/layouts/xenapi/class.html
@@ -0,0 +1,201 @@
+{{- partial "header.html" . }}
+
+ navigation
+
+
+
+
+{{ $style := resources.Get "css/xenapi.css" }}
+
+
+{{ .Content }}
+{{ $c := .Page.Params.class }}
+{{ with index (where $.Site.Data.xenapi "name" $c) 0 }}
+
+{{ with .lifecycle }}
+
+ {{ if eq .state "Prototyped_s" }}
+ Prototype
+ {{ else if eq .state "Deprecated_s" }}
+ Deprecated
+ {{ else if eq .state "Removed_s" }}
+ Removed
+ {{ end }}
+
+{{ end }}
+
+
+Class: {{ $c }}
+
+
+
+{{ .description | htmlEscape }}
+
+
+
+
+ {{ range .lifecycle.transitions }}
+
+
{{ .transition | humanize }} in:
+
{{ index $.Site.Data.releases .release }} ({{ .release }})
+
{{ .description | htmlEscape }}
+
+ {{ end }}
+
+
+
+{{ if gt (len .enums) 0 }}
+
Enums
+
+ {{ range $i, $x := .enums }}
+
+
{{ $x.name }}
+
+
+
+ {{ range $i, $v := $x.values }}
+
+
{{ if eq $i 0 }}Values:{{ end }}
+
{{ .name }}
+
{{ .doc | htmlEscape }}
+
+ {{ end }}
+
+
+
+ {{ end }}
+{{ end }}
+
+
Fields
+
+{{ range $i, $x := sort .fields "name" }}
+
+ {{ with $x.lifecycle }}
+
+ {{ if eq .state "Prototyped_s" }}
+ Prototype
+ {{ else if eq .state "Deprecated_s" }}
+ Deprecated
+ {{ else if eq .state "Removed_s" }}
+ Removed
+ {{ end }}
+