Add route table and route module (#41175)

* add route module

* add test

* add table

* add  route table

* fix dict

* fix

* fix

* route  table accept no name

* add default

* fix

* fix

* fix

* fix pep

* support route table

* fix line ending

* fix pep

* fix

* fix

* set the default to 'None'

* make return value only id

* camel and snake

* set test alias

* change facts line ending

* change test

* fix

* add default

* fix

* fix line break

* remove unsafe args

* fix comment

* fix
This commit is contained in:
Yuwei Zhou
2018-08-23 06:24:57 +08:00
committed by Matt Davis
parent 6da6652e6b
commit fff5fb2077
8 changed files with 853 additions and 2 deletions

View File

@@ -0,0 +1,3 @@
cloud/azure
shippable/azure/group4
destructive

View File

@@ -0,0 +1,2 @@
dependencies:
- setup_azure

View File

@@ -0,0 +1,183 @@
- name: Prepare random number
set_fact:
name: "table{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}"
route_name: "route{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}"
run_once: yes
- name: Create a route table (check mode)
azure_rm_routetable:
name: "{{ name }}"
resource_group: "{{ resource_group }}"
tags:
purpose: testing
check_mode: yes
register: output
- assert:
that:
- not output.id
- output.changed
- name: Create a route table
azure_rm_routetable:
name: "{{ name }}"
resource_group: "{{ resource_group }}"
tags:
purpose: testing
register: output
- assert:
that:
- output.changed
- output.id
- name: Create a route table (idemponent)
azure_rm_routetable:
name: "{{ name }}"
resource_group: "{{ resource_group }}"
tags:
purpose: testing
register: output
- assert:
that:
- not output.changed
- name: Get facts of the table
azure_rm_routetable_facts:
name: "{{ name }}"
resource_group: "{{ resource_group }}"
register: output
- assert:
that:
- "output.route_tables | length == 1"
- "output.route_tables[0].routes | length == 0"
- name: Create route (check mode)
azure_rm_route:
name: "{{ route_name }}"
resource_group: "{{ resource_group }}"
next_hop_type: virtual_network_gateway
address_prefix: "10.1.0.0/16"
route_table_name: "{{ name }}"
check_mode: yes
register: output
- assert:
that:
- output.changed
- not output.id
- name: Create route
azure_rm_route:
name: "{{ route_name }}"
resource_group: "{{ resource_group }}"
next_hop_type: virtual_network_gateway
address_prefix: "10.1.0.0/16"
route_table_name: "{{ name }}"
register: output
- assert:
that:
- output.changed
- output.id
- name: Create route (idemponent)
azure_rm_route:
name: "{{ route_name }}"
resource_group: "{{ resource_group }}"
next_hop_type: virtual_network_gateway
address_prefix: "10.1.0.0/16"
route_table_name: "{{ name }}"
register: output
- assert:
that:
- not output.changed
- name: update route
azure_rm_route:
name: "{{ route_name }}"
resource_group: "{{ resource_group }}"
next_hop_type: virtual_network_gateway
address_prefix: "10.1.0.0/24"
route_table_name: "{{ name }}"
register: output
- assert:
that:
- output.changed
- name: Get facts of the table
azure_rm_routetable_facts:
name: "{{ name }}"
resource_group: "{{ resource_group }}"
register: output
- assert:
that:
- "output.route_tables | length == 1"
- "output.route_tables[0].routes | length == 1"
- output.route_tables[0].routes[0].address_prefix == '10.1.0.0/24'
- name: Delete route (check mode)
azure_rm_route:
name: "{{ route_name }}"
resource_group: "{{ resource_group }}"
route_table_name: "{{ name }}"
state: absent
check_mode: yes
- name: Delete route
azure_rm_route:
name: "{{ route_name }}"
resource_group: "{{ resource_group }}"
state: absent
route_table_name: "{{ name }}"
register: output
- assert:
that:
- output.changed
- name: Delete route (idemponent)
azure_rm_route:
name: "{{ route_name }}"
resource_group: "{{ resource_group }}"
state: absent
route_table_name: "{{ name }}"
register: output
- assert:
that:
- not output.changed
- name: Delete route table (check mode)
azure_rm_routetable:
name: "{{ name }}"
resource_group: "{{ resource_group }}"
state: absent
check_mode: yes
- name: Delete route table
azure_rm_routetable:
name: "{{ name }}"
resource_group: "{{ resource_group }}"
state: absent
register: output
- assert:
that:
- output.changed
- name: Delete route table (idemponent)
azure_rm_routetable:
name: "{{ name }}"
resource_group: "{{ resource_group }}"
state: absent
register: output
- assert:
that:
- not output.changed

View File

@@ -12,6 +12,12 @@
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
@@ -87,6 +93,7 @@
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 }}"
@@ -106,6 +113,7 @@
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