Resource module to configure prefix lists.
Version added: 2.3.0
- This module manages prefix-lists configuration on devices running Cisco IOSXR.
Note
- Tested against IOSXR 7.0.2.
- This module works with connection
network_cli
.
# Using merged
# Before state
# RP/0/0/CPU0:10#show running-config
# Thu Feb 4 09:38:36.245 UTC
# % No such configuration item(s)
# RP/0/0/CPU0:10#
#
- name: Merge the provided configuration with the existing running configuration
cisco.iosxr.iosxr_prefix_lists:
state: merged
config:
- afi: ipv6
prefix_lists:
- name: pl_1
entries:
- prefix: '2001:db8:1234::/48'
action: deny
sequence: 1
- name: pl_2
entries:
- sequence: 2
action: remark
description: TEST_PL_2_REMARK
- afi: ipv4
prefix_lists:
- name: pl1
entries:
- sequence: 3
action: remark
description: TEST_PL1_2_REMARK
- sequence: 4
action: permit
prefix: 10.0.0.0/24
- name: pl2
entries:
- sequence: 5
action: remark
description: TEST_PL2_REMARK
- name: pl3
entries:
- sequence: 6
action: permit
prefix: 35.0.0.0/8
eq: 0
# Task Output
# -------------
# before: []
# commands:
# - ipv6 prefix-list pl_1 1 deny 2001:db8:1234::/48
# - ipv6 prefix-list pl_2 2 remark TEST_PL_2_REMARK
# - ipv4 prefix-list pl1 3 remark TEST_PL1_2_REMARK
# - ipv4 prefix-list pl1 4 permit 10.0.0.0/24
# - ipv4 prefix-list pl2 5 remark TEST_PL2_REMARK
# - ipv4 prefix-list pl3 6 permit 35.0.0.0/8 eq 0
# after:
# - afi: ipv6
# prefix_lists:
# - name: pl_1
# entries:
# - prefix: 2001:db8:1234::/48
# action: deny
# sequence: 1
# - name: pl_2
# entries:
# - sequence: 2
# action: remark
# description: TEST_PL_2_REMARK
# - afi: ipv4
# prefix_lists:
# - name: pl1
# entries:
# - sequence: 3
# action: remark
# description: TEST_PL1_2_REMARK
# - sequence: 4
# action: permit
# prefix: 10.0.0.0/24
# - name: pl2
# entries:
# - sequence: 5
# action: remark
# description: TEST_PL2_REMARK
# - name: pl3
# entries:
# - sequence: 6
# action: permit
# prefix: 35.0.0.0/8
# eq: 0
# After state:
# ------------
# RP/0/0/CPU0:10#show running-config
# ipv6 prefix-list pl_1
# 1 deny 2001:db8:1234::/48
# !
# ipv6 prefix-list pl_2
# 2 remark TEST_PL_2_REMAR
# !
# ipv4 prefix-list pl1
# 3 remark TEST_PL1_2_REMARK
# 4 permit 10.0.0.0/24
# !
# ipv4 prefix-list pl2
# 5 remark TEST_PL2_REMARK
# !
# ipv4 prefix-list pl3
# 6 permit 35.0.0.0/8 eq 0
# !
# Using replaced:
# Before state:
# -------------
# RP/0/0/CPU0:10#show running-config
#
# ipv6 prefix-list pl_1
# 1 deny 2001:db8:1234::/48
# !
# ipv6 prefix-list pl_2
# 2 remark TEST_PL_2_REMARK
# !
# ipv4 prefix-list pl1
# 3 remark TEST_PL1_2_REMARK
# 4 permit 10.0.0.0/24
# !
# ipv4 prefix-list pl2
# 5 remark TEST_PL2_REMARK
# !
#
- name: >-
Replace device configurations of listed prefix lists with provided
configurations
register: result
cisco.iosxr.iosxr_prefix_lists:
config:
- afi: ipv4
prefix_lists:
- name: pl1
entries:
- sequence: 3
action: permit
prefix: 10.0.0.0/24
- afi: ipv6
prefix_lists:
- name: pl_1
entries:
- prefix: '2001:db8:1234::/48'
action: permit
sequence: 1
- name: pl_2
entries:
- sequence: 2
action: remark
description: TEST_PL1_2
state: replaced
# Task Output
# -------------
# before:
# - afi: ipv6
# prefix_lists:
# - entries:
# - action: deny
# prefix: 2001:db8:1234::/48
# sequence: 1
# name: pl_1
# - entries:
# - action: remark
# description: TEST_PL_2_REMARK
# sequence: 2
# name: pl_2
# - afi: ipv4
# prefix_lists:
# - entries:
# - action: remark
# description: TEST_PL1_2_REMARK
# sequence: 3
# - action: permit
# prefix: 10.0.0.0/24
# sequence: 4
# name: pl1
# - entries:
# - action: remark
# description: TEST_PL2_REMARK
# sequence: 5
# name: pl2
# commands:
# - no ipv4 prefix-list pl1 3 remark TEST_PL1_2_REMARK
# - no ipv4 prefix-list pl1 4 permit 10.0.0.0/24
# - ipv4 prefix-list pl1 3 permit 10.0.0.0/24
# - ipv6 prefix-list pl_2 2 remark TEST_PL1_2
# after:
# - afi: ipv6
# prefix_lists:
# - entries:
# - action: deny
# prefix: 2001:db8:1234::/48
# sequence: 1
# name: pl_1
# - entries:
# - action: remark
# description: TEST_PL1_2
# sequence: 2
# name: pl_2
# - afi: ipv4
# prefix_lists:
# - entries:
# - action: permit
# prefix: 10.0.0.0/24
# sequence: 3
# name: pl1
# - entries:
# - action: remark
# description: TEST_PL2_REMARK
# sequence: 5
# name: pl2
# After state:
# RP/0/0/CPU0:10#show running-config
#
# ipv6 prefix-list pl_1
# 1 deny 2001:db8:1234::/48
# !
# ipv6 prefix-list pl_2
# 2 remark TEST_PL1_2
# !
# ipv4 prefix-list pl1
# 3 permit 10.0.0.0/24
# !
# ipv4 prefix-list pl2
# 5 remark TEST_PL2_REMARK
#
# Module Execution:
#
# Using deleted:
# Before state:
# -------------
# RP/0/0/CPU0:10#show running-config
#
# ipv6 prefix-list pl_1
# 1 deny 2001:db8:1234::/48
# !
# ipv6 prefix-list pl_2
# 2 remark TEST_PL_2_REMARK
# !
# ipv4 prefix-list pl1
# 3 remark TEST_PL1_2_REMARK
# 4 permit 10.0.0.0/24
# !
# ipv4 prefix-list pl2
# 5 remark TEST_PL2_REMARK
# ipv4 prefix-list pl3
# 6 permit 35.0.0.0/8 eq 0
- name: Delete all prefix-lists from the device
cisco.iosxr.iosxr_prefix_lists:
state: deleted
# Task Output
# -------------
# before:
# - afi: ipv6
# prefix_lists:
# - name: pl_1
# entries:
# - prefix: 2001:db8:1234::/48
# action: deny
# sequence: 1
# - name: pl_2
# entries:
# - sequence: 2
# action: remark
# description: TEST_PL_2_REMARK
# - afi: ipv4
# prefix_lists:
# - name: pl1
# entries:
# - sequence: 3
# action: remark
# description: TEST_PL1_2_REMARK
# - sequence: 4
# action: permit
# prefix: 10.0.0.0/24
# - name: pl2
# entries:
# - sequence: 5
# action: remark
# description: TEST_PL2_REMARK
# - name: pl3
# entries:
# - sequence: 6
# action: permit
# prefix: 35.0.0.0/8
# eq: 0
# commands:
# - no ipv6 prefix-list pl_1
# - no ipv6 prefix-list pl_2
# - no ipv4 prefix-list pl1
# - no ipv4 prefix-list pl2
# - no ipv4 prefix-list pl3
# after: []
# After state:
# RP/0/0/CPU0:10#show running-config
#
# using gathered:
# After state:
# ------------
# RP/0/0/CPU0:10#show running-config
# ipv6 prefix-list pl_1
# 1 deny 2001:db8:1234::/48
# !
# ipv6 prefix-list pl_2
# 2 remark TEST_PL_2_REMARK
# !
# ipv4 prefix-list pl1
# 3 remark TEST_PL1_2_REMARK
# 4 permit 10.0.0.0/24
# !
# ipv4 prefix-list pl2
# 5 remark TEST_PL2_REMARK
# !
# ipv4 prefix-list pl3
# 6 permit 35.0.0.0/8 eq 0
# !
- name: Gather ACL interfaces facts using gathered state
cisco.iosxr.iosxr_prefix_lists:
state: gathered
# gathered:
# - afi: ipv6
# prefix_lists:
# - name: pl_1
# entries:
# - prefix: 2001:db8:1234::/48
# action: deny
# sequence: 1
# - name: pl_2
# entries:
# - sequence: 2
# action: remark
# description: TEST_PL_2_REMARK
# - afi: ipv4
# prefix_lists:
# - name: pl1
# entries:
# - sequence: 3
# action: remark
# description: TEST_PL1_2_REMARK
# - sequence: 4
# action: permit
# prefix: 10.0.0.0/24
# - name: pl2
# entries:
# - sequence: 5
# action: remark
# description: TEST_PL2_REMARK
# - name: pl3
# entries:
# - sequence: 6
# action: permit
# prefix: 35.0.0.0/8
# eq: 0
# Using parsed:
# parsed.cfg
# ------------------------------
# ipv6 prefix-list pl_1
# 1 deny 2001:db8:1234::/48
# !
# ipv6 prefix-list pl_2
# 2 remark TEST_PL_2_REMARK
# !
# ipv4 prefix-list pl1
# 3 remark TEST_PL1_2_REMARK
# 4 permit 10.0.0.0/24
# !
# ipv4 prefix-list pl2
# 5 remark TEST_PL2_REMARK
- name: Parse externally provided Prefix_lists config to agnostic model
cisco.iosxr.iosxr_prefix_lists:
running_config: '{{ lookup(''file'', ''./fixtures/parsed.cfg'') }}'
state: parsed
# Task Output
# -------------
# parsed:
# - afi: ipv6
# prefix_lists:
# - name: pl_1
# entries:
# - prefix: 2001:db8:1234::/48
# action: deny
# sequence: 1
# - name: pl_2
# entries:
# - sequence: 2
# action: remark
# description: TEST_PL_2_REMARK
# - afi: ipv4
# prefix_lists:
# - name: pl1
# entries:
# - sequence: 3
# action: remark
# description: TEST_PL1_2_REMARK
# - sequence: 4
# action: permit
# prefix: 10.0.0.0/24
# - name: pl2
# entries:
# - sequence: 5
# action: remark
# description: TEST_PL2_REMARK
# - sequence: 6
# action: permit
# prefix: 35.0.0.0/8
# eq: 0
# Using rendered:
- name: Render platform specific commands from task input using rendered state
register: result
cisco.iosxr.iosxr_prefix_lists:
config:
- afi: ipv6
prefix_lists:
- name: pl_1
entries:
- prefix: '2001:db8:1234::/48'
action: deny
sequence: 1
- name: pl_2
entries:
- sequence: 2
action: remark
description: TEST_PL_2_REMARK
- afi: ipv4
prefix_lists:
- name: pl1
entries:
- sequence: 3
action: remark
description: TEST_PL1_2_REMARK
- sequence: 4
action: permit
prefix: 10.0.0.0/24
- name: pl2
entries:
- sequence: 5
action: remark
description: TEST_PL2_REMARK
- sequence: 6
action: permit
prefix: 35.0.0.0/8
eq: 0
state: rendered
# Task Output
# -------------
# "rendered": [
# "ipv6 prefix-list pl_1 1 deny 2001:db8:1234::/48",
# "ipv6 prefix-list pl_2 2 remark TEST_PL_2_REMARK",
# "ipv4 prefix-list pl1 3 remark TEST_PL1_2_REMARK",
# "ipv4 prefix-list pl1 4 permit 10.0.0.0/24",
# "ipv4 prefix-list pl2 5 remark TEST_PL2_REMARK",
# "ipv4 prefix-list pl2 6 permit 35.0.0.0/8 eq 0"
# ]
# Using overridden:
# Before state:
# -------------
# RP/0/0/CPU0:10#show running-config
#
# ipv6 prefix-list pl_1
# 1 deny 2001:db8:1234::/48
# !
# ipv6 prefix-list pl_2
# 2 remark TEST_PL_2_REMARK
# !
# ipv4 prefix-list pl1
# 3 remark TEST_PL1_2_REMARK
# 4 permit 10.0.0.0/24
# !
# ipv4 prefix-list pl2
# 5 remark TEST_PL2_REMARK
#
- name: Overridde all Prefix_lists configuration with provided configuration
cisco.iosxr.iosxr_prefix_lists:
config:
- afi: ipv4
prefix_lists:
- name: pl3
entries:
- sequence: 3
action: remark
description: TEST_PL1_3_REMARK
- sequence: 4
action: permit
prefix: 10.0.0.0/24
- sequence: 6
action: permit
prefix: 35.0.0.0/8
eq: 0
state: overridden
# Task Output
# -------------
# before:
# - afi: ipv6
# prefix_lists:
# - entries:
# - action: deny
# prefix: 2001:db8:1234::/48
# sequence: 1
# name: pl_1
# - entries:
# - action: remark
# description: TEST_PL_2_REMARK
# sequence: 2
# name: pl_2
# - afi: ipv4
# prefix_lists:
# - entries:
# - action: remark
# description: TEST_PL1_2_REMARK
# sequence: 3
# - action: permit
# prefix: 10.0.0.0/24
# sequence: 4
# name: pl1
# - entries:
# - action: remark
# description: TEST_PL2_REMARK
# sequence: 5
# name: pl2
# commands:
# - no ipv6 prefix-list pl_1
# - no ipv6 prefix-list pl_2
# - no ipv4 prefix-list pl1
# - no ipv4 prefix-list pl2
# - ipv4 prefix-list pl3 3 remark TEST_PL1_3_REMARK
# - ipv4 prefix-list pl3 4 permit 10.0.0.0/24
# - ipv4 prefix-list pl3 6 permit 35.0.0.0/8 eq 0
# after:
# - afi: ipv4
# prefix_lists:
# - entries:
# - action: remark
# description: TEST_PL1_3_REMARK
# sequence: 3
# - action: permit
# prefix: 10.0.0.0/24
# sequence: 4
# - action: permit
# prefix: 35.0.0.0/8
# sequence: 6
# eq: 0
# name: pl3
# After state:
# RP/0/0/CPU0:10#show running-config
#
# ipv4 prefix-list pl3
# 3 remark TEST_PL1_3_REMARK
# 4 permit 10.0.0.0/24
# 6 permit 35.0.0.0/8 eq 0
# !
# !
Common return values are documented here, the following are the fields unique to this module:
- Ashwini Mhatre (@amhatre)