Модуль cisco.iosxr.iosxr_prefix_lists – Ресурсный модуль для настройки списков префиксов.
Примечание
Этот модуль является частью коллекции cisco.iosxr (версия 9.0.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install cisco.iosxr.
Для использования в playbook, укажите: cisco.iosxr.iosxr_prefix_lists.
Новое в cisco.iosxr 2.3.0
Краткое описание
- Этот модуль управляет конфигурацией списков префиксов на устройствах под управлением Cisco IOSXR.
Псевдонимы: prefix_lists
Параметры
Параметр | Комментарии |
|---|---|
config список / элементы=словарь | Список конфигураций списков префиксов. |
|
afi строка |
Идентификатор семейства адресов (AFI) для списков префиксов. Варианты:
|
|
prefix_lists список / элементы=словарь |
Список конфигураций списков префиксов. |
|
entries список / элементы=словарь |
Список конфигураций для указанного списка префиксов |
|
action строка |
Разрешить или запретить префикс-лист. Варианты:
|
|
description строка |
Описание списка префиксов. Применимо только для действия «remark». |
|
eq целое число |
Точная длина префикса для сопоставления. |
|
ge целое число |
Минимальная длина префикса для сопоставления. |
|
le целое число |
Максимальная длина префикса для сопоставления. |
|
prefix строка |
IP или IPv6 префикс в формате A.B.C.D/LEN или A:B::C:D/LEN. Применимо только для действий «permit» и «deny» |
|
sequence целое число |
Номер последовательности. |
|
name строка |
Название списка префиксов. |
running_config строка | Этот параметр используется только с состоянием parsed. Значение этого параметра должно быть выводом, полученным от устройства Iosxr путем выполнения команды show running-config prefix-list. Состояние parsed считывает конфигурацию из параметра |
state строка | Состояние, в котором должна остаться конфигурация. См. примеры для получения более подробной информации. В состоянии replaced для перечисленных списков префиксов последовательности, которые находятся в running-config, но отсутствуют в задаче, отрицаются. В состоянии overridden все списки префиксов, которые находятся в running-config, но отсутствуют в задаче, отрицаются. См. примеры для получения более подробной информации. Варианты:
|
Примечания
Примечание
- Тестировалось на IOSXR 7.0.2.
- Этот модуль работает с подключением
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
# !
# !
Значения возврата
Общие значения возврата документированы здесь, следующие — поля, уникальные для данного модуля:
Ключ | Описание |
|---|---|
after словарь | Результирующая конфигурация после выполнения модуля. Возвращается: при изменении Пример: |
before словарь | Конфигурация перед выполнением модуля. Возвращается: когда состояние равно Пример: |
commands список / элементы=строка | Набор команд, отправленных на удаленное устройство. Возвращается: когда состояние равно Пример: |
gathered список / элементы=строка | Данные об сетевом ресурсе, собранные с удаленного устройства в виде структурированных данных. Возвращается: когда состояние равно Пример: |
parsed список / элементы=строка | Родная конфигурация устройства из параметра running_config, разобранная в структурированные данные в соответствии с параметрами модуля argspec. Возвращается: когда состояние равно Пример: |
rendered список / элементы=строка | Предоставленная конфигурация в задаче, рендеренная в формате устройства (офлайн). Возвращается: когда состояние равно Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/cisco/iosxr/iosxr_prefix_lists_module.html