From: Marco Yuen Date: Mon, 1 Oct 2012 14:29:14 +0000 (-0400) Subject: Implement DeleteKey. X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=d4e5ee446c9ebe25eafbf1f64e53d921e16c9f4a;p=plcapi.git Implement DeleteKey. --- diff --git a/PLC/Keys.py b/PLC/Keys.py index 60c39ff6..35db3034 100644 --- a/PLC/Keys.py +++ b/PLC/Keys.py @@ -27,6 +27,15 @@ class Key(NovaObject): 'peer_key_id': Parameter(int, "Foreign key identifier at peer", nullok = True), } + def sync(self, insert = False, validate = True): + NovaObject.sync(self, insert, validate) + if insert == True or self.key_id not in self: + self.object = self.api.client_shell.nova.keypairs.create(self.key_id, + self.key) + + def delete(self): + self.api.client_shell.nova.keypairs.delete(self.key_id) + def validate_key_type(self, key_type): key_types = [row['key_type'] for row in KeyTypes(self.api)] if key_type not in key_types: @@ -110,7 +119,7 @@ class Keys(NovaTable): if key_filter is not None: if isinstance(key_filter, (list, tuple, set, int, long)): keyPairs = filter(lambda kp: kp.uuid in key_filter, - keysManager.findall()) + keysManager.findall()) elif isinstance(key_filter, dict): keyPairs = keysManager.findall(**key_filter) elif isinstnace(key_filter, StringTypes):