--- - debug: msg="START cli/basic.yaml on connection={{ ansible_connection }}" - name: Remove IP address vyos_l3_interface: name: eth1 state: absent - name: Remove IP address vyos_l3_interface: name: eth2 state: absent - name: Set IPv4 address vyos_l3_interface: name: eth1 ipv4: 192.168.2.10/24 register: result - assert: that: - 'result.changed == true' - '"set interfaces ethernet eth1 address 192.168.2.10/24" in result.commands' - name: Set IPv4 address (idempotent) vyos_l3_interface: name: eth1 ipv4: 192.168.2.10/24 register: result - assert: that: - 'result.changed == false' - name: Set IPv6 address vyos_l3_interface: name: eth1 ipv6: fd5d:12c9:2201:1::1/64 register: result - assert: that: - 'result.changed == true' - '"set interfaces ethernet eth1 address fd5d:12c9:2201:1::1/64" in result.commands' - name: Set IPv6 address (idempotent) vyos_l3_interface: name: eth1 ipv6: fd5d:12c9:2201:1::1/64 register: result - assert: that: - 'result.changed == false' - name: Remove all IP addresses vyos_l3_interface: name: eth1 state: absent register: result - assert: that: - 'result.changed == true' - '"delete interfaces ethernet eth1 address" in result.commands' - name: Remove all IP addresses again (idempotent) vyos_l3_interface: name: eth1 state: absent register: result - assert: that: - 'result.changed == false' - name: Set IPv4 and IPv6 address vyos_l3_interface: name: eth1 ipv4: 192.168.2.10/24 ipv6: fd5d:12c9:2201:1::1/64 register: result - assert: that: - 'result.changed == true' - '"set interfaces ethernet eth1 address 192.168.2.10/24" in result.commands' - '"set interfaces ethernet eth1 address fd5d:12c9:2201:1::1/64" in result.commands' - name: Set IPv4 and IPv6 address again (idempotent) vyos_l3_interface: name: eth1 ipv4: 192.168.2.10/24 ipv6: fd5d:12c9:2201:1::1/64 register: result - assert: that: - 'result.changed == false' - name: Remove IPv4 address vyos_l3_interface: name: eth1 ipv4: 192.168.2.10/24 state: absent register: result - assert: that: - 'result.changed == true' - '"delete interfaces ethernet eth1 address 192.168.2.10/24" in result.commands' - name: Remove IPv4 address again (idempotent) vyos_l3_interface: name: eth1 ipv4: 192.168.2.10/24 state: absent register: result - assert: that: - 'result.changed == false' - name: Remove IPv6 address vyos_l3_interface: name: eth1 ipv6: fd5d:12c9:2201:1::1/64 state: absent register: result - assert: that: - 'result.changed == true' - '"delete interfaces ethernet eth1 address fd5d:12c9:2201:1::1/64" in result.commands' - name: Remove IPv6 address again (idempotent) vyos_l3_interface: name: eth1 ipv6: fd5d:12c9:2201:1::1/64 state: absent register: result - assert: that: - 'result.changed == false' - name: Set IP addresses on aggregate vyos_l3_interface: aggregate: - { name: eth1, ipv4: 192.168.2.10/24 } - { name: eth2, ipv4: 192.168.3.10/24, ipv6: "fd5d:12c9:2201:1::1/64" } - { name: eth2, ipv4: 192.168.4.10/24 } register: result - assert: that: - 'result.changed == true' - '"set interfaces ethernet eth1 address 192.168.2.10/24" in result.commands' - '"set interfaces ethernet eth2 address 192.168.3.10/24" in result.commands' - '"set interfaces ethernet eth2 address fd5d:12c9:2201:1::1/64" in result.commands' - '"set interfaces ethernet eth2 address 192.168.4.10/24" in result.commands' - name: Set IP addresses on aggregate (idempotent) vyos_l3_interface: aggregate: - { name: eth1, ipv4: 192.168.2.10/24 } - { name: eth2, ipv4: 192.168.3.10/24, ipv6: "fd5d:12c9:2201:1::1/64" } - { name: eth2, ipv4: 192.168.4.10/24 } register: result - assert: that: - 'result.changed == false' - name: Remove IP addresses on aggregate vyos_l3_interface: aggregate: - { name: eth1, ipv4: 192.168.2.10/24 } - { name: eth2, ipv4: 192.168.3.10/24, ipv6: "fd5d:12c9:2201:1::1/64" } - { name: eth2, ipv4: 192.168.4.10/24 } state: absent register: result - assert: that: - 'result.changed == true' - '"delete interfaces ethernet eth1 address 192.168.2.10/24" in result.commands' - '"delete interfaces ethernet eth2 address 192.168.3.10/24" in result.commands' - '"delete interfaces ethernet eth2 address fd5d:12c9:2201:1::1/64" in result.commands' - '"delete interfaces ethernet eth2 address 192.168.4.10/24" in result.commands' - name: Remove IP addresses on aggregate (idempotent) vyos_l3_interface: aggregate: - { name: eth1, ipv4: 192.168.2.10/24 } - { name: eth2, ipv4: 192.168.3.10/24, ipv6: "fd5d:12c9:2201:1::1/64" } - { name: eth2, ipv4: 192.168.4.10/24 } state: absent register: result - assert: that: - 'result.changed == false'