diff --git a/doc/rapi.rst b/doc/rapi.rst index 813863722be93a5a8f3146af5abb37ebc21be300..941ec0f49339cfdf4dd58b6508a28dd26ab0fccc 100644 --- a/doc/rapi.rst +++ b/doc/rapi.rst @@ -25,6 +25,31 @@ principle. .. _JSON: http://www.json.org/ .. _REST: http://en.wikipedia.org/wiki/Representational_State_Transfer +Generic parameters +------------------ + +A few parameter mean the same thing across all resources which implement it. + +``bulk`` +++++++++ + +Bulk-mode means that for the resources which usually return just a +list of child resources (e.g. ``/2/instances`` which returns just +instance names), the output will instead contain detailed data for all +these subresources. This is more efficient than query-ing the +sub-resources themselves. + +``dry-run`` ++++++++++++ + +The optional *dry-run* argument, if provided and set to a positive +integer value (e.g. ``?dry-run=1``), signals to Ganeti that the job +should not be executed, only the pre-execution checks will be done. + +This is useful in trying to determine (without guarantees though, as +in the meantime the cluster state could have changed) if the operation +is likely to succeed or at least start executing. + Usage examples -------------- @@ -58,10 +83,10 @@ Python JavaScript ++++++++++ -.. warning:: While it's possible to use JavaScript, it poses several potential - problems, including browser blocking request due to - non-standard ports or different domain names. Fetching the data - on the webserver is easier. +.. warning:: While it's possible to use JavaScript, it poses several + potential problems, including browser blocking request due to + non-standard ports or different domain names. Fetching the data on + the webserver is easier. .. highlight:: javascript @@ -171,7 +196,6 @@ It supports the following commands: ``GET``, ``POST``. Returns a list of all available instances. - Example:: [ @@ -224,6 +248,12 @@ Example:: Creates an instance. +If the optional *dry-run* argument is provided and set to a positive +integer valu (e.g. ``?dry-run=1``), the job will not be actually +executed, only the pre-execution checks will be done. Query-ing the +job result will return, in both dry-run and normal case, the list of +nodes selected for the instance. + Returns: a job ID that can be used later for polling. ``/2/instances/[instance_name]`` @@ -244,6 +274,8 @@ the instance list. Deletes an instance. +It supports the ``dry-run`` argument. + ``/2/instances/[instance_name]/reboot`` +++++++++++++++++++++++++++++++++++++++ @@ -260,6 +292,9 @@ Reboots the instance. The URI takes optional ``type=hard|soft|full`` and ``ignore_secondaries=False|True`` parameters. +It supports the ``dry-run`` argument. + + ``/2/instances/[instance_name]/shutdown`` +++++++++++++++++++++++++++++++++++++++++ @@ -272,6 +307,8 @@ It supports the following commands: ``PUT``. Shutdowns an instance. +It supports the ``dry-run`` argument. + ``/2/instances/[instance_name]/startup`` ++++++++++++++++++++++++++++++++++++++++ @@ -288,6 +325,9 @@ Startup an instance. The URI takes an optional ``force=False|True`` parameter to start the instance if even if secondary disks are failing. +It supports the ``dry-run`` argument. + + ``/2/instances/[instance_name]/tags`` +++++++++++++++++++++++++++++++++++++ @@ -312,6 +352,9 @@ Add a set of tags. The request as a list of strings should be ``PUT`` to this URI. The result willl be a job id. +It supports the ``dry-run`` argument. + + ``DELETE`` ~~~~~~~~~~ @@ -322,6 +365,9 @@ addressed to URI like:: /tags?tag=[tag]&tag=[tag] +It supports the ``dry-run`` argument. + + ``/2/jobs`` +++++++++++ @@ -436,6 +482,8 @@ Add a set of tags. The request as a list of strings should be PUT to this URI. The result will be a job id. +It supports the ``dry-run`` argument. + ``DELETE`` ~~~~~~~~~~ @@ -446,6 +494,9 @@ addressed to URI like:: /tags?tag=[tag]&tag=[tag] +It supports the ``dry-run`` argument. + + ``/2/os`` +++++++++ @@ -490,6 +541,9 @@ Adds a set of tags. The request as a list of strings should be PUT to this URI. The result will be a job id. +It supports the ``dry-run`` argument. + + ``DELETE`` ~~~~~~~~~~ @@ -500,6 +554,9 @@ addressed to URI like:: /tags?tag=[tag]&tag=[tag] +It supports the ``dry-run`` argument. + + ``/version`` ++++++++++++