# 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: setup ensure floating ip is absent hcloud_floating_ip: name: "{{ hcloud_floating_ip_name }}" state: absent - name: setup floating ip hcloud_floating_ip: name: "{{ hcloud_floating_ip_name }}" home_location: "fsn1" type: ipv4 labels: key: value register: test_floating_ip - name: verify setup floating ip assert: that: - test_floating_ip is changed - name: test gather hcloud floating ip infos hcloud_floating_ip_info: register: hcloud_floating_ips - name: verify test gather hcloud floating ip infos assert: that: - hcloud_floating_ips.hcloud_floating_ip_info| list | count >= 1 - name: test gather hcloud floating ip infos in check mode hcloud_floating_ip_info: check_mode: yes register: hcloud_floating_ips - name: verify test gather hcloud floating ip infos in check mode assert: that: - hcloud_floating_ips.hcloud_floating_ip_info| list | count >= 1 - name: test gather hcloud floating ip infos with correct label selector hcloud_floating_ip_info: label_selector: "key=value" register: hcloud_floating_ips - name: verify test gather hcloud floating ip with correct label selector assert: that: - hcloud_floating_ips.hcloud_floating_ip_info|selectattr('name','equalto','{{ test_floating_ip.hcloud_floating_ip.name }}') | list | count == 1 - name: test gather hcloud floating ip infos with wrong label selector hcloud_floating_ip_info: label_selector: "key!=value" register: hcloud_floating_ips - name: verify test gather hcloud floating ip with wrong label selector assert: that: - hcloud_floating_ips.hcloud_floating_ip_info | list | count == 0 - name: test gather hcloud floating ip infos with correct id hcloud_floating_ip_info: id: "{{test_floating_ip.hcloud_floating_ip.id}}" register: hcloud_floating_ips - name: verify test gather hcloud floating ip with correct id assert: that: - hcloud_floating_ips.hcloud_floating_ip_info|selectattr('name','equalto','{{ test_floating_ip.hcloud_floating_ip.name }}') | list | count == 1 - name: test gather hcloud floating ip infos with wrong id hcloud_floating_ip_info: id: "{{test_floating_ip.hcloud_floating_ip.id}}1" register: result ignore_errors: yes - name: verify test gather hcloud floating ip with wrong id assert: that: - result is failed - name: cleanup hcloud_floating_ip: id: "{{ test_floating_ip.hcloud_floating_ip.id }}" state: absent register: result - name: verify cleanup assert: that: - result is success