- name: Prepare random number set_fact: vnetname: "vnet{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}" vngname: "vng{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}" - name: Create virtual network azure_rm_virtualnetwork: resource_group: "{{ resource_group }}" name: "{{ vnetname }}" address_prefixes: "10.0.0.0/16" - name: Add subnet azure_rm_subnet: resource_group: "{{ resource_group }}" name: GatewaySubnet address_prefix: "10.0.2.0/24" virtual_network: "{{ vnetname }}" - name: Create public IP address azure_rm_publicipaddress: resource_group: "{{ resource_group }}" allocation_method: Dynamic name: testPublicIP - name: Create virtual network gateway without bgp settings azure_rm_virtualnetworkgateway: resource_group: "{{ resource_group }}" name: "{{ vngname }}" ip_configurations: - name: testipconfig private_ip_allocation_method: Dynamic public_ip_address_name: testPublicIP virtual_network: "{{ vnetname }}" tags: common: "xyz" register: output - assert: that: output.changed - name: Create virtual network gateway without bgp settings - idempotent azure_rm_virtualnetworkgateway: resource_group: "{{ resource_group }}" name: "{{ vngname }}" ip_configurations: - name: testipconfig private_ip_allocation_method: Dynamic public_ip_address_name: testPublicIP virtual_network: "{{ vnetname }}" tags: common: "xyz" register: output - assert: that: not output.changed - name: Update virtual network gateway azure_rm_virtualnetworkgateway: resource_group: "{{ resource_group }}" name: "{{ vngname }}" ip_configurations: - name: testipconfig private_ip_allocation_method: Dynamic public_ip_address_name: testPublicIP virtual_network: "{{ vnetname }}" tags: common: "mno" register: output - assert: that: output.changed - name: Delete virtual network gateway azure_rm_virtualnetworkgateway: resource_group: "{{ resource_group }}" name: "{{ vngname }}" state: absent register: output - assert: that: output.changed - name: Delete virtual network gateway - idempotent azure_rm_virtualnetworkgateway: resource_group: "{{ resource_group }}" name: "{{ vngname }}" state: absent register: output - assert: that: not output.changed