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

refactor: reuse private_net_for

This commit is contained in:
jo 2025-11-07 20:27:16 +01:00
parent 57930767ab
commit 930030b433
No known key found for this signature in database
GPG key ID: B2FEC9B22722B984
2 changed files with 7 additions and 24 deletions

View file

@ -127,6 +127,8 @@ class AnsibleHCloudLoadBalancerNetwork(AnsibleHCloud):
def _get_load_balancer_and_network(self):
try:
self.hcloud_load_balancer_network = None
self.hcloud_network = self._client_get_by_name_or_id(
"networks",
self.module.params.get("network"),
@ -135,17 +137,10 @@ class AnsibleHCloudLoadBalancerNetwork(AnsibleHCloud):
"load_balancers",
self.module.params.get("load_balancer"),
)
self.hcloud_load_balancer_network = None
self.hcloud_load_balancer_network = self.hcloud_load_balancer.private_net_for(self.hcloud_network)
except HCloudException as exception:
self.fail_json_hcloud(exception)
def _get_load_balancer_network(self):
self.hcloud_load_balancer_network = None
for private_net in self.hcloud_load_balancer.private_net:
if private_net.network.id == self.hcloud_network.id:
self.hcloud_load_balancer_network = private_net
def _attach(self):
params = {
"network": self.hcloud_network,
@ -185,7 +180,6 @@ class AnsibleHCloudLoadBalancerNetwork(AnsibleHCloud):
self._attach()
self._get_load_balancer_and_network()
self._get_load_balancer_network()
def _update_load_balancer_network(self):
ip_range = self.module.params.get("ip_range")
@ -202,12 +196,10 @@ class AnsibleHCloudLoadBalancerNetwork(AnsibleHCloud):
# No further updates needed, exit
self._get_load_balancer_and_network()
self._get_load_balancer_network()
return
def present_load_balancer_network(self):
self._get_load_balancer_and_network()
self._get_load_balancer_network()
if self.hcloud_load_balancer_network is None:
self._create_load_balancer_network()
else:
@ -215,7 +207,6 @@ class AnsibleHCloudLoadBalancerNetwork(AnsibleHCloud):
def delete_load_balancer_network(self):
self._get_load_balancer_and_network()
self._get_load_balancer_network()
if self.hcloud_load_balancer_network is not None and self.hcloud_load_balancer is not None:
self._detach()
self.hcloud_load_balancer_network = None
@ -230,7 +221,7 @@ class AnsibleHCloudLoadBalancerNetwork(AnsibleHCloud):
# pylint: disable=disallowed-name
for _ in range(10):
self.hcloud_load_balancer.reload()
self._get_load_balancer_network()
self.hcloud_load_balancer_network = self.hcloud_load_balancer.private_net_for(self.hcloud_network)
if done(self.hcloud_load_balancer_network):
break

View file

@ -148,6 +148,8 @@ class AnsibleHCloudServerNetwork(AnsibleHCloud):
def _get_server_and_network(self):
try:
self.hcloud_server_network = None
self.hcloud_network = self._client_get_by_name_or_id(
"networks",
self.module.params.get("network"),
@ -156,15 +158,10 @@ class AnsibleHCloudServerNetwork(AnsibleHCloud):
"servers",
self.module.params.get("server"),
)
self.hcloud_server_network = None
self.hcloud_server_network = self.hcloud_server.private_net_for(self.hcloud_network)
except HCloudException as exception:
self.fail_json_hcloud(exception)
def _get_server_network(self):
for private_net in self.hcloud_server.private_net:
if private_net.network.id == self.hcloud_network.id:
self.hcloud_server_network = private_net
def _attach(self):
params = {
"network": self.hcloud_network,
@ -199,7 +196,6 @@ class AnsibleHCloudServerNetwork(AnsibleHCloud):
def _create_server_network(self):
self._attach()
self._get_server_and_network()
self._get_server_network()
def _update_server_network(self):
ip_range = self.module.params.get("ip_range")
@ -216,7 +212,6 @@ class AnsibleHCloudServerNetwork(AnsibleHCloud):
# No further updates needed, exit
self._get_server_and_network()
self._get_server_network()
return
params = {
@ -236,11 +231,9 @@ class AnsibleHCloudServerNetwork(AnsibleHCloud):
self._mark_as_changed()
self._get_server_and_network()
self._get_server_network()
def present_server_network(self):
self._get_server_and_network()
self._get_server_network()
if self.hcloud_server_network is None:
self._create_server_network()
else:
@ -248,7 +241,6 @@ class AnsibleHCloudServerNetwork(AnsibleHCloud):
def delete_server_network(self):
self._get_server_and_network()
self._get_server_network()
if self.hcloud_server_network is not None and self.hcloud_server is not None:
self._detach()
self.hcloud_server_network = None