---
- debug: msg="START junos_interface netconf/basic.yaml"
- name: setup - remove interface
junos_interface:
name: ge-0/0/1
description: test-interface
state: absent
provider: "{{ netconf }}"
- name: Create interface
junos_interface:
name: ge-0/0/1
description: test-interface
state: present
provider: "{{ netconf }}"
register: result
- name: Get running configuration
junos_rpc:
rpc: get-configuration
provider: "{{ netconf }}"
register: config
- assert:
that:
- "result.changed == true"
- "'ge-0/0/1' in config.xml"
- "'test-interface' in config.xml"
- name: Create interface (idempotent)
junos_interface:
name: ge-0/0/1
description: test-interface
state: present
provider: "{{ netconf }}"
register: result
- assert:
that:
- "result.changed == false"
- name: Deactivate interface configuration
junos_interface:
name: ge-0/0/1
description: test-interface
state: present
active: False
provider: "{{ netconf }}"
register: result
- name: Get running configuration
junos_rpc:
rpc: get-configuration
provider: "{{ netconf }}"
register: config
- assert:
that:
- "result.changed == true"
- "'' in config.xml"
- "'ge-0/0/1' in config.xml"
- name: Activate interface configuration
junos_interface:
name: ge-0/0/1
description: test-interface
state: present
active: True
provider: "{{ netconf }}"
register: result
- name: Get running configuration
junos_rpc:
rpc: get-configuration
provider: "{{ netconf }}"
register: config
- assert:
that:
- "result.changed == true"
- "'ge-0/0/1' in config.xml"
- name: Configure interface attributes
junos_interface:
name: ge-0/0/1
description: test-interface
state: present
speed: 1g
mtu: 256
duplex: full
provider: "{{ netconf }}"
register: result
- name: Get running configuration
junos_rpc:
rpc: get-configuration
provider: "{{ netconf }}"
register: config
- assert:
that:
- "result.changed == true"
- "'ge-0/0/1' in config.xml"
- "'full-duplex' in config.xml"
- "'256' in config.xml"
- "'1g' in config.xml"
- "'test-interface' in config.xml"
- name: Disable interface
junos_interface:
name: ge-0/0/1
description: test-interface
state: down
provider: "{{ netconf }}"
register: result
- assert:
that:
- "result.changed == true"
- result.diff.prepared | search("\+ *disable")
- name: Enable interface
junos_interface:
name: ge-0/0/1
description: test-interface
state: up
provider: "{{ netconf }}"
register: result
- assert:
that:
- "result.changed == true"
- result.diff.prepared | search("\- *disable")
- name: Delete interface
junos_interface:
name: ge-0/0/1
description: test-interface
state: absent
provider: "{{ netconf }}"
register: result
- name: Get running configuration
junos_rpc:
rpc: get-configuration
provider: "{{ netconf }}"
register: config
- name: Get running configuration
junos_rpc:
rpc: get-configuration
provider: "{{ netconf }}"
register: config
- assert:
that:
- "result.changed == true"
- "'ge-0/0/1' not in config.xml"