mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
3.0 KiB
YAML
114 lines
3.0 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
|