From d946a65665905f6f49a7cca0b7ba0044164bbbb8 Mon Sep 17 00:00:00 2001 From: John Lotoski Date: Fri, 3 Jul 2020 14:50:29 -0400 Subject: [PATCH] Allows destroying a keypair which is no longer found --- nixops_packet/resources/keypair.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/nixops_packet/resources/keypair.py b/nixops_packet/resources/keypair.py index 456a9f3..6db537b 100644 --- a/nixops_packet/resources/keypair.py +++ b/nixops_packet/resources/keypair.py @@ -144,9 +144,20 @@ def keypair_used() -> Optional[nixops_packet.backends.device.PacketState]: ): return False - if self.state == self.UP: - self.log("deleting Packet.net key pair ‘{0}’...".format(self.keypair_name)) - kp = self._connection().get_ssh_key(self.keypair_id) - kp.delete() - + try: + if self.state == self.UP: + self.log( + "deleting Packet.net key pair ‘{0}’...".format(self.keypair_name) + ) + kp = self._connection().get_ssh_key(self.keypair_id) + kp.delete() + except packet.baseapi.Error as e: + print(e.args[0]) + if e.args[0] == "Error 404: Not found": + print(e) + self.log( + "An error occurred destroying key pair. Assuming it's been destroyed already." + ) + else: + raise e return True