186 lines
4.5 KiB
YAML
186 lines
4.5 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: 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
|
|
tags:
|
|
testing: testing
|
|
delete: on-fini
|
|
|
|
- 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"
|
|
security_group: secgroupfoo
|
|
service_endpoints:
|
|
- service: Microsoft.Sql
|
|
locations:
|
|
- eastus
|
|
- westus
|
|
tags:
|
|
testing: testing
|
|
delete: on-fini
|
|
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 }}"
|
|
tags:
|
|
testing: testing
|
|
delete: on-fini
|
|
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"
|
|
route_table: "{{ route_table.id }}"
|
|
security_group: "{{ nsg.state.id }}"
|
|
tags:
|
|
testing: testing
|
|
delete: on-fini
|
|
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
|