Spec-Zone.ru › Ansible

Модуль 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) для списков префиксов.

Варианты:

  • "ipv4"
  • "ipv6"

prefix_lists

список / элементы=словарь

Список конфигураций списков префиксов.

entries

список / элементы=словарь

Список конфигураций для указанного списка префиксов

action

строка

Разрешить или запретить префикс-лист.

Варианты:

  • "permit"
  • "deny"
  • "remark"

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 считывает конфигурацию из параметра running_config и преобразует её в структурированные данные Ansible в соответствии со спецификацией argspec ресурсного модуля, а затем возвращаемое значение записывается в ключ parsed в результате.

state

строка

Состояние, в котором должна остаться конфигурация.

См. примеры для получения более подробной информации.

В состоянии replaced для перечисленных списков префиксов последовательности, которые находятся в running-config, но отсутствуют в задаче, отрицаются.

В состоянии overridden все списки префиксов, которые находятся в running-config, но отсутствуют в задаче, отрицаются.

См. примеры для получения более подробной информации.

Варианты:

  • "merged" ← (по умолчанию)
  • "replaced"
  • "overridden"
  • "deleted"
  • "parsed"
  • "gathered"
  • "rendered"

Примечания

Примечание

  • Тестировалось на 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

словарь

Результирующая конфигурация после выполнения модуля.

Возвращается: при изменении

Пример: "This output will always be in the same format as the module argspec.\n"

before

словарь

Конфигурация перед выполнением модуля.

Возвращается: когда состояние равно merged, replaced, overridden, deleted или purged

Пример: "This output will always be in the same format as the module argspec.\n"

commands

список / элементы=строка

Набор команд, отправленных на удаленное устройство.

Возвращается: когда состояние равно merged, replaced, overridden, deleted или purged

Пример: ["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"]

gathered

список / элементы=строка

Данные об сетевом ресурсе, собранные с удаленного устройства в виде структурированных данных.

Возвращается: когда состояние равно gathered

Пример: ["This output will always be in the same format as the module argspec.\n"]

parsed

список / элементы=строка

Родная конфигурация устройства из параметра running_config, разобранная в структурированные данные в соответствии с параметрами модуля argspec.

Возвращается: когда состояние равно parsed

Пример: ["This output will always be in the same format as the module argspec.\n"]

rendered

список / элементы=строка

Предоставленная конфигурация в задаче, рендеренная в формате устройства (офлайн).

Возвращается: когда состояние равно 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"]

Авторы

  • Ашвини Мхатре (@amhatre)

Ссылки на коллекцию

  • Система отслеживания ошибок
  • Репозиторий (источники)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API