added resources implementation
[sfa.git] / sfa / clientbin / sfaadmin.py
index eb616f7..1531886 100755 (executable)
@@ -49,7 +49,7 @@ class RegistryCommands(Commands):
     @args('-t', '--type', dest='type', metavar='<type>', help='object type', default=None) 
     @args('-o', '--outfile', dest='outfile', metavar='<outfile>', help='save record to file') 
     @args('-f', '--format', dest='format', metavar='<display>', type='choice', 
-          choices=('text', 'xml', 'summary'), help='display record in different formats') 
+          choices=('text', 'xml', 'simple'), help='display record in different formats') 
     def show(self, xrn, type=None, format=None, outfile=None):
         records = self.api.manager.Resolve(self.api, xrn, type, True)
         for record in records:
@@ -70,12 +70,14 @@ class RegistryCommands(Commands):
         xrn = Xrn(xrn, type)
         self.api.manager.Remove(self.api, xrn)            
 
-    def credential(self, xrn):
-        pass
-
-    def gid(self, xrn):
-        pass
 
+    @args('-x', '--xrn', dest='xrn', metavar='<xrn>', help='object hrn/urn') 
+    @args('-t', '--type', dest='type', metavar='<type>', help='object type', default=None) 
+    def credential(self, xrn, type=None):
+        cred = self.api.manager.GetCredential(self.api, xrn, type, self.api.hrn)
+        print cred
+    
+    
 class CerficiateCommands(Commands):
     
     def import_records(self, xrn):
@@ -108,9 +110,16 @@ class AggregateCommands(Commands):
         status = self.api.manager.SliverStatus(self.api, urn, [], {})
         pprinter.pprint(status)
  
-    def resources(self, xrn):
-        pass
-
+    @args('-x', '--xrn', dest='xrn', metavar='<xrn>', help='object hrn/urn', default=None)
+    @args('-r', '--rspec-version', dest='rspec_version', metavar='<rspec_version>', 
+          default='GENI', help='version/format of the resulting rspec response')  
+    def resources(self, xrn=None, rspec_version='GENI'):
+        options = {'geni_rspec_version': rspec_version}
+        if xrn:
+            options['geni_slice_urn'] = xrn
+        resources = self.api.manager.ListResources(self.api, [], options)
+        pprinter.pprint(resources)
+        
     def create(self, xrn, rspec):
         pass