summaryrefslogtreecommitdiffstats
path: root/src/pybind/mgr/restful/api/server.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/pybind/mgr/restful/api/server.py')
-rw-r--r--src/pybind/mgr/restful/api/server.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/pybind/mgr/restful/api/server.py b/src/pybind/mgr/restful/api/server.py
new file mode 100644
index 000000000..8ce634937
--- /dev/null
+++ b/src/pybind/mgr/restful/api/server.py
@@ -0,0 +1,35 @@
+from pecan import expose
+from pecan.rest import RestController
+
+from restful import context
+from restful.decorators import auth
+
+
+class ServerFqdn(RestController):
+ def __init__(self, fqdn):
+ self.fqdn = fqdn
+
+
+ @expose(template='json')
+ @auth
+ def get(self, **kwargs):
+ """
+ Show the information for the server fqdn
+ """
+ return context.instance.get_server(self.fqdn)
+
+
+
+class Server(RestController):
+ @expose(template='json')
+ @auth
+ def get(self, **kwargs):
+ """
+ Show the information for all the servers
+ """
+ return context.instance.list_servers()
+
+
+ @expose()
+ def _lookup(self, fqdn, *remainder):
+ return ServerFqdn(fqdn), remainder