change cli to use (type, hrn) instead of record in remove calls
[sfa.git] / plc / aggregateServer.py
1
2 from geniserver import *
3 from cert import *
4 from trustedroot import *
5 from excep import *
6 from aggregate import *
7
8 class AggregateServer(GeniServer):
9
10     def __init__(self, ip, port, key_file, cert_file):
11         GeniServer.__init__(self, ip, port, key_file, cert_file)
12         self.aggregate = Aggregate(hrn)
13
14     def nodes(self):
15         return self.aggregate.get_components
16     
17     def slices(self):
18         return self.aggregate.get_slices
19
20     def resources(self, cred, hrn):
21         self.decode_authentication(cred, 'info')
22         self.verify_object_belongs_to_me(hrn)
23         
24         return self.aggregate.get_resources(hrn)
25
26     def create(self, cred, hrn, rspec):
27         self.decode_authentication(cred, 'embed')
28         self.verify_object_belongs_to_me(hrn, rspec)
29         return self.aggregate.create(hrn)
30
31     def delete(self, cred, hrn):
32         self.decode_authentication(cred, 'embed')
33         self.verify_object_belongs_to_me(hrn)
34         return self.aggregate.delete_slice(hrn)
35
36     def start(self, cred, hrn):
37         self.decode_authentication(cred, 'control')
38         return self.aggregaet.start(hrn)
39
40     def stop(self, cred, hrn):
41         self.decode_authentication(cred, 'control')
42         return self.aggregate.stop(hrn)         
43
44     def reset(self, cred, hrn):
45         self.decode_authentication(cred, 'control')
46         return self.aggregate.reset(hrn)
47
48     def policy(self, cred):
49         self.decode_authentication(cred, 'info')
50         return self.aggregate.get_policy()
51
52     def register_functions(self):
53         GeniServer.register_functions(self)
54
55         # Aggregate interface methods
56         self.server.register_function(self.components)
57         self.server.register_function(self.slices)   
58         self.server.register_function(self.resources)   
59         self.server.register_function(self.create)   
60         self.server.register_function(self.delete)   
61         self.server.register_function(self.start)   
62         self.server.register_function(self.stop)
63         self.server.register_function(self.reset)   
64         self.server.register_function(self.policy)   
65