Spec-Zone.ru › Ansible

Модуль cisco.iosxr.iosxr_vrf_address_family — модуль ресурса для настройки семейства адресов VRF.

Примечание

Этот модуль входит в коллекцию cisco.iosxr (версия 12.3.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install cisco.iosxr.

Чтобы использовать модуль в плейбуке, укажите: cisco.iosxr.iosxr_vrf_address_family.

Добавлено в cisco.iosxr 10.0.0

  • Краткое описание
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Этот модуль настраивает атрибуты семейства адресов VRF на устройствах Cisco IOS-XR и управляет ими.

Примечание

Этому модулю соответствует плагин действия.

Псевдонимы: vrf_address_family

Параметры

Параметр

Комментарии

config

list / elements=dictionary

Конфигурация семейства адресов VRF.

address_families

list / elements=dictionary

Включить семейство адресов и перейти в режим его настройки — конфигурация AFI/SAFI

afi

string

Идентификатор семейства адресов (AFI)

Допустимые значения:

  • "ipv4"
  • "ipv6"

export

dictionary

Экспорт VRF

route_policy

string

Использовать route_policy для экспорта

route_target

string

Указать расширенные сообщества route target для экспорта.

to

dictionary

Экспортировать маршруты в VRF

default_vrf

dictionary

Экспортировать маршруты в VRF по умолчанию

route_policy

string

Использовать route_policy для экспорта

vrf

dictionary

Экспортировать маршруты в VRF

allow_imported_vpn

boolean

Разрешить экспорт импортированных маршрутов VPN в VRF, отличные от VRF по умолчанию

Допустимые значения:

  • false
  • true

import_config

dictionary

Импорт VRF

from_config

dictionary

Импортировать маршруты из VRF

bridge_domain

dictionary

Импорт VRF

advertise_as_vpn

boolean

Анонсировать локальные импортированные маршруты EVPN для PE

Допустимые значения:

  • false
  • true

default_vrf

dictionary

Экспортировать маршруты в VRF по умолчанию

route_policy

string

Использовать route_policy для экспорта

vrf

dictionary

Импортировать маршруты из VRF

advertise_as_vpn

boolean

Анонсировать локальные импортированные маршруты EVPN для PE

Допустимые значения:

  • false
  • true

route_policy

string

Использовать route_policy для экспорта

route_target

string

Указать расширенные сообщества route target для экспорта.

maximum

dictionary

Задать максимальный предел префиксов

prefix

integer

Задать максимальный предел префиксов таблицы.

safi

string

Модификатор семейства адресов

Допустимые значения:

  • "flowspec"
  • "multicast"
  • "unicast"

name

string / обязательный

Имя VRF.

running_config

string

Этот параметр используется только при состоянии parsed.

Значением этого параметра должен быть вывод, полученный с устройства IOS-XR при выполнении команды show running-config vrf.

Состояние parsed считывает конфигурацию из параметра running_config и преобразует ее в структурированные данные Ansible согласно спецификации аргументов модуля ресурса; затем значение возвращается в ключе parsed результата.

state

string

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

Состояния rendered, gathered и parsed не изменяют устройство.

Состояние rendered преобразует конфигурацию из параметра config в команды CLI для конкретной платформы, которые возвращаются в ключе rendered результата. Для состояния rendered активное подключение к удаленному узлу не требуется.

Состояние gathered получает с устройства текущую конфигурацию и преобразует ее в структурированные данные согласно спецификации аргументов модуля ресурса; значение возвращается в ключе gathered результата.

Состояние parsed считывает конфигурацию из параметра running_config и преобразует ее в формат JSON согласно параметрам модуля ресурса; значение возвращается в ключе parsed результата. Значение параметра running_config должно иметь тот же формат, что и вывод команды show running-config vrf. Подключение к удаленному узлу не требуется.

Допустимые значения:

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

Примечания

Примечание

  • Проверено на Cisco IOSXR версии 10.0.0
  • Этот модуль работает с подключением network_cli. См. параметры платформы IOS_XR
  • Дополнительные сведения об использовании Ansible для управления сетевыми устройствами см. в :ref:`руководстве по сетям Ansible <network_guide>`
  • Дополнительные сведения об использовании Ansible для управления устройствами Cisco см. на `странице интеграции Cisco <https://www.ansible.com/integrations/networks/cisco>`.

Примеры

# Using merged
#
# Before state:
# -------------
#
# RP/0/0/CPU0:iosxr#show running-config vrf
# vrf test
#

- name: Merge provided configuration with device configuration
  cisco.iosxr.iosxr_vrf_address_family:
    config:
      - name: VRF4
        address_families:
          - afi: "ipv4"
            safi: "unicast"
            export:
              route_target: "192.0.2.1:400"
              route_policy: "rm-policy"
              to:
                default_vrf:
                  route_policy: "rm-policy"
                vrf:
                  allow_imported_vpn: true
            import_config:
              route_target: "192.0.2.6:200"
              route_policy: "test-policy"
              from_config:
                bridge_domain:
                  advertise_as_vpn: true
                default_vrf:
                  route_policy: "test-policy"
                vrf:
                  advertise_as_vpn: true
            maximum:
              prefix: 100
    state: merged

# Task Output:
# ------------
#
# before: []
#
# commands:
# - vrf VRF4
# - address-family ipv4 unicast
# - export route-policy rm-policy
# - export route-target 192.0.2.1:400
# - export to default-vrf route-policy rm-policy
# - export to vrf allow-imported-vpn
# - import route-target 192.0.2.6:200
# - import route-policy test-policy
# - import from bridge-domain advertise-as-vpn
# - import from default-vrf route-policy test-policy
# - import from vrf advertise-as-vpn
# - maximum prefix 100
#
# after:
# - name: VRF4
#   address_families:
#     - afi: "ipv4"
#       safi: "unicast"
#       export:
#         route_target: "192.0.2.1:400"
#         route_policy: "rm-policy"
#         to:
#           default_vrf:
#             route_policy: "rm-policy"
#           vrf:
#             allow_imported_vpn: true
#       import_config:
#         route_target: "192.0.2.6:200"
#         route_policy: "test-policy"
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: true
#           default_vrf:
#             route_policy: "test-policy"
#           vrf:
#             advertise_as_vpn: true
#       maximum:
#         prefix: 100
#
# After state:
# ------------
#
# RP/0/0/CPU0:iosxr#show running-config vrf
# vrf VRF4
#  address-family ipv4 unicast
#   export route-policy rm-policy
#   export route-target 192.0.2.1:400
#   export to default-vrf route-policy rm-policy
#   export to vrf allow-imported-vpn
#   import route-target 192.0.2.6:200
#   import route-policy test-policy
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy test-policy
#   import from vrf advertise-as-vpn
#   maximum prefix 100

# Using replaced
#
# Before state:
# -------------
#
# RP/0/0/CPU0:iosxr#show running-config vrf
# vrf VRF4
#  address-family ipv4 unicast
#   export route-policy rm-policy
#   export route-target 192.0.2.1:400
#   export to default-vrf route-policy rm-policy
#   export to vrf allow-imported-vpn
#   import route-target 192.0.2.6:200
#   import route-policy test-policy
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy test-policy
#   import from vrf advertise-as-vpn
#   maximum prefix 100

- name: Replace the provided configuration with the existing running configuration
  cisco.iosxr.iosxr_vrf_address_family:
    config:
      - name: VRF7
        address_families:
          - afi: "ipv4"
            safi: "unicast"
            export:
              route_target: "192.0.2.2:400"
              route_policy: "rm-policy"
              to:
                default_vrf:
                  route_policy: "rm-policy"
                vrf:
                  allow_imported_vpn: true
            import_config:
              route_target: "192.0.2.4:400"
              route_policy: "test-policy"
              from_config:
                bridge_domain:
                  advertise_as_vpn: true
                default_vrf:
                  route_policy: "test-policy"
                vrf:
                  advertise_as_vpn: true
            maximum:
              prefix: 200
    state: replaced

# Task Output:
# ------------
#
# - name: VRF4
#   address_families:
#     - afi: "ipv4"
#       safi: "unicast"
#       export:
#         route_target: "192.0.2.1:400"
#         route_policy: "rm-policy"
#         to:
#           default_vrf:
#             route_policy: "rm-policy"
#           vrf:
#             allow_imported_vpn: true
#       import_config:
#         route_target: "192.0.2.6:200"
#         route_policy: "test-policy"
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: true
#           default_vrf:
#             route_policy: "test-policy"
#           vrf:
#             advertise_as_vpn: true
#       maximum:
#         prefix: 100
#
# commands:
# - vrf VRF7
# - address-family ipv4 unicast
# - export route-policy rm-policy
# - export route-target 192.0.2.2:400
# - export to default-vrf route-policy rm-policy
# - export to vrf allow-imported-vpn
# - import route-target 192.0.2.4:400
# - import route-policy test-policy
# - import from bridge-domain advertise-as-vpn
# - import from default-vrf route-policy test-policy
# - import from vrf advertise-as-vpn
# - maximum prefix 200
#
# after:
# - name: VRF7
#   address_families:
#     - afi: "ipv4"
#       safi: "unicast"
#       export:
#         route_target: "192.0.2.2:400"
#         route_policy: "rm-policy"
#         to:
#           default_vrf:
#             route_policy: "rm-policy"
#           vrf:
#             allow_imported_vpn: true
#       import_config:
#         route_target: "192.0.2.4:400"
#         route_policy: "test-policy"
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: true
#           default_vrf:
#             route_policy: "test-policy"
#           vrf:
#             advertise_as_vpn: true
#       maximum:
#         prefix: 200
#
# After state:
# ------------
#
# RP/0/RP0/CPU0:iosxr(config)#show running-config vrf
# vrf VRF7
#  address-family ipv4 unicast
#   import route-policy test-policy
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy test-policy
#   import from vrf advertise-as-vpn
#   import route-target
#    192.0.2.4:400
#   !
#   export route-policy rm-policy
#   export to vrf allow-imported-vpn
#   export to default-vrf route-policy rm-policy
#   export route-target
#    192.0.2.2:400
#   !
#   maximum prefix 200

# Using overridden
#
# Before state:
# -------------
#
# RP/0/RP0/CPU0:iosxr(config)#show running-config vrf
# vrf VRF7
#  address-family ipv4 unicast
#   import route-policy test-policy
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy test-policy
#   import from vrf advertise-as-vpn
#   import route-target
#    192.0.2.4:400
#   !
#   export route-policy rm-policy
#   export to vrf allow-imported-vpn
#   export to default-vrf route-policy rm-policy
#   export route-target
#    192.0.2.2:400
#   !
#   maximum prefix 200

- name: Override the provided configuration with the existing running configuration
  cisco.iosxr.iosxr_vrf_address_family:
    state: overridden
    config:
      - name: VRF6
        address_families:
          - afi: "ipv4"
            safi: "unicast"
            export:
              route_target: "192.0.2.8:200"
              route_policy: "rm-policy1"
              to:
                default_vrf:
                  route_policy: "rm-policy"
                vrf:
                  allow_imported_vpn: "true"
            import_config:
              route_target: "192.0.2.2:200"
              route_policy: "test-policy"
              from_config:
                bridge_domain:
                  advertise_as_vpn: "true"
                default_vrf:
                  route_policy: "test-policy"
                vrf:
                  advertise_as_vpn: "true"
            maximum:
              prefix: 500
# Task Output:
# ------------
#
# before:
# - name: VRF7
#   address_families:
#     - afi: "ipv4"
#       safi: "unicast"
#       export:
#         route_target: "192.0.2.2:400"
#         route_policy: "rm-policy"
#         to:
#           default_vrf:
#             route_policy: "rm-policy"
#           vrf:
#             allow_imported_vpn: true
#       import_config:
#         route_target: "192.0.2.4:400"
#         route_policy: "test-policy"
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: true
#           default_vrf:
#             route_policy: "test-policy"
#           vrf:
#             advertise_as_vpn: true
#       maximum:
#         prefix: 200
#
# commands:
# - vrf VRF7
# - address-family ipv4 unicast
# - no import route-policy test-policy
# - no import from bridge-domain advertise-as-vpn
# - no import from default-vrf route-policy test-policy
# - no import from vrf advertise-as-vpn
# - no import route-target 192.0.2.4:400
# - no export route-policy rm-policy
# - no export route-target 192.0.2.2:400
# - no export to default-vrf route-policy rm-policy
# - no export to vrf allow-imported-vpn
# - no maximum prefix 200
# - vrf VRF6
# - address-family ipv4 unicast
# - export route-policy rm-policy1
# - export route-target 192.0.2.8:200
# - export to default-vrf route-policy rm-policy
# - export to vrf allow-imported-vpn
# - import route-target 192.0.2.2:200
# - import route-policy test-policy
# - import from bridge-domain advertise-as-vpn
# - import from default-vrf route-policy test-policy
# - import from vrf advertise-as-vpn
# - maximum prefix 500
#
# after:
# - name: VRF4
# - name: VRF6
#   address_families:
#     - afi: "ipv4"
#       safi: "unicast"
#       export:
#         route_target: "192.0.2.8:200"
#         route_policy: "rm-policy1"
#         to:
#           default_vrf:
#             route_policy: "rm-policy"
#           vrf:
#             allow_imported_vpn: "true"
#       import_config:
#         route_target: "192.0.2.2:200"
#         route_policy: "test-policy"
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: "true"
#           default_vrf:
#             route_policy: "test-policy"
#           vrf:
#             advertise_as_vpn: "true"
#       maximum:
#         prefix: 500
# - name: VRF7
#
# After state:
# -------------
# RP/0/RP0/CPU0:iosxr(config)#show running-config vrf
# vrf VRF4
# vrf VRF6
#  address-family ipv4 unicast
#   import route-policy test-policy
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy test-policy
#   import from vrf advertise-as-vpn
#   import route-target
#    192.0.2.2:200
#   export route-policy rm-policy1
#   export to vrf allow-imported-vpn
#   export to default-vrf route-policy rm-policy
#   export route-target
#    192.0.2.8:200
#   maximum prefix 500
# vrf VRF7

# Using deleted
#
# Before state:
# -------------
#
# RP/0/RP0/CPU0:iosxr(config)#show running-config vrf
# vrf VRF4
# vrf VRF6
#  address-family ipv4 unicast
#   import route-policy test-policy
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy test-policy
#   import from vrf advertise-as-vpn
#   import route-target
#    192.0.2.2:200
#   export route-policy rm-policy1
#   export to vrf allow-imported-vpn
#   export to default-vrf route-policy rm-policy
#   export route-target
#    192.0.2.8:200
#   maximum prefix 500
# vrf VRF7

- name: Delete the provided configuration
  cisco.iosxr.iosxr_vrf_address_family:
    config:
    state: deleted

# Task Output:
# ------------
#
# before:
# - name: VRF4
# - name: VRF6
#   address_families:
#     - afi: "ipv4"
#       safi: "unicast"
#       export:
#         route_target: "192.0.2.8:200"
#         route_policy: "rm-policy1"
#         to:
#           default_vrf:
#             route_policy: "rm-policy"
#           vrf:
#             allow_imported_vpn: "true"
#       import_config:
#         route_target: "192.0.2.2:200"
#         route_policy: "test-policy"
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: "true"
#           default_vrf:
#             route_policy: "test-policy"
#           vrf:
#             advertise_as_vpn: "true"
#       maximum:
#         prefix: 500
# - name: VRF7

# commands:
# - vrf VRF4
# - vrf VRF6
# - no address-family ipv4 unicast
# - vrf VRF7
#
# after:
# - name: VRF4
# - name: VRF6
# - name: VRF7
#
# After state:
# ------------
#
# RP/0/RP0/CPU0:iosxr(config)#show running-config vrf
# vrf VRF4
# vrf VRF6
# vrf VRF7

# Using rendered
#
- name: Render provided configuration with device configuration
  cisco.iosxr.iosxr_vrf_address_family:
    config:
      - name: VRF4
        address_families:
          - afi: "ipv4"
            safi: "unicast"
            export:
              route_target: "192.0.2.1:400"
              route_policy: "rm-policy"
              to:
                default_vrf:
                  route_policy: "rm-policy"
                vrf:
                  allow_imported_vpn: true
            import_config:
              route_target: "192.0.2.6:200"
              route_policy: "test-policy"
              from_config:
                bridge_domain:
                  advertise_as_vpn: true
                default_vrf:
                  route_policy: "test-policy"
                vrf:
                  advertise_as_vpn: true
            maximum:
              prefix: 100
    state: rendered

# Task Output:
# ------------
#
# rendered:
# - vrf VRF4
# - address-family ipv4 unicast
# - export route-policy rm-policy
# - export route-target 192.0.2.1:400
# - export to default-vrf route-policy rm-policy
# - export to vrf allow-imported-vpn
# - import route-target 192.0.2.6:200
# - import route-policy test-policy
# - import from bridge-domain advertise-as-vpn
# - import from default-vrf route-policy test-policy
# - import from vrf advertise-as-vpn
# - maximum prefix 100

# Using gathered
#
# Before state:
# -------------
#
# RP/0/RP0/CPU0:iosxr(config)#show running-config vrf
# vrf VRF4
#  address-family ipv4 unicast
#   export route-policy rm-policy
#   export route-target 192.0.2.1:400
#   export to default-vrf route-policy rm-policy
#   export to vrf allow-imported-vpn
#   import route-target 192.0.2.6:200
#   import route-policy test-policy
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy test-policy
#   import from vrf advertise-as-vpn
#   maximum prefix 100

- name: Gather existing running configuration
  cisco.iosxr.iosxr_vrf_address_family:
    state: gathered

# Task Output:
# ------------
#
# gathered:
# - name: VRF4
#   address_families:
#     - afi: "ipv4"
#       safi: "unicast"
#       export:
#         route_target: "192.0.2.1:400"
#         route_policy: "rm-policy"
#         to:
#           default_vrf:
#             route_policy: "rm-policy"
#           vrf:
#             allow_imported_vpn: true
#       import_config:
#         route_target: "192.0.2.6:200"
#         route_policy: "test-policy"
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: true
#           default_vrf:
#             route_policy: "test-policy"
#           vrf:
#             advertise_as_vpn: true
#       maximum:
#         prefix: 100

# Using parsed
#
# File: parsed.cfg
# ----------------
#
# vrf test
#  address-family ipv4 unicast
#   export to default-vrf route-policy "rm-policy"
#   export to vrf allow-imported-vpn
#   export route-policy "export-policy"
#   export route-target
#    192.0.2.1:400
#   import route-target
#    192.0.2.2:200
#   import route-policy "test-policy"
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy "new-policy"
#   import from vrf advertise-as-vpn
#   maximum prefix 23

- name: Parse the provided configuration
  cisco.iosxr.iosxr_vrf_address_family:
    running_config: "{{ lookup('file', 'parsed.cfg') }}"
    state: parsed

# Task Output:
# ------------
#
# parsed:
#   - address_families:
#     - afi: ipv4
#       export:
#         route_policy: export-policy
#         route_target: 192.0.2.1:400
#         to:
#           default_vrf:
#             route_policy: rm-policy
#           vrf:
#             allow_imported_vpn: true
#       import_config:
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: true
#           default_vrf:
#             route_policy: new-policy
#           vrf:
#             advertise_as_vpn: true
#         route_policy: test-policy
#         route_target: 192.0.2.2:200
#       maximum:
#         prefix: 23
#       safi: unicast
#     name: test

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

after

list / elements=string

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

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

Пример: ["The configuration returned will always be in the same format\n of the parameters above.\n"]

before

list / elements=string

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

Возвращается: всегда

Пример: ["The configuration returned will always be in the same format\n of the parameters above.\n"]

commands

list / elements=string

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

Возвращается: всегда

Пример: ["vrf VRF7", "address-family ipv4 unicast", "export route-policy rm-policy", "import route-policy test-policy"]

gathered

list / elements=string

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

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

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

parsed

list / elements=string

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

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

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

rendered

list / elements=string

Конфигурация из задачи, преобразованная в собственный формат устройства (автономно).

Возвращается: когда state имеет значение rendered

Пример: ["vrf VRF4", "address-family ipv4 unicast", "export route-policy rm-policy"]

Авторы

  • Ruchi Pakhle (@Ruchip16)

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

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/cisco/iosxr/iosxr_vrf_address_family_module.html

Spec-Zone.ru

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