initial code repo
[stor4nfv.git] / src / ceph / src / pybind / mgr / restful / api / server.py
diff --git a/src/ceph/src/pybind/mgr/restful/api/server.py b/src/ceph/src/pybind/mgr/restful/api/server.py
new file mode 100644 (file)
index 0000000..9e6a207
--- /dev/null
@@ -0,0 +1,35 @@
+from pecan import expose
+from pecan.rest import RestController
+
+from restful import module
+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 module.instance.get_server(self.fqdn)
+
+
+
+class Server(RestController):
+    @expose(template='json')
+    @auth
+    def get(self, **kwargs):
+        """
+        Show the information for all the servers
+        """
+        return module.instance.list_servers()
+
+
+    @expose()
+    def _lookup(self, fqdn, *remainder):
+        return ServerFqdn(fqdn), remainder