--- - debug: msg="START net_interface junos/intent.yaml" - name: get facts junos_facts: provider: "{{ netconf }}" register: result - name: Define interface name for vSRX set_fact: name: pp0 when: result['ansible_facts']['ansible_net_model'] is search("vSRX*") - name: Define interface name for vQFX set_fact: name: gr-0/0/0 when: result['ansible_facts']['ansible_net_model'] is search("vqfx*") - name: Check intent arguments net_interface: name: "{{ name }}" state: up tx_rate: ge(0) rx_rate: le(0) provider: "{{ netconf }}" register: result - assert: that: - "result.failed == false" - name: Check intent arguments (failed condition) net_interface: name: "{{ name }}" state: down tx_rate: gt(0) rx_rate: lt(0) provider: "{{ netconf }}" ignore_errors: yes register: result - assert: that: - "result.failed == true" - "'state eq(down)' in result.failed_conditions" - "'tx_rate gt(0)' in result.failed_conditions" - "'rx_rate lt(0)' in result.failed_conditions" - name: Config + intent net_interface: name: "{{ name }}" enabled: False state: down provider: "{{ netconf }}" register: result - assert: that: - "result.failed == false" - result.diff.prepared is search("\+ *disable") - name: Config + intent (fail) net_interface: name: "{{ name }}" enabled: False state: up provider: "{{ netconf }}" ignore_errors: yes register: result - assert: that: - "result.failed == true" - "'state eq(up)' in result.failed_conditions" - name: Aggregate config + intent (pass) net_interface: aggregate: - name: "{{ name }}" enabled: True state: up provider: "{{ netconf }}" ignore_errors: yes register: result - assert: that: - "result.failed == false"