# Copyright: (c) 2019, Hetzner Cloud GmbH # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) --- - name: Test missing required parameters # noqa: args[module] hetzner.hcloud.server_network: state: present ignore_errors: true register: result - name: Verify missing required parameters ansible.builtin.assert: that: - result is failed - 'result.msg == "missing required arguments: network, server"' - name: Test create with checkmode hetzner.hcloud.server_network: network: "{{ hcloud_network_name }}" server: "{{ hcloud_server_name }}" state: present check_mode: true register: result - name: Verify create with checkmode ansible.builtin.assert: that: - result is changed - name: Test create hetzner.hcloud.server_network: network: "{{ hcloud_network_name }}" server: "{{ hcloud_server_name }}" state: present register: result - name: Verify create ansible.builtin.assert: that: - result is changed - result.hcloud_server_network.network == hcloud_network_name - result.hcloud_server_network.server == hcloud_server_name - name: Test create idempotency hetzner.hcloud.server_network: network: "{{ hcloud_network_name }}" server: "{{ hcloud_server_name }}" state: present register: result - name: Verify create idempotency ansible.builtin.assert: that: - result is not changed - name: Test delete hetzner.hcloud.server_network: network: "{{ hcloud_network_name }}" server: "{{ hcloud_server_name }}" state: absent register: result - name: Verify delete ansible.builtin.assert: that: - result is changed - name: Test create with ip hetzner.hcloud.server_network: network: "{{ hcloud_network_name }}" server: "{{ hcloud_server_name }}" ip: "10.0.1.2" state: present register: result - name: Verify create with ip ansible.builtin.assert: that: - result is changed - result.hcloud_server_network.network == hcloud_network_name - result.hcloud_server_network.server == hcloud_server_name - result.hcloud_server_network.ip == "10.0.1.2" - name: Test delete with ip hetzner.hcloud.server_network: network: "{{ hcloud_network_name }}" server: "{{ hcloud_server_name }}" state: absent register: result - name: Verify delete with ip ansible.builtin.assert: that: - result is changed - name: Test create with alias ips hetzner.hcloud.server_network: network: "{{ hcloud_network_name }}" server: "{{ hcloud_server_name }}" ip: "10.0.1.2" alias_ips: - "10.0.1.10" - "10.0.1.11" state: present register: result - name: Verify create with alias ips ansible.builtin.assert: that: - result is changed - result.hcloud_server_network.network == hcloud_network_name - result.hcloud_server_network.server == hcloud_server_name - result.hcloud_server_network.ip == "10.0.1.2" - result.hcloud_server_network.alias_ips[0] == "10.0.1.10" - result.hcloud_server_network.alias_ips[1] == "10.0.1.11" - name: Test update with alias ips hetzner.hcloud.server_network: network: "{{ hcloud_network_name }}" server: "{{ hcloud_server_name }}" ip: "10.0.1.2" alias_ips: - "10.0.1.10" - "10.0.1.20" state: present register: result - name: Verify update with alias ips ansible.builtin.assert: that: - result is changed - result.hcloud_server_network.network == hcloud_network_name - result.hcloud_server_network.server == hcloud_server_name - result.hcloud_server_network.ip == "10.0.1.2" - result.hcloud_server_network.alias_ips[0] == "10.0.1.10" - result.hcloud_server_network.alias_ips[1] == "10.0.1.20" - name: Test update with alias ips idempotency hetzner.hcloud.server_network: network: "{{ hcloud_network_name }}" server: "{{ hcloud_server_name }}" ip: "10.0.1.2" alias_ips: - "10.0.1.10" - "10.0.1.20" state: present register: result - name: Verify update with alias ips idempotency ansible.builtin.assert: that: - result is not changed - name: Test delete with alias ips hetzner.hcloud.server_network: network: "{{ hcloud_network_name }}" server: "{{ hcloud_server_name }}" state: absent register: result - name: Verify delete with alias ips ansible.builtin.assert: that: - result is changed