130 lines
3.2 KiB
YAML
130 lines
3.2 KiB
YAML
|
---
|
||
|
- debug: msg="START junos_l3_interface netconf/basic.yaml"
|
||
|
|
||
|
- name: setup - remove interface address
|
||
|
junos_l3_interface:
|
||
|
name: ge-0/0/1
|
||
|
ipv4: 1.1.1.1
|
||
|
ipv6: fd5d:12c9:2201:1::1
|
||
|
state: absent
|
||
|
provider: "{{ netconf }}"
|
||
|
|
||
|
- name: Configure interface address
|
||
|
junos_l3_interface:
|
||
|
name: ge-0/0/1
|
||
|
ipv4: 1.1.1.1
|
||
|
ipv6: fd5d:12c9:2201:1::1
|
||
|
state: present
|
||
|
provider: "{{ netconf }}"
|
||
|
register: result
|
||
|
|
||
|
- name: Get running configuration
|
||
|
junos_rpc:
|
||
|
rpc: get-configuration
|
||
|
provider: "{{ netconf }}"
|
||
|
register: config
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "result.changed == true"
|
||
|
- "'<name>1.1.1.1/32</name>' in config.xml"
|
||
|
- "'<name>fd5d:12c9:2201:1::1/128</name>' in config.xml"
|
||
|
- "'+ address 1.1.1.1/32;' in result.diff.prepared"
|
||
|
- "'+ address fd5d:12c9:2201:1::1/128;' in result.diff.prepared"
|
||
|
|
||
|
- name: Configure interface address (idempotent)
|
||
|
junos_l3_interface:
|
||
|
name: ge-0/0/1
|
||
|
ipv4: 1.1.1.1
|
||
|
ipv6: fd5d:12c9:2201:1::1
|
||
|
state: present
|
||
|
provider: "{{ netconf }}"
|
||
|
register: result
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "result.changed == false"
|
||
|
|
||
|
- name: Deactivate interface address
|
||
|
junos_l3_interface:
|
||
|
name: ge-0/0/1
|
||
|
ipv4: 1.1.1.1
|
||
|
ipv6: fd5d:12c9:2201:1::1
|
||
|
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"
|
||
|
- "'<address inactive=\"inactive\">' in config.xml"
|
||
|
- "'! inactive: address 1.1.1.1/32' in result.diff.prepared"
|
||
|
- "'! inactive: address fd5d:12c9:2201:1::1/128' in result.diff.prepared"
|
||
|
|
||
|
- name: Activate interface address
|
||
|
junos_l3_interface:
|
||
|
name: ge-0/0/1
|
||
|
ipv4: 1.1.1.1
|
||
|
ipv6: fd5d:12c9:2201:1::1
|
||
|
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"
|
||
|
- "'<name>1.1.1.1/32</name>' in config.xml"
|
||
|
- "'<name>fd5d:12c9:2201:1::1/128</name>' in config.xml"
|
||
|
- "'! active: address 1.1.1.1/32' in result.diff.prepared"
|
||
|
- "'! active: address fd5d:12c9:2201:1::1/128' in result.diff.prepared"
|
||
|
|
||
|
- name: Delete interface address
|
||
|
junos_l3_interface:
|
||
|
name: ge-0/0/1
|
||
|
ipv4: 1.1.1.1
|
||
|
ipv6: fd5d:12c9:2201:1::1
|
||
|
state: absent
|
||
|
provider: "{{ netconf }}"
|
||
|
register: result
|
||
|
|
||
|
- name: Get running configuration
|
||
|
junos_rpc:
|
||
|
rpc: get-configuration
|
||
|
provider: "{{ netconf }}"
|
||
|
register: config
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "result.changed == true"
|
||
|
- "'<name>1.1.1.1/32</name>' not in config.xml"
|
||
|
- "'<name>fd5d:12c9:2201:1::1/128</name>' not in config.xml"
|
||
|
- "'- address 1.1.1.1/32;' in result.diff.prepared"
|
||
|
- "'- address fd5d:12c9:2201:1::1/128;' in result.diff.prepared"
|
||
|
|
||
|
- name: Delete interface address (idempotent)
|
||
|
junos_l3_interface:
|
||
|
name: ge-0/0/1
|
||
|
ipv4: 1.1.1.1
|
||
|
ipv6: fd5d:12c9:2201:1::1
|
||
|
state: absent
|
||
|
provider: "{{ netconf }}"
|
||
|
register: result
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "result.changed == false"
|