.. [#pwhash] Using the MD5 hash of username, realm and password is
- described in :rfc:`2617` ("HTTP Authentication"), sections 3.2.2.2 and
- 3.3. The reason for using it over another algorithm is forward
+ described in :rfc:`2617` ("HTTP Authentication"), sections 3.2.2.2
+ and 3.3. The reason for using it over another algorithm is forward
compatibility. If ``ganeti-rapi`` were to implement HTTP Digest
authentication in the future, the same hash could be used.
In the current version ``ganeti-rapi``'s realm, ``Ganeti Remote
(i.e ``?bulk=1``), the output contains detailed information about node
groups as a list.
+Returned fields: :pyeval:`utils.CommaJoin(sorted(rlib2.G_FIELDS))`
+
Example::
[
Returns information about a node group, similar to the bulk output from
the node group list.
+Returned fields: :pyeval:`utils.CommaJoin(sorted(rlib2.G_FIELDS))`
+
``DELETE``
~~~~~~~~~~
.. opcode_params:: OP_GROUP_SET_PARAMS
:exclude: group_name
+Job result:
+
+.. opcode_result:: OP_GROUP_SET_PARAMS
+
``/2/groups/[group_name]/rename``
+++++++++++++++++++++++++++++++++
.. opcode_params:: OP_GROUP_RENAME
:exclude: group_name
+Job result:
+
+.. opcode_result:: OP_GROUP_RENAME
+
``/2/groups/[group_name]/assign-nodes``
+++++++++++++++++++++++++++++++++++++++
(i.e ``?bulk=1``), the output contains detailed information about
instances as a list.
+Returned fields: :pyeval:`utils.CommaJoin(sorted(rlib2.I_FIELDS))`
+
Example::
[
been replaced by ``instance_name`` and ``os_type`` to match the
underlying opcode. The old names can still be used.
+Job result:
+
+.. opcode_result:: OP_INSTANCE_CREATE
+
``/2/instances/[instance_name]``
++++++++++++++++++++++++++++++++
Returns information about an instance, similar to the bulk output from
the instance list.
+Returned fields: :pyeval:`utils.CommaJoin(sorted(rlib2.I_FIELDS))`
+
``DELETE``
~~~~~~~~~~
:exclude: instance_name, live
+``/2/instances/[instance_name]/failover``
++++++++++++++++++++++++++++++++++++++++++
+
+Does a failover of an instance.
+
+Supports the following commands: ``PUT``.
+
+``PUT``
+~~~~~~~
+
+Returns a job ID.
+
+Body parameters:
+
+.. opcode_params:: OP_INSTANCE_FAILOVER
+ :exclude: instance_name
+
+
``/2/instances/[instance_name]/rename``
++++++++++++++++++++++++++++++++++++++++
.. opcode_params:: OP_INSTANCE_RENAME
:exclude: instance_name
+Job result:
+
+.. opcode_result:: OP_INSTANCE_RENAME
+
``/2/instances/[instance_name]/modify``
++++++++++++++++++++++++++++++++++++++++
.. opcode_params:: OP_INSTANCE_SET_PARAMS
:exclude: instance_name
+Job result:
+
+.. opcode_result:: OP_INSTANCE_SET_PARAMS
+
``/2/instances/[instance_name]/console``
++++++++++++++++++++++++++++++++++++++++
Returns a dictionary containing information about the instance's
console. Contained keys:
+.. pyassert::
+
+ constants.CONS_ALL == frozenset([
+ constants.CONS_MESSAGE,
+ constants.CONS_SSH,
+ constants.CONS_VNC,
+ ])
+
``instance``
Instance name.
``kind``
- Console type, one of ``ssh``, ``vnc`` or ``msg``.
+ Console type, one of :pyeval:`constants.CONS_SSH`,
+ :pyeval:`constants.CONS_VNC` or :pyeval:`constants.CONS_MESSAGE`.
``message``
- Message to display (``msg`` type only).
+ Message to display (:pyeval:`constants.CONS_MESSAGE` type only).
``host``
- Host to connect to (``ssh`` and ``vnc`` only).
+ Host to connect to (:pyeval:`constants.CONS_SSH` and
+ :pyeval:`constants.CONS_VNC` only).
``port``
- TCP port to connect to (``vnc`` only).
+ TCP port to connect to (:pyeval:`constants.CONS_VNC` only).
``user``
- Username to use (``ssh`` only).
+ Username to use (:pyeval:`constants.CONS_SSH` only).
``command``
- Command to execute on machine (``ssh`` only)
+ Command to execute on machine (:pyeval:`constants.CONS_SSH` only)
``display``
- VNC display number (``vnc`` only).
+ VNC display number (:pyeval:`constants.CONS_VNC` only).
``/2/instances/[instance_name]/tags``
Returns: a dictionary with jobs id and uri.
+If the optional bool *bulk* argument is provided and set to a true value
+(i.e. ``?bulk=1``), the output contains detailed information about jobs
+as a list.
+
+Returned fields for bulk requests (unlike other bulk requests, these
+fields are not the same as for per-job requests):
+:pyeval:`utils.CommaJoin(sorted(rlib2.J_FIELDS_BULK))`
+
``/2/jobs/[job_id]``
++++++++++++++++++++
``GET``
~~~~~~~
-Returns a job status.
-
-Returns: a dictionary with job parameters.
+Returns a dictionary with job parameters, containing the fields
+:pyeval:`utils.CommaJoin(sorted(rlib2.J_FIELDS))`.
The result includes:
}
]
-If the optional 'bulk' argument is provided and set to 'true' value (i.e
-'?bulk=1'), the output contains detailed information about nodes as a
-list.
+If the optional bool *bulk* argument is provided and set to a true value
+(i.e ``?bulk=1``), the output contains detailed information about nodes
+as a list.
+
+Returned fields: :pyeval:`utils.CommaJoin(sorted(rlib2.N_FIELDS))`
Example::
It supports the following commands: ``GET``.
+Returned fields: :pyeval:`utils.CommaJoin(sorted(rlib2.N_FIELDS))`
+
``/2/nodes/[node_name]/evacuate``
+++++++++++++++++++++++++++++++++
longer supported. The new request can be detected by the presence of the
:pyeval:`rlib2._NODE_EVAC_RES1` feature string.
+Job result:
+
+.. opcode_result:: OP_NODE_EVACUATE
+
``/2/nodes/[node_name]/migrate``
+++++++++++++++++++++++++++++++++