- name: Prepare random number set_fact: vnetname: "vnet{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}" - name: Delete virtual network, if it exists azure_rm_virtualnetwork: name: "{{ vnetname }}" resource_group: "{{ resource_group }}" state: absent - name: Create virtual network azure_rm_virtualnetwork: name: "{{ vnetname }}" address_prefixes_cidr: - 10.1.0.0/16 - 172.100.0.0/16 tags: testing: testing delete: on-exit resource_group: "{{ resource_group }}" - name: Create virtual network azure_rm_virtualnetwork: name: "{{ vnetname }}" address_prefixes_cidr: - 10.1.0.0/16 - 172.100.0.0/16 dns_servers: - 127.0.0.1 - 127.0.0.3 tags: testing: testing delete: on-exit resource_group: "{{ resource_group }}" register: output - assert: that: - "output.state.address_prefixes | length == 2" - "output.state.dns_servers | length == 2" - "output.state.tags.delete == 'on-exit'" - "output.state.tags | length == 2" - name: Attach a subnet azure_rm_subnet: resource_group: "{{ resource_group }}" name: "{{ vnetname }}" virtual_network_name: "{{ vnetname }}" address_prefix_cidr: "10.1.0.0/24" - name: Gather facts by name, tags azure_rm_virtualnetwork_facts: resource_group: "{{ resource_group }}" name: "{{ vnetname }}" tags: - testing register: facts - assert: that: - "azure_virtualnetworks | length == 1" - "facts.virtualnetworks | length == 1" - "facts.virtualnetworks[0].dns_servers | length == 2" - "facts.virtualnetworks[0].address_prefixes | length == 2" - "facts.virtualnetworks[0].subnets | length == 1" - name: Gather facts by resource group, tags azure_rm_virtualnetwork_facts: resource_group: "{{ resource_group }}" tags: - testing - assert: that: "azure_virtualnetworks | length >= 1" - name: Gather facts by tags azure_rm_virtualnetwork_facts: tags: - testing - assert: that: "azure_virtualnetworks | length >= 1" - name: Should be idempotent azure_rm_virtualnetwork: name: "{{ vnetname }}" address_prefixes_cidr: - 10.1.0.0/16 - 172.100.0.0/16 dns_servers: - 127.0.0.1 - 127.0.0.3 tags: testing: testing delete: on-exit resource_group: "{{ resource_group }}" register: output - assert: that: not output.changed - name: Update tags azure_rm_virtualnetwork: name: "{{ vnetname }}" tags: testing: 'no' delete: never foo: bar resource_group: "{{ resource_group }}" register: output - assert: that: output.state.tags | length == 3 - name: Purge tags azure_rm_virtualnetwork: name: "{{ vnetname }}" append_tags: no tags: testing: 'always' resource_group: "{{ resource_group }}" register: output - assert: that: - output.state.tags | length == 1 - output.state.tags.testing == 'always' - name: Should require address_prefixes_cidr when purge_address_prefixes azure_rm_virtualnetwork: name: "{{ vnetname }}" purge_address_prefixes: true resource_group: "{{ resource_group }}" register: output ignore_errors: yes - assert: that: output.failed - name: Purge address prefixes azure_rm_virtualnetwork: name: "{{ vnetname }}" address_prefixes_cidr: 10.1.0.0/16 purge_address_prefixes: true resource_group: "{{ resource_group }}" register: output - assert: that: - output.state.address_prefixes | length == 1 - output.state.address_prefixes[0] == '10.1.0.0/16' - output.state.dns_servers | length == 2 - output.state.dns_servers[0] == '127.0.0.1' - name: Purge DNS servers azure_rm_virtualnetwork: name: "{{ vnetname }}" purge_dns_servers: true resource_group: "{{ resource_group }}" register: output - assert: that: output.state['dns_servers'] is undefined - name: Gather facts azure_rm_virtualnetwork_facts: resource_group: "{{ resource_group }}" name: "{{ vnetname }}" register: facts - assert: that: - azure_virtualnetworks | length == 1 - facts.virtualnetworks | length == 1 - "facts.virtualnetworks[0].subnets | length == 1" - name: Delete virtual network azure_rm_virtualnetwork: name: "{{ vnetname }}" resource_group: "{{ resource_group }}" state: absent