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.
ansible/test/integration/targets/azure_rm_virtualnetwork/tasks/main.yml

182 lines
4.4 KiB
YAML

- 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