ansible/test/integration/targets/azure_rm_publicipaddress/tasks/main.yml

113 lines
3 KiB
YAML

- name: Create domain name
set_fact:
domain_name: "ansible-{{ resource_group | hash('md5') | truncate(24, True, '') }}"
rpfx: "{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}"
- name: Remove public ip
azure_rm_publicipaddress:
resource_group: "{{ resource_group }}"
name: "pip{{ rpfx }}"
state: absent
- name: Create public ip
azure_rm_publicipaddress:
resource_group: "{{ resource_group }}"
name: "pip{{ rpfx }}"
allocation_method: Static
domain_name: "{{ domain_name }}"
tags:
testing: testing
delete: on-exit
register: output
- assert:
that:
- output.state.public_ip_allocation_method == 'static'
- output.state.dns_settings.domain_name_label == domain_name
- output.state.tags | length == 2
- output.state.tags.testing == 'testing'
- name: Should be idempotent
azure_rm_publicipaddress:
resource_group: "{{ resource_group }}"
name: "pip{{ rpfx }}"
allocation_method: static
domain_name: "{{ domain_name }}"
register: output
- assert:
that: not output.changed
- name: Update tags
azure_rm_publicipaddress:
resource_group: "{{ resource_group }}"
name: "pip{{ rpfx }}"
allocation_method: static
domain_name: "{{ domain_name }}"
append_tags: yes
tags:
delete: never
foo: bar
register: output
- assert:
that:
- output.state.tags | length == 3
- output.state.tags.delete == 'never'
- name: Gather facts, filtering by tag
azure_rm_publicipaddress_facts:
resource_group: "{{ resource_group }}"
tags:
- testing
- foo:bar
- assert:
that: azure_publicipaddresses | length == 1
- name: Purge all tags
azure_rm_publicipaddress:
resource_group: "{{ resource_group }}"
name: "pip{{ rpfx }}"
allocation_method: static
domain_name: "{{ domain_name }}"
append_tags: no
register: output
- assert:
that:
- output.state.tags | length == 0
- name: Gather facts for a public ip
azure_rm_publicipaddress_facts:
resource_group: "{{ resource_group }}"
name: "pip{{ rpfx }}"
register: pip
- assert:
that:
- "pip.publicipaddresses | length == 1"
- pip.publicipaddresses[0].name == "pip{{ rpfx }}"
- pip.publicipaddresses[0].allocation_method == 'static'
- pip.publicipaddresses[0].dns_settings.domain_name_label == domain_name
- name: Gather facts for all public ips
azure_rm_publicipaddress_facts:
resource_group: "{{ resource_group }}"
- assert:
that: azure_publicipaddresses | length > 0
- name: Remove public ip
azure_rm_publicipaddress:
resource_group: "{{ resource_group }}"
name: "pip{{ rpfx }}"
state: absent
- name: Gather facts for a public ip
azure_rm_publicipaddress_facts:
resource_group: "{{ resource_group }}"
name: "pip{{ rpfx }}"
- assert:
that: azure_publicipaddresses | length == 0