Spec-Zone.ru › Ansible

Модуль cisco.iosxr.iosxr_vrf_global – Управляет глобальной конфигурацией VRF.

Примечание

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

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

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

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

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

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

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

  • Этот модуль управляет конфигурациями VRF на устройствах Cisco IOS-XR.
  • Он позволяет плейбукам работать как с отдельными VRF, так и со всем набором VRF.
  • Также он позволяет удалять из конфигурации определения VRF, заданные неявно.

Примечание

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

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

Параметры

Параметр

Комментарии

config

list / elements=dictionary

Словарь параметров конфигураций VRF.

description

string

Описание VRF.

evpn_route_sync

integer

Идентификатор VPN экземпляра EVPN, используемый для синхронизации маршрутов VRF.

fallback_vrf

string

Имя резервной VRF

mhost

dictionary

Параметры стека узла многоадресной рассылки

afi

string

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

Варианты:

  • "ipv4"
  • "ipv6"

default_interface

string

Интерфейс по умолчанию для многоадресной рассылки.

name

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

Имя VRF.

rd

string

Различитель маршрутов VPN (RD).

remote_route_filtering

dictionary

Включение/отключение фильтрации удалённых маршрутов для каждой VRF

disable

boolean

Отключение фильтрации удалённых маршрутов для каждой VRF

Варианты:

  • false
  • true

vpn

dictionary

Идентификатор VPN для VRF

id

string

Идентификатор VPN для 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. Подключение к удалённому узлу не требуется.

Состояние purged удаляет все конфигурации VRF с целевого устройства. Используйте это состояние с осторожностью.

Состояние deleted удаляет только атрибуты VRF, которыми управляет этот модуль, и не удаляет VRF полностью. Таким образом, конфигурации, относящиеся к семействам адресов в контексте VRF, сохраняются.

Дополнительные сведения см. в примерах.

Варианты:

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

Примечания

Примечание

  • Проверено на Cisco IOS-XR версии 9.0.0
  • Этот модуль работает с подключением network_cli.
  • См. параметры платформы IOS_XR.
  • В примерах модуля используется плагин обратного вызова (stdout_callback = yaml) для вывода задач в формате yaml.

Примеры

# Using merged
#
# Before state:
# -------------
#
# RP/0/0/CPU0:iosxr-02#show running-config vrf
# Fri Feb  9 07:02:35.789 UTC
# !
# vrf test
#

- name: Merge provided configuration with device configuration
  cisco.iosxr.iosxr_vrf_global:
    config:
      - name: VRF4
        description: VRF4 Description
        evpn_route_sync: 793
        fallback_vrf: "test-vrf"
        remote_route_filtering:
          disable: "true"
        rd: "3:4"
        mhost:
          afi: "ipv4"
          default_interface: "Loopback0"
        vpn:
          id: "2:3"
    state: merged

# Task Output:
# ------------
#
# before: []
#
# commands:
# - vrf VRF4
# - description VRF4 Description
# - evpn-route-sync 793
# - fallback-vrf test-vrf
# - mhost ipv4 default-interface Loopback0
# - rd 3:4
# - remote-route-filtering disable
# - vpn id 2:3
#
# after:
# - name: VRF4
#   description: VRF4 Description
#   evpn_route_sync: 793
#   fallback_vrf: "test-vrf"
#   mhost:
#     afi: "ipv4"
#     default_interface: "Loopback0"
#   rd: "3:4"
#   remote_route_filtering:
#     disable: "true"
#   vpn:
#     id: "2:3"
#
# After state:
# ------------
#
# RP/0/0/CPU0:iosxr-02#show running-config vrf
# Sat Feb 20 03:49:43.618 UTC
# vrf VRF4
#  description "VRF4 Description"
#  mhost ipv4 default-interface Loopback0
#  evpn-route-sync 793
#  vpn id 2:3
#  fallback-vrf "test-vrf"
#  remote-route-filtering disable
#  rd "3:4"

# Using replaced
#
# Before state:
# -------------
#
# RP/0/0/CPU0:iosxr-02#show running-config vrf
# Sat Feb 20 03:49:43.618 UTC
# vrf VRF4
#  description "VRF4 Description"
#  mhost ipv4 default-interface Loopback0
#  evpn-route-sync 793
#  vpn id 2:3
#  fallback-vrf "test-vrf"
#  remote-route-filtering disable
#  rd "3:4"

- name: Replace the provided configuration with the existing running configuration
  cisco.iosxr.iosxr_vrf_global:
    config:
      - name: VRF7
        description: VRF7 description
        evpn_route_sync: 398
        fallback_vrf: "replaced-vrf"
        remote_route_filtering:
          disable: "true"
        rd: "67:9"
        mhost:
          afi: "ipv4"
          default_interface: "Loopback0"
        vpn:
          id: "4:5"
    state: replaced

# Task Output:
# ------------
#
# before:
# - name: VRF4
#   description: VRF4 Description
#   evpn_route_sync: 793
#   fallback_vrf: "test-vrf"
#   mhost:
#     afi: "ipv4"
#     default_interface: "Loopback0"
#   rd: "3:4"
#   remote_route_filtering:
#     disable: "true"
#   vpn:
#     id: "2:3"
#
# commands:
# - vrf VRF4
# - no vpn id 2:3
# - vrf VRF7
# - description VRF7 description
# - evpn-route-sync 398
# - fallback-vrf replaced-vrf
# - mhost ipv4 default-interface Loopback0
# - rd 6:9
# - remote-route-filtering disable
# - vpn id 4:5
#
# after:
#   - name: VRF4
#     description: VRF4 Description
#     evpn_route_sync: 793
#     fallback_vrf: "test-vrf"
#     mhost:
#       afi: "ipv4"
#       default_interface: "Loopback0"
#     rd: "3:4"
#     remote_route_filtering:
#       disable: "true"
#   - name: VRF7
#     description: VRF7 description
#     evpn_route_sync: 398
#     fallback_vrf: "replaced-vrf"
#     remote_route_filtering:
#       disable: true
#     rd: "67:9"
#     mhost:
#       afi: "ipv4"
#       default_interface: "Loopback0"
#     vpn:
#       id: "4:5"
#
# After state:
# ------------
#
# RP/0/RP0/CPU0:ios(config)#show running-config vrf
# Sun Mar 10 16:48:53.204 UTC
# vrf VRF4
#  mhost ipv4 default-interface Loopback0
#  evpn-route-sync 793
#  description VRF4 Description
#  fallback-vrf test-vrf
#  remote-route-filtering disable
#  rd 3:4
# !
# vrf VRF7
#  mhost ipv4 default-interface Loopback0
#  evpn-route-sync 398
#  description VRF7 description
#  vpn id 4:5
#  fallback-vrf replaced-vrf
#  remote-route-filtering disable
#  rd 67:9
#  !
# !

# Using overridden
#
# Before state:
# -------------
#
# RP/0/RP0/CPU0:ios(config)#show running-config vrf
# Sun Mar 10 16:48:53.204 UTC
# vrf VRF4
#  mhost ipv4 default-interface Loopback0
#  evpn-route-sync 793
#  description VRF4 Description
#  fallback-vrf test-vrf
#  remote-route-filtering disable
#  rd 3:4
#  !
# !
# vrf VRF7
#  mhost ipv4 default-interface Loopback0
#  evpn-route-sync 398
#  description VRF7 description
#  vpn id 4:5
#  fallback-vrf replaced-vrf
#  remote-route-filtering disable
#  rd 67:9
#  !
# !

- name: Override the provided configuration with the existing running configuration
  cisco.iosxr.iosxr_vrf_global:
    state: overridden
    config:
      - name: VRF6
        description: VRF6 Description
        evpn_route_sync: 101
        fallback_vrf: "overridden-vrf"
        remote_route_filtering:
          disable: "true"
        rd: "9:8"
        mhost:
          afi: "ipv4"
          default_interface: "Loopback0"
        vpn:
          id: "23:3"

# Task Output:
# ------------
#
# before:
# - name: VRF4
#   description: VRF4 Description
#   evpn_route_sync: 793
#   fallback_vrf: "test-vrf"
#   mhost:
#     afi: "ipv4"
#     default_interface: "Loopback0"
#   rd: "3:4"
#   remote_route_filtering:
#     disable: "true"
# - name: VRF7
#   description: VRF7 description
#   evpn_route_sync: 398
#   fallback_vrf: "replaced-vrf"
#   remote_route_filtering:
#     disable: true
#   rd: "67:9"
#   mhost:
#     afi: "ipv4"
#     default_interface: "Loopback0"
#   vpn:
#     id: "4:5"
#
# commands:
# - vrf VRF4
# - no description VRF4 Description
# - no evpn-route-sync 793
# - no fallback-vrf test-vrf
# - no mhost ipv4 default-interface Loopback0
# - no rd 3:4
# - no remote-route-filtering disable
# - vrf VRF7
# - no description VRF7 description
# - no evpn-route-sync 398
# - no fallback-vrf replaced-vrf
# - no mhost ipv4 default-interface Loopback0
# - no rd 67:9
# - no remote-route-filtering disable
# - no vpn id 4:5
# - vrf VRF6
# - description VRF6 Description
# - evpn-route-sync 101
# - fallback-vrf overridden-vrf
# - mhost ipv4 default-interface Loopback0
# - rd 9:8
# - remote-route-filtering disable
# - vpn id 23:3
#
# after:
# - name: VRF4
# - name: VRF6
#   description: VRF6 Description
#   evpn_route_sync: 101
#   fallback_vrf: "overridden-vrf"
#   remote_route_filtering:
#     disable: "true"
#   rd: "9:8"
#   mhost:
#     afi: "ipv4"
#     default_interface: "Loopback0"
#   vpn:
#     id: "23:3"
# - name: VRF7
#
# After state:
# -------------
# RP/0/RP0/CPU0:ios(config)#show running-config vrf
# Sun Mar 10 16:54:53.007 UTC
# vrf VRF4
# vrf VRF6
#  mhost ipv4 default-interface Loopback0
#  evpn-route-sync 101
#  description VRF6 Description
#  vpn id 23:3
#  fallback-vrf overridden-vrf
#  remote-route-filtering disable
#  rd 9:8
# vrf VRF7

# Using deleted
#
# Before state:
# -------------
#
# RP/0/RP0/CPU0:ios(config)#show running-config vrf
# Sun Mar 10 16:54:53.007 UTC
# vrf VRF4
# vrf VRF6
#  mhost ipv4 default-interface Loopback0
#  evpn-route-sync 101
#  description VRF6 Description
#  vpn id 23:3
#  fallback-vrf overridden-vrf
#  remote-route-filtering disable
#  rd 9:8
# vrf VRF7

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

# Task Output:
# ------------
#
# before:
# - name: VRF4
# - name: VRF6
#   description: VRF6 Description
#   evpn_route_sync: 101
#   fallback_vrf: "overridden-vrf"
#   remote_route_filtering:
#     disable: "true"
#   rd: "9:8"
#   mhost:
#     afi: "ipv4"
#     default_interface: "Loopback0"
#   vpn:
#     id: "23:3"
# - name: VRF7

# commands:
# - vrf VRF4
# - vrf VRF6
# - no description VRF6 Description
# - no evpn-route-sync 101
# - no fallback-vrf overridden-vrf
# - no mhost ipv4 default-interface Loopback0
# - no rd 9:8
# - no remote-route-filtering disable
# - no vpn id 23:3
# - vrf VRF7
#
# after:
# - name: VRF4
# - name: VRF6
# - name: VRF7
#
# After state:
# ------------
#
# RP/0/RP0/CPU0:ios(config)#show running-config vrf
# Sun Mar 10 17:02:38.981 UTC
# vrf VRF4
# vrf VRF6
# vrf VRF7

# Using purged
#
# Before state:
# -------------
#
# RP/0/RP0/CPU0:ios(config)#show running-config vrf
# vrf VRF4
# vrf VRF6
# vrf VRF7

- name: Purge all the configuration from the device
  cisco.iosxr.iosxr_vrf_global:
    state: purged

# Task Output:
# ------------
#
# before:
# - name: VRF4
# - name: VRF6
# - name: VRF7
#
# commands:
# - no vrf VRF4
# - no vrf VRF6
# - no vrf VRF7
#
# after: []
#
# After state:
# -------------
# RP/0/RP0/CPU0:ios(config)#show running-config vrf
# Sun Mar 10 17:02:38.981 UTC
# -

# Using rendered
#
- name: Render provided configuration with device configuration
  cisco.iosxr.iosxr_vrf_global:
    config:
      - name: VRF4
        description: VRF4 Description
        evpn_route_sync: 793
        fallback_vrf: "test-vrf"
        remote_route_filtering:
          disable: "true"
        rd: "3:4"
        mhost:
          afi: "ipv4"
          default_interface: "Loopback0"
        vpn:
          id: "2:3"
    state: rendered

# Task Output:
# ------------
#
# rendered:
# - vrf VRF4
# - description VRF4 Description
# - evpn-route-sync 793
# - fallback-vrf test-vrf
# - mhost ipv4 default-interface Loopback0
# - rd 3:4
# - remote-route-filtering disable
# - vpn id 2:3

# Using gathered
#
# Before state:
# -------------
#
# RP/0/RP0/CPU0:ios(config)#show running-config vrf
# Sun Mar 10 17:02:38.981 UTC
# vrf VRF4
#  description "VRF4 Description"
#  mhost ipv4 default-interface Loopback0
#  evpn-route-sync 793
#  vpn id 2:3
#  fallback-vrf "test-vrf"
#  remote-route-filtering disable
#  rd "3:4"

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

# Task Output:
# ------------
#
# gathered:
# - name: VRF4
#   description: VRF4 Description
#   evpn_route_sync: 793
#   fallback_vrf: "test-vrf"
#   mhost:
#     afi: "ipv4"
#     default_interface: "Loopback0"
#   rd: "3:4"
#   remote_route_filtering:
#     disable: "true"
#   vpn:
#     id: "2:3"

# Using parsed
#
# File: parsed.cfg
# ----------------
#
# vrf test
#  description "This is test VRF"
#  mhost ipv4 default-interface Loopback0
#  evpn-route-sync 456
#  vpn id 56
#  fallback-vrf "test-vrf"
#  remote-route-filtering disable
#  rd "testing"
#  !
# !
# vrf my_vrf
#  mhost ipv4 default-interface Loopback0
#  evpn-route-sync 235
#  description "this is sample vrf for feature testing"
#  fallback-vrf "parsed-vrf"
#  rd "2:3"
#  remote-route-filtering disable
#  vpn id 23
#  !
# !

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

# Task Output:
# ------------
#
# parsed:
# - description: This is test VRF
#   evpn_route_sync: 456
#   fallback_vrf: test-vrf
#   mhost:
#     afi: ipv4
#     default_interface: Loopback0
#   name: test
#   rd: testing
#   remote_route_filtering:
#     disable: true
#   vpn:
#     id: '56'
# - description: this is sample vrf for feature testing
#   evpn_route_sync: 235
#   fallback_vrf: parsed-vrf
#   mhost:
#     afi: ipv4
#     default_interface: Loopback0
#   name: my_vrf
#   rd: '2:3'
#   remote_route_filtering:
#     disable: true
#   vpn:
#     id: '23'

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

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

Ключ

Описание

after

dictionary

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

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

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

before

dictionary

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

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

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

commands

list / elements=string

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

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

Пример: ["vrf VRF7", "description VRF7 description", {"rd": 4029}, "fallback-vrf replaced-vrf"]

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", "description VRF4 Description", "evpn-route-sync 793", "fallback-vrf parsed-vrf"]

Авторы

  • 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_global_module.html

Spec-Zone.ru

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