merging with geni-api branch
[sfa.git] / sfa / methods / GetVersion.py
1 from sfa.util.faults import *
2 from sfa.util.namespace import *
3 from sfa.util.method import Method
4 from sfa.util.parameter import Parameter
5
6
7 class GetVersion(Method):
8     """
9     Returns this GENI Aggregate Manager's Version Information
10     @return version
11     """
12     interfaces = ['geni_am','registry']
13     accepts = []
14     returns = Parameter(dict, "Version information")
15
16     def call(self):
17         self.api.logger.info("interface: %s\tmethod-name: %s" % (self.api.interface, self.name))
18
19         manager_base = 'sfa.managers'
20
21         if self.api.interface in ['geni_am']:
22             mgr_type = self.api.config.SFA_GENI_AGGREGATE_TYPE
23             manager_module = manager_base + ".geni_am_%s" % mgr_type
24             manager = __import__(manager_module, fromlist=[manager_base])
25             return manager.GetVersion()
26         if self.api.interface in ['registry']:
27             mgr_type = self.api.config.SFA_REGISTRY_TYPE
28             manager_module = manager_base + ".slice_manager_%s" % mgr_type
29             manager = __import__(manager_module, fromlist=[manager_base])
30             return manager.GetVersion()
31         
32         return {}
33