diff --git a/doc/rapi.rst b/doc/rapi.rst index 92c923a9277f8592937510927d78d4abba7ff8dd..125221904595ad12663b694fa832c904a7c668c1 100644 --- a/doc/rapi.rst +++ b/doc/rapi.rst @@ -283,6 +283,20 @@ Deletes an instance. It supports the ``dry-run`` argument. +``/2/instances/[instance_name]/info`` ++++++++++++++++++++++++++++++++++++++++ + +It supports the following commands: ``GET``. + +``GET`` +~~~~~~~ + +Requests detailed information about the instance. An optional parameter, +``static`` (bool), can be set to return only static information from the +configuration without querying the instance's nodes. The result will be a job +id. + + ``/2/instances/[instance_name]/reboot`` +++++++++++++++++++++++++++++++++++++++ diff --git a/lib/rapi/connector.py b/lib/rapi/connector.py index 96d616e17454dd89909b17c913b826c7827bfbd1..168d960676857beb2acc601916ac83fb0aef5c2a 100644 --- a/lib/rapi/connector.py +++ b/lib/rapi/connector.py @@ -167,6 +167,8 @@ CONNECTOR.update({ rlib2.R_2_nodes_name_storage_repair, "/2/instances": rlib2.R_2_instances, re.compile(r'^/2/instances/([\w\._-]+)$'): rlib2.R_2_instances_name, + re.compile(r'^/2/instances/([\w\._-]+)/info$'): + rlib2.R_2_instances_name_info, re.compile(r'^/2/instances/([\w\._-]+)/tags$'): rlib2.R_2_instances_name_tags, re.compile(r'^/2/instances/([\w\._-]+)/reboot$'): rlib2.R_2_instances_name_reboot, diff --git a/lib/rapi/rlib2.py b/lib/rapi/rlib2.py index 72937c3b579fb014acd3b8799ea4dea197b6284a..3c6f227299d3724c0e4a5ce8a35bad7cfc76eb10 100644 --- a/lib/rapi/rlib2.py +++ b/lib/rapi/rlib2.py @@ -481,6 +481,22 @@ class R_2_instances_name(baserlib.R_Generic): return baserlib.SubmitJob([op]) +class R_2_instances_name_info(baserlib.R_Generic): + """/2/instances/[instance_name]/info resource. + + """ + def GET(self): + """Request detailed instance information. + + """ + instance_name = self.items[0] + static = bool(self._checkIntVariable("static", default=0)) + + op = opcodes.OpQueryInstanceData(instances=[instance_name], + static=static) + return baserlib.SubmitJob([op]) + + class R_2_instances_name_reboot(baserlib.R_Generic): """/2/instances/[instance_name]/reboot resource.