1
0
Fork 0
mirror of https://github.com/ansible-collections/hetzner.hcloud.git synced 2026-02-04 08:01:49 +00:00

feat: improve hcloud library exceptions handling (#243)

This commit is contained in:
Jonas L 2023-07-20 14:34:48 +02:00 committed by GitHub
parent 8243d25710
commit c15377c672
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
32 changed files with 408 additions and 169 deletions

View file

@ -94,6 +94,9 @@ hcloud_load_balancer_network:
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.text.converters import to_native
from ansible_collections.hetzner.hcloud.plugins.module_utils.hcloud import Hcloud
from ansible_collections.hetzner.hcloud.plugins.module_utils.vendor.hcloud import (
HCloudException,
)
class AnsibleHcloudLoadBalancerNetwork(Hcloud):
@ -123,8 +126,8 @@ class AnsibleHcloudLoadBalancerNetwork(Hcloud):
self.module.fail_json(msg="Load balancer does not exist: %s" % load_balancer_name)
self.hcloud_load_balancer_network = None
except Exception as e:
self.module.fail_json(msg=e.message)
except HCloudException as e:
self.fail_json_hcloud(e)
def _get_load_balancer_network(self):
for privateNet in self.hcloud_load_balancer.private_net:
@ -132,9 +135,7 @@ class AnsibleHcloudLoadBalancerNetwork(Hcloud):
self.hcloud_load_balancer_network = privateNet
def _create_load_balancer_network(self):
params = {
"network": self.hcloud_network,
}
params = {"network": self.hcloud_network}
if self.module.params.get("ip") is not None:
params["ip"] = self.module.params.get("ip")
@ -142,8 +143,8 @@ class AnsibleHcloudLoadBalancerNetwork(Hcloud):
if not self.module.check_mode:
try:
self.hcloud_load_balancer.attach_to_network(**params).wait_until_finished()
except Exception as e:
self.module.fail_json(msg=e.message)
except HCloudException as e:
self.fail_json_hcloud(e)
self._mark_as_changed()
self._get_load_balancer_and_network()
@ -165,8 +166,8 @@ class AnsibleHcloudLoadBalancerNetwork(Hcloud):
self.hcloud_load_balancer_network.network
).wait_until_finished()
self._mark_as_changed()
except Exception as e:
self.module.fail_json(msg=e.message)
except HCloudException as e:
self.fail_json_hcloud(e)
self.hcloud_load_balancer_network = None