Implement DeleteKey.
authorMarco Yuen <marcoy@gmail.com>
Mon, 1 Oct 2012 14:29:14 +0000 (10:29 -0400)
committerMarco Yuen <marcoy@gmail.com>
Mon, 1 Oct 2012 14:29:14 +0000 (10:29 -0400)
PLC/Keys.py

index 60c39ff..35db303 100644 (file)
@@ -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):