From 129d3e8ddce850c6b9ae11e8583a78a2ff19b042 Mon Sep 17 00:00:00 2001 From: n00b42 Date: Tue, 31 Jan 2023 12:29:27 +0100 Subject: [PATCH] feat: add private_networks_info containing name and private ip in server responses (#183) Co-authored-by: Maximilian Senftleben --- plugins/modules/hcloud_server.py | 7 +++++++ plugins/modules/hcloud_server_info.py | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/plugins/modules/hcloud_server.py b/plugins/modules/hcloud_server.py index 64deab8..98fb16b 100644 --- a/plugins/modules/hcloud_server.py +++ b/plugins/modules/hcloud_server.py @@ -283,6 +283,12 @@ hcloud_server: type: list elements: str sample: ['my-network', 'another-network', '4711'] + private_networks_info: + description: List of private networks the server is attached to (dict with name and ip) + returned: always + type: list + elements: dict + sample: [{'name': 'my-network', 'ip': '192.168.1.1'}, {'name': 'another-network', 'ip': '10.185.50.40'}] location: description: Name of the location of the server returned: always @@ -369,6 +375,7 @@ class AnsibleHcloudServer(Hcloud): "ipv4_address": ipv4_address, "ipv6": ipv6, "private_networks": [to_native(net.network.name) for net in self.hcloud_server.private_net], + "private_networks_info": [{"name": to_native(net.network.name), "ip": net.ip} for net in self.hcloud_server.private_net], "image": image, "server_type": to_native(self.hcloud_server.server_type.name), "datacenter": to_native(self.hcloud_server.datacenter.name), diff --git a/plugins/modules/hcloud_server_info.py b/plugins/modules/hcloud_server_info.py index 908f188..bc0064d 100644 --- a/plugins/modules/hcloud_server_info.py +++ b/plugins/modules/hcloud_server_info.py @@ -93,6 +93,12 @@ hcloud_server_info: type: list elements: str sample: ['my-network', 'another-network'] + private_networks_info: + description: List of private networks the server is attached to (dict with name and ip) + returned: always + type: list + elements: dict + sample: [{'name': 'my-network', 'ip': '192.168.1.1'}, {'name': 'another-network', 'ip': '10.185.50.40'}] location: description: Name of the location of the server returned: always @@ -168,6 +174,7 @@ class AnsibleHcloudServerInfo(Hcloud): "ipv4_address": ipv4_address, "ipv6": ipv6, "private_networks": [to_native(net.network.name) for net in server.private_net], + "private_networks_info": [{"name": to_native(net.network.name), "ip": net.ip} for net in server.private_net], "image": image, "server_type": to_native(server.server_type.name), "datacenter": to_native(server.datacenter.name),