X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FAdmAddNode.py;h=dda5c99d935b9542aeefcae2e3bceefa99dd4f4a;hb=a37a6d2be8acf14bd2b133f1db24fe4b8367908c;hp=8026a8f80788afde700f174a6f16c2e0190ef0f6;hpb=6705baeb8913af0c97c9db5be6f8676a7a532970;p=plcapi.git diff --git a/PLC/Methods/AdmAddNode.py b/PLC/Methods/AdmAddNode.py index 8026a8f..dda5c99 100644 --- a/PLC/Methods/AdmAddNode.py +++ b/PLC/Methods/AdmAddNode.py @@ -3,9 +3,12 @@ from PLC.Method import Method from PLC.Parameter import Parameter, Mixed from PLC.Nodes import Node, Nodes from PLC.Sites import Site, Sites -from PLC.Auth import PasswordAuth +from PLC.Auth import Auth from PLC.Methods.AddNode import AddNode +can_update = lambda (field, value): field in \ + ['model', 'version'] + class AdmAddNode(AddNode): """ Deprecated. See AddNode. @@ -13,15 +16,18 @@ class AdmAddNode(AddNode): status = "deprecated" + node_fields = dict(filter(can_update, Node.fields.items())) + accepts = [ - PasswordAuth(), - Mixed(Site.fields['site_id'], - Site.fields['login_base']), + Auth(), + Site.fields['site_id'], Node.fields['hostname'], Node.fields['boot_state'], - AddNode.update_fields + node_fields ] - def call(self, auth, site_id_or_login_base, hostname, boot_state, node_fields = {}): + def call(self, auth, site_id, hostname, boot_state, node_fields = {}): + node_fields['site_id'] = site_id + node_fields['hostname'] = hostname node_fields['boot_state'] = boot_state - return AddNode.call(self, auth, site_id_or_login_base, hostname, node_fields) + return AddNode.call(self, auth, node_fields)