--- - include_tasks: reset_config.yml - set_fact: config: - name: Ethernet1 enabled: True - name: Ethernet2 description: 'Configured by Ansible' speed: '10' duplex: full enabled: False - eos_facts: gather_network_resources: interfaces become: yes - name: Merge provided configuration with device configuration eos_interfaces: config: "{{ config }}" state: merged register: result become: yes - assert: that: - "ansible_facts.network_resources.interfaces|symmetric_difference(result.before)|length == 0" - eos_facts: gather_network_resources: interfaces become: yes - assert: that: - "ansible_facts.network_resources.interfaces|symmetric_difference(result.after)|length == 0" - set_fact: expected_config: - name: Ethernet1 description: Interface 1 speed: 40g duplex: full enabled: True - name: Ethernet2 description: 'Configured by Ansible' speed: '10' duplex: full enabled: False mtu: "3000" - assert: that: - "expected_config|difference(ansible_facts.network_resources.interfaces)|length == 0"