def slices(opts, args):
global slicemgr
user_cred = get_user_cred()
- results = slicemgr.slices(user_cred)
+ results = slicemgr.get_slices(user_cred)
display_list(results)
return
global slicemgr
if args:
slice_cred = get_slice_cred(args[0])
- result = slicemgr.resources(slice_cred, args[0])
+ result = slicemgr.get_resources(slice_cred, args[0])
else:
user_cred = get_user_cred()
- result = slicemgr.resources(user_cred)
+ result = slicemgr.get_resources(user_cred)
format = opts.format
display_rspec(result, format)
if (opts.file is not None):
--- /dev/null
+from geni.util.faults import *
+from geni.util.excep import *
+from geni.util.method import Method
+from geni.util.parameter import Parameter, Mixed
+from geni.util.auth import Auth
+from geni.util.nodes import Nodes
+
+class get_resources(Method):
+ """
+ Get an resource specification (rspec). The rspec may describe the resources
+ available at an authority or the resources being used by a slice.
+
+ @param cred credential string specifying the rights of the caller
+ @param hrn human readable name of the slice we are interesed in or None
+ for an authority.
+ """
+
+ interfaces = ['aggregate', 'slicemgr']
+
+ accepts = [
+ Parameter(str, "Credential string"),
+ Mixed(Parameter(str, "Human readable name (hrn)"),
+ Parameter(None, "hrn not specified"))
+ ]
+
+ returns = Parameter(str, "String representatin of an rspec")
+
+ def call(self, cred, hrn=None):
+
+ self.api.auth.check(cred, 'listnodes')
+ nodes = Nodes(self.api)
+ if hrn:
+ rspec = nodes.get_rspec(hrn)
+ else:
+ nodes.refresh()
+ rspec = nodes['rspec']
+
+ return rspec
--- /dev/null
+from geni.util.faults import *
+from geni.util.excep import *
+from geni.util.misc import *
+from geni.util.method import Method
+from geni.util.parameter import Parameter, Mixed
+from geni.util.auth import Auth
+from geni.util.slices import Slices
+
+class get_slices(Method):
+ """
+ Get a list of instantiated slices at this authority.
+
+ @param cred credential string specifying the rights of the caller
+ @return list of human readable slice names (hrn).
+ """
+
+ interfaces = ['aggregate', 'slicemgr']
+
+ accepts = [
+ Parameter(str, "Credential string"),
+ ]
+
+ returns = [Parameter(str, "Human readable slice name (hrn)")]
+
+ def call(self, cred):
+
+ self.api.auth.check(cred, 'listslices')
+ slices = Slices(self.api)
+ slices.refresh()
+ return slices['hrn']
# @param cred a credential
# @param hrn slice hrn
- def resources(self, cred, hrn=None):
- result = self.server.resources(cred.save_to_string(save_parents=True), hrn)
+ def get_resources(self, cred, hrn=None):
+ result = self.server.get_resources(cred.save_to_string(save_parents=True), hrn)
return result
## get policy
#
# @return a list of slice names
- def slices(self, cred):
- result = self.server.slices(cred.save_to_string(save_parents=True))
+ def get_slices(self, cred):
+ result = self.server.get_slices(cred.save_to_string(save_parents=True))
return result
##