X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FAdmAddNodeGroup.py;h=6bbb59e4ec0d1280c02ff7ba1ad57a53a56f8ce7;hb=refs%2Fheads%2Fplanetlab-4_0-branch;hp=38f7df60ccc74700787ed578dea13f21b0ca1cf5;hpb=5ac399f349470a15dc57d7261c97a69a17059f9f;p=plcapi.git diff --git a/PLC/Methods/AdmAddNodeGroup.py b/PLC/Methods/AdmAddNodeGroup.py index 38f7df6..6bbb59e 100644 --- a/PLC/Methods/AdmAddNodeGroup.py +++ b/PLC/Methods/AdmAddNodeGroup.py @@ -1,53 +1,22 @@ -# NodeGroup.validate_name() changes name to null. This causes database error - - from PLC.Faults import * from PLC.Method import Method from PLC.Parameter import Parameter, Mixed -from PLC.Nodes import Node, Nodes from PLC.NodeGroups import NodeGroup, NodeGroups -#from PLC.Sites import Site, Sites -from PLC.Auth import PasswordAuth +from PLC.Auth import Auth +from PLC.Methods.AddNodeGroup import AddNodeGroup -class AdmAddNodeGroup(Method): +class AdmAddNodeGroup(AddNodeGroup): """ - Adds a new node group. Any values specified in optional_vals are used, - otherwise defaults are used. - - Returns the new node_id (> 0) if successful, faults otherwise. + Deprecated. See AddNodeGroup. """ - roles = ['admin'] - - can_update = lambda (field, value): field in \ - ['model', 'version'] - update_fields = dict(filter(can_update, NodeGroup.fields.items())) + status = "deprecated" accepts = [ - PasswordAuth(), + Auth(), NodeGroup.fields['name'], - NodeGroup.fields['description'], - NodeGroup.fields['is_custom'], - update_fields + NodeGroup.fields['description'] ] - returns = Parameter(int, '1 if successful') - - def call(self, auth, name, description, optional_vals = {}): - if filter(lambda field: field not in self.update_fields, optional_vals): - raise PLCInvalidArgument, "Invalid fields specified" - - # Authenticated function - assert self.caller is not None - - # make sure we are 'admin' - if 'admin' not in self.caller['roles']: - raise PLCPermissionDenied, "Not allowed to add node groups" - - #creat node group - node_group = NodeGroup(self.api, optional_vals) - node_group['name'] = name - node_group['description'] = description - node_group.flush() - - return node_group['nodegroup_id'] + def call(self, auth, name, description): + return AddNodeGroup.call(self, auth, {'name': name, 'description': description})