--- - debug: msg="START net_vlan junos/basic.yaml" - name: setup - remove vlan net_vlan: vlan_id: 100 name: test-vlan state: absent provider: "{{ netconf }}" - name: Create vlan net_vlan: vlan_id: 100 name: test-vlan state: present provider: "{{ netconf }}" register: result - name: Get running configuration junos_rpc: rpc: get-configuration provider: "{{ netconf }}" register: config - assert: that: - "result.changed == true" - "'test-vlan' in config.xml" - "'100' in config.xml" - name: Create vlan again (idempotent) net_vlan: vlan_id: 100 name: test-vlan state: present provider: "{{ netconf }}" register: result - assert: that: - "result.changed == false" - name: Delete vlan net_vlan: vlan_id: 100 name: test-vlan state: absent provider: "{{ netconf }}" register: result - name: Get running configuration junos_rpc: rpc: get-configuration provider: "{{ netconf }}" register: config - assert: that: - "result.changed == true" - "'test-vlan' not in config.xml" - name: Setup vlan configuration for aggregate net_vlan: aggregate: - vlan_id: 159 name: test_vlan_1 - vlan_id: 160 name: test_vlan_2 state: absent provider: "{{ netconf }}" - name: Create vlan configuration using aggregate net_vlan: aggregate: - { vlan_id: 159, name: test_vlan_1, description: test vlan-1 } - { vlan_id: 160, name: test_vlan_2, description: test vlan-2 } provider: "{{ netconf }}" register: result - assert: that: - 'result.changed == true' - result.diff.prepared is search("\+ *test_vlan_1") - result.diff.prepared is search("\+ *vlan-id 159") - result.diff.prepared is search("\+ *test_vlan_2") - result.diff.prepared is search("\+ *vlan-id 160") - name: Delete vlan configuration using aggregate net_vlan: aggregate: - vlan_id: 159 name: test_vlan_1 - vlan_id: 160 name: test_vlan_2 state: absent provider: "{{ netconf }}" register: result - assert: that: - 'result.changed == true' - result.diff.prepared is search("\- *test_vlan_1") - result.diff.prepared is search("\- *vlan-id 159") - result.diff.prepared is search("\- *test_vlan_2") - result.diff.prepared is search("\- *vlan-id 160") - name: Delete vlan configuration using aggregate (idempotent) net_vlan: aggregate: - vlan_id: 159 name: test_vlan_1 - vlan_id: 160 name: test_vlan_2 state: absent provider: "{{ netconf }}" register: result - assert: that: - 'result.changed == false'