+
+
+##############################
+## Server methods here for now
+##############################
+
+ def nodes(self):
+ return self..get_components()
+
+ #def slices(self):
+ # return self.get_slices()
+
+ def resources(self, cred, hrn):
+ self.decode_authentication(cred, 'info')
+ self.verify_object_belongs_to_me(hrn)
+
+ return self.get_resources(hrn)
+
+ def create(self, cred, hrn, rspec):
+ self.decode_authentication(cred, 'embed')
+ self.verify_object_belongs_to_me(hrn)
+ return self.create(hrn)
+
+ def update(self, cred, hrn, rspec):
+ self.decode_authentication(cred, 'embed')
+ self.verify_object_belongs_to_me(hrn)
+ return self.update(hrn)
+
+ def delete(self, cred, hrn):
+ self.decode_authentication(cred, 'embed')
+ self.verify_object_belongs_to_me(hrn)
+ return self.delete_slice(hrn)
+
+ def start(self, cred, hrn):
+ self.decode_authentication(cred, 'control')
+ return self.start(hrn)
+
+ def stop(self, cred, hrn):
+ self.decode_authentication(cred, 'control')
+ return self.stop(hrn)
+
+ def reset(self, cred, hrn):
+ self.decode_authentication(cred, 'control')
+ return self.reset(hrn)
+
+ def policy(self, cred):
+ self.decode_authentication(cred, 'info')
+ return self.get_policy()
+
+ def register_functions(self):
+ GeniServer.register_functions(self)
+
+ # Aggregate interface methods
+ self.server.register_function(self.components)
+ #self.server.register_function(self.slices)
+ self.server.register_function(self.resources)
+ self.server.register_function(self.create)
+ self.server.register_function(self.delete)
+ self.server.register_function(self.start)
+ self.server.register_function(self.stop)
+ self.server.register_function(self.reset)
+ self.server.register_function(self.policy)
+