Модуль 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) Допустимые значения:
|
|
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 по умолчанию Допустимые значения:
|
|
import_config dictionary |
Импорт VRF |
|
from_config dictionary |
Импортировать маршруты из VRF |
|
bridge_domain dictionary |
Импорт VRF |
|
advertise_as_vpn boolean |
Анонсировать локальные импортированные маршруты EVPN для PE Допустимые значения:
|
|
default_vrf dictionary |
Экспортировать маршруты в VRF по умолчанию |
|
route_policy string |
Использовать route_policy для экспорта |
|
vrf dictionary |
Импортировать маршруты из VRF |
|
advertise_as_vpn boolean |
Анонсировать локальные импортированные маршруты EVPN для PE Допустимые значения:
|
|
route_policy string |
Использовать route_policy для экспорта |
|
route_target string |
Указать расширенные сообщества route target для экспорта. |
|
maximum dictionary |
Задать максимальный предел префиксов |
|
prefix integer |
Задать максимальный предел префиксов таблицы. |
|
safi string |
Модификатор семейства адресов Допустимые значения:
|
|
name string / обязательный |
Имя VRF. |
running_config string | Этот параметр используется только при состоянии parsed. Значением этого параметра должен быть вывод, полученный с устройства IOS-XR при выполнении команды show running-config vrf. Состояние parsed считывает конфигурацию из параметра |
state string | Состояние, в котором должна остаться конфигурация Состояния rendered, gathered и parsed не изменяют устройство. Состояние rendered преобразует конфигурацию из параметра Состояние gathered получает с устройства текущую конфигурацию и преобразует ее в структурированные данные согласно спецификации аргументов модуля ресурса; значение возвращается в ключе gathered результата. Состояние parsed считывает конфигурацию из параметра Допустимые значения:
|
Примечания
Примечание
- Проверено на 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 | Результирующая конфигурация после вызова модели. Возвращается: при изменении Пример: |
before list / elements=string | Конфигурация до вызова модели. Возвращается: всегда Пример: |
commands list / elements=string | Набор команд, отправленных на удаленное устройство. Возвращается: всегда Пример: |
gathered list / elements=string | Сведения о сетевом ресурсе, собранные с удаленного устройства в виде структурированных данных. Возвращается: когда state имеет значение Пример: |
parsed list / elements=string | Исходная конфигурация устройства из параметра running_config, разобранная в структурированные данные согласно спецификации аргументов модуля. Возвращается: когда state имеет значение Пример: |
rendered list / elements=string | Конфигурация из задачи, преобразованная в собственный формат устройства (автономно). Возвращается: когда state имеет значение Пример: |
Ссылки на коллекцию
© 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