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_subnet/tasks/main.yml

183 lines
4.4 KiB
YAML

- name: Create virtual network
azure_rm_virtualnetwork:
name: My_Virtual_Network
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 }}"
- name: Create route table
azure_rm_routetable:
name: routetableforsubnet
resource_group: "{{ resource_group }}"
register: route_table
- name: Remove subnet
azure_rm_subnet:
state: absent
name: foobar
virtual_network_name: My_Virtual_Network
resource_group: "{{ resource_group }}"
- name: Catch invalid cidr
azure_rm_subnet:
name: foobar
virtual_network_name: My_Virtual_Network
resource_group: "{{ resource_group }}"
address_prefix_cidr: "10.1.0/24"
register: output
ignore_errors: yes
- assert:
that: output.failed
- name: Add the subnet back
azure_rm_subnet:
name: foobar
virtual_network_name: My_Virtual_Network
resource_group: "{{ resource_group }}"
address_prefix_cidr: "10.1.0.0/24"
register: output
- assert:
that: output.changed
- name: Add the subnet back (idempontent)
azure_rm_subnet:
name: foobar
virtual_network_name: My_Virtual_Network
resource_group: "{{ resource_group }}"
register: output
- assert:
that: not output.changed
- name: Create network security group
azure_rm_securitygroup:
name: secgroupfoo
resource_group: "{{ resource_group }}"
tags:
testing: testing
- name: Update the subnet
azure_rm_subnet:
name: foobar
virtual_network_name: My_Virtual_Network
resource_group: "{{ resource_group }}"
address_prefix_cidr: "10.1.0.0/16"
security_group: secgroupfoo
service_endpoints:
- service: Microsoft.Sql
locations:
- eastus
- westus
- name: Should be idempotent
azure_rm_subnet:
name: foobar
virtual_network_name: My_Virtual_Network
resource_group: "{{ resource_group }}"
address_prefix_cidr: "10.1.0.0/16"
service_endpoints:
- service: Microsoft.Sql
locations:
- eastus
- westus
register: output
- assert:
that: not output.changed
- name: Create network security group in another resource group
azure_rm_securitygroup:
name: secgroupfoo
resource_group: "{{ resource_group_secondary }}"
register: nsg
- name: Update the subnet
azure_rm_subnet:
name: foobar
virtual_network_name: My_Virtual_Network
resource_group: "{{ resource_group }}"
address_prefix_cidr: "10.1.0.0/16"
route_table: "{{ route_table.id }}"
security_group:
name: secgroupfoo
resource_group: "{{ resource_group_secondary }}"
register: output
- assert:
that:
- output.changed
- output.state.network_security_group.id == nsg.state.id
- name: Update the subnet (idempotent)
azure_rm_subnet:
name: foobar
virtual_network_name: My_Virtual_Network
resource_group: "{{ resource_group }}"
address_prefix_cidr: "10.1.0.0/16"
security_group: "{{ nsg.state.id }}"
register: output
- assert:
that: not output.changed
- name: Get subnet facts
azure_rm_subnet_facts:
name: foobar
virtual_network_name: My_Virtual_Network
resource_group: "{{ resource_group }}"
register: output
- debug:
var: output
- name: Assert that facts are returned
assert:
that:
- output.changed == False
- output.subnets[0]['id'] != None
- output.subnets[0]['resource_group'] != None
- output.subnets[0]['virtual_network_name'] != None
- output.subnets[0]['name'] != None
- output.subnets[0]['address_prefix_cidr'] != None
- output.subnets[0]['route_table'] != None
- output.subnets[0]['security_group'] != None
- output.subnets[0]['provisioning_state'] != None
- name: Remove subnet
azure_rm_subnet:
state: absent
name: foobar
virtual_network_name: My_Virtual_Network
resource_group: "{{ resource_group }}"
- name: Remove subnet (idempotent)
azure_rm_subnet:
state: absent
name: foobar
virtual_network_name: My_Virtual_Network
resource_group: "{{ resource_group }}"
register: output
- assert:
that: not output.changed
- name: Remove security group
azure_rm_securitygroup:
resource_group: "{{ resource_group }}"
name: secgroupfoo
state: absent
- name: Remove virtual network
azure_rm_virtualnetwork:
name: My_Virtual_Network
resource_group: "{{ resource_group }}"
state: absent