Spec-Zone.ru › Ansible

модуль cisco.ios.ios_vrf_interfaces — управление конфигурацией VRF на интерфейсах.

Примечание

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

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

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

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

Добавлено в cisco.ios 1.0.0

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

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

  • Управление конфигурацией виртуальной маршрутизации и переадресации (VRF) на интерфейсах устройств Cisco IOS.

Параметры

Параметр

Комментарии

config

list / elements=dictionary

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

name

string / required

Полное имя настраиваемого интерфейса.

Пример — GigabitEthernet1, Loopback24

vrf_name

string

Имя VRF, настраиваемой на интерфейсе.

При настройке в разделе интерфейса применяется команда «vrf forwarding <vrf_name>».

running_config

string

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

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

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

state

string

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

Варианты:

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

Примечания

Примечание

  • Проверено на Cisco IOS XE версии 17.13.01a
  • Перед назначением VRF интерфейсу она должна существовать
  • При удалении VRF с интерфейса связанные IP-адреса будут удалены
  • Дополнительные сведения об использовании Ansible для управления сетевыми устройствами см. в :ref:`руководстве по сетям Ansible <network_guide>`
  • Дополнительные сведения об использовании Ansible для управления устройствами Cisco см. на `странице интеграции с Cisco <https://www.ansible.com/integrations/networks/cisco>`_.

Примеры

# Using merged

# Before state:
# -------------
#
# vios#show running-config | section ^interface
# interface Loopback24
#  no ip address
# interface GigabitEthernet1
#  ip address dhcp
#  negotiation auto
# interface GigabitEthernet2
#  no ip address
#  shutdown
#  negotiation auto
# interface GigabitEthernet3
#  no ip address
#  negotiation auto
# interface GigabitEthernet4
#  no ip address
#  shutdown
#  negotiation auto

- name: Merge provided configuration with device configuration
  cisco.ios.ios_vrf_interfaces:
    config:
      - name: GigabitEthernet1
      - name: GigabitEthernet2
        vrf_name: vrf_D
      - name: GigabitEthernet3
      - name: GigabitEthernet4
    state: merged

# Task Output:
# ------------
#
# before:
#   - name: "Loopback24"
#   - name: "GigabitEthernet1"
#   - name: "GigabitEthernet2"
#   - name: "GigabitEthernet3"
#   - name: "GigabitEthernet4"
#
# commands:
#   - interface GigabitEthernet2
#   - vrf forwarding vrf_D
#
# after:
#   - name: "Loopback24"
#   - name: "GigabitEthernet1"
#   - name: "GigabitEthernet2"
#     vrf_name: "vrf_D"
#   - name: "GigabitEthernet3"
#   - name: "GigabitEthernet4"

# After state:
# ------------
#
# vios#show running-config | section ^interface
# interface Loopback24
#  no ip address
# interface GigabitEthernet1
#  ip address dhcp
#  negotiation auto
# interface GigabitEthernet2
#  vrf forwarding vrf_D
#  no ip address
#  shutdown
#  negotiation auto
# interface GigabitEthernet3
#  no ip address
#  negotiation auto
# interface GigabitEthernet4
#  no ip address
#  shutdown
#  negotiation auto

# Using overridden

# Before state:
# -------------
#
# vios#show running-config | section ^interface
# interface Loopback24
#  no ip address
# interface GigabitEthernet1
#  ip address dhcp
#  negotiation auto
# interface GigabitEthernet2
#  vrf forwarding vrf_B
#  no ip address
#  shutdown
#  negotiation auto
# interface GigabitEthernet3
#  no ip address
#  negotiation auto
# interface GigabitEthernet4
#  no ip address
#  shutdown
#  negotiation auto

- name: Override device configuration with provided configuration
  cisco.ios.ios_vrf_interfaces:
    config:
      - name: GigabitEthernet1
      - name: GigabitEthernet2
      - name: GigabitEthernet3
      - name: GigabitEthernet4
    state: overridden

# Task Output:
# ------------
#
# before:
#   - name: "Loopback24"
#   - name: "GigabitEthernet1"
#   - name: "GigabitEthernet2"
#     vrf_name: "vrf_B"
#   - name: "GigabitEthernet3"
#   - name: "GigabitEthernet4"
#
# commands:
#   - interface GigabitEthernet2
#   - no vrf forwarding vrf_B
#
# after:
#   - name: "Loopback24"
#   - name: "GigabitEthernet1"
#   - name: "GigabitEthernet2"
#   - name: "GigabitEthernet3"
#   - name: "GigabitEthernet4"

# After state:
# ------------
#
# vios#show running-config | section ^interface
# interface Loopback24
#  no ip address
# interface GigabitEthernet1
#  ip address dhcp
#  negotiation auto
# interface GigabitEthernet2
#  no ip address
#  shutdown
#  negotiation auto
# interface GigabitEthernet3
#  no ip address
#  negotiation auto
# interface GigabitEthernet4
#  no ip address
#  shutdown
#  negotiation auto

# Using gathered

# Before state:
# -------------
#
# vios#show running-config | section ^interface
# interface Loopback24
#  no ip address
# interface GigabitEthernet1
#  ip address dhcp
#  negotiation auto
# interface GigabitEthernet2
#  vrf forwarding vrf_B
#  no ip address
#  shutdown
#  negotiation auto
# interface GigabitEthernet3
#  no ip address
#  negotiation auto
# interface GigabitEthernet4
#  no ip address
#  shutdown
#  negotiation auto

- name: Gather listed VRF interfaces
  cisco.ios.ios_vrf_interfaces:
    state: gathered

# Task Output:
# ------------
#
# gathered:
#   - name: "Loopback24"
#   - name: "GigabitEthernet1"
#   - name: "GigabitEthernet2"
#     vrf_name: "vrf_B"
#   - name: "GigabitEthernet3"
#   - name: "GigabitEthernet4"

# Using rendered

- name: Render VRF configuration
  cisco.ios.ios_vrf_interfaces:
    config:
      - name: GigabitEthernet1
      - name: GigabitEthernet2
        vrf_name: vrf_D
      - name: GigabitEthernet3
      - name: GigabitEthernet4
    state: rendered

# Task Output:
# ------------
#
# rendered:
#   - interface GigabitEthernet2
#   - vrf forwarding vrf_D

# Using parsed

# File: parsed.cfg
# ---------------
#
# interface GigabitEthernet1
#  vrf vrf_C
#  shutdown
# !
# interface GigabitEthernet2
#  vrf vrf_D
#  shutdown
# !
# interface GigabitEthernet3
#  shutdown
# !
# interface GigabitEthernet4
#  shutdown
# !

- name: Parse configuration from device running config
  cisco.ios.ios_vrf_interfaces:
    running_config: "{{ lookup('file', 'parsed.cfg') }}"
    state: parsed

# Task Output:
# ------------
#
# parsed:
#   - name: "GigabitEthernet1"
#     vrf_name: "vrf_C"
#   - name: "GigabitEthernet2"
#     vrf_name: "vrf_D"
#   - name: "GigabitEthernet3"
#   - name: "GigabitEthernet4"

# Using replaced

# Before state:
# -------------
#
# vios#show running-config | section ^interface
# interface Loopback24
#  no ip address
# interface GigabitEthernet1
#  vrf forwarding vrf_A
#  ip address dhcp
#  negotiation auto
# interface GigabitEthernet2
#  vrf forwarding vrf_B
#  no ip address
#  shutdown
#  negotiation auto
# interface GigabitEthernet3
#  no ip address
#  negotiation auto
# interface GigabitEthernet4
#  vrf forwarding vrf_C
#  no ip address
#  shutdown
#  negotiation auto

- name: Replace device configuration of listed VRF interfaces with provided configuration
  cisco.ios.ios_vrf_interfaces:
    config:
      - name: GigabitEthernet1
        vrf_name: vrf_D
      - name: GigabitEthernet2
        vrf_name: vrf_E
    state: replaced

# Task Output:
# ------------
#
# before:
#   - name: "Loopback24"
#   - name: "GigabitEthernet1"
#     vrf_name: "vrf_A"
#   - name: "GigabitEthernet2"
#     vrf_name: "vrf_B"
#   - name: "GigabitEthernet3"
#   - name: "GigabitEthernet4"
#     vrf_name: "vrf_C"
#
# commands:
#   - interface GigabitEthernet1
#   - no vrf forwarding vrf_A
#   - vrf forwarding vrf_D
#   - interface GigabitEthernet2
#   - no vrf forwarding vrf_B
#   - vrf forwarding vrf_E
#
# after:
#   - name: "Loopback24"
#   - name: "GigabitEthernet1"
#     vrf_name: "vrf_D"
#   - name: "GigabitEthernet2"
#     vrf_name: "vrf_E"
#   - name: "GigabitEthernet3"
#   - name: "GigabitEthernet4"
#     vrf_name: "vrf_C"

# Using deleted

# Before state:
# -------------
#
# vios#show running-config | section ^interface
# interface Loopback24
#  no ip address
# interface GigabitEthernet1
#  vrf forwarding vrf_A
#  ip address dhcp
#  negotiation auto
# interface GigabitEthernet2
#  vrf forwarding vrf_B
#  no ip address
#  shutdown
#  negotiation auto
# interface GigabitEthernet3
#  no ip address
#  negotiation auto
# interface GigabitEthernet4
#  vrf forwarding vrf_C
#  no ip address
#  shutdown
#  negotiation auto

- name: Delete VRF configuration of specified interfaces
  cisco.ios.ios_vrf_interfaces:
    config:
      - name: GigabitEthernet1
      - name: GigabitEthernet2
    state: deleted

# Task Output:
# ------------
#
# before:
#   - name: "Loopback24"
#   - name: "GigabitEthernet1"
#     vrf_name: "vrf_A"
#   - name: "GigabitEthernet2"
#     vrf_name: "vrf_B"
#   - name: "GigabitEthernet3"
#   - name: "GigabitEthernet4"
#     vrf_name: "vrf_C"
#
# commands:
#   - interface GigabitEthernet1
#   - no vrf forwarding vrf_A
#   - interface GigabitEthernet2
#   - no vrf forwarding vrf_B
#
# after:
#   - name: "Loopback24"
#   - name: "GigabitEthernet1"
#   - name: "GigabitEthernet2"
#   - name: "GigabitEthernet3"
#   - name: "GigabitEthernet4"
#     vrf_name: "vrf_C"

# After state:
# ------------
#
# vios#show running-config | section ^interface
# interface Loopback24
#  no ip address
# interface GigabitEthernet1
#  ip address dhcp
#  negotiation auto
# interface GigabitEthernet2
#  no ip address
#  shutdown
#  negotiation auto
# interface GigabitEthernet3
#  no ip address
#  negotiation auto
# interface GigabitEthernet4
#  vrf forwarding vrf_C
#  no ip address
#  shutdown
#  negotiation auto

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

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

Ключ

Описание

after

list / elements=string

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

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

Пример: ["[\n    {\n        \"name\": \"Loopback24\"\n    }", "\n    {\n        \"name\": \"GigabitEthernet1\"\n    }", "\n    {\n        \"name\": \"GigabitEthernet2\"", "\n        \"vrf_name\": \"vrf_D\"\n    }", "\n    {\n        \"name\": \"GigabitEthernet3\"\n    }", "\n    {\n        \"name\": \"GigabitEthernet4\"\n    }\n]\n"]

before

list / elements=string

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

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

Пример: ["[\n    {\n        \"name\": \"Loopback24\"\n    }", "\n    {\n        \"name\": \"GigabitEthernet1\"\n    }", "\n    {\n        \"name\": \"GigabitEthernet2\"", "\n        \"vrf_name\": \"vrf_B\"\n    }", "\n    {\n        \"name\": \"GigabitEthernet3\"\n    }", "\n    {\n        \"name\": \"GigabitEthernet4\"\n    }\n]\n"]

commands

list / elements=string

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

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

Пример: ["interface GigabitEthernet2", "vrf forwarding vrf_D", "no vrf forwarding vrf_B"]

gathered

list / elements=string

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

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

Пример: ["[\n    {\n        \"name\": \"Loopback24\"\n    }", "\n    {\n        \"name\": \"GigabitEthernet1\"\n    }", "\n    {\n        \"name\": \"GigabitEthernet2\"", "\n        \"vrf_name\": \"vrf_B\"\n    }", "\n    {\n        \"name\": \"GigabitEthernet3\"\n    }", "\n    {\n        \"name\": \"GigabitEthernet4\"\n    }\n]\n"]

parsed

list / elements=string

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

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

Пример: ["[\n    {\n        \"name\": \"GigabitEthernet1\"", "\n        \"vrf_name\": \"vrf_C\"\n    }", "\n    {\n        \"name\": \"GigabitEthernet2\"", "\n        \"vrf_name\": \"vrf_D\"\n    }", "\n    {\n        \"name\": \"GigabitEthernet3\"\n    }", "\n    {\n        \"name\": \"GigabitEthernet4\"\n    }\n]\n"]

rendered

list / elements=string

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

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

Пример: ["interface GigabitEthernet1", "vrf forwarding vrf_C", "interface GigabitEthernet2", "vrf forwarding vrf_D"]

Авторы

  • AAYUSH ANAND (@AAYUSH2091)

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

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

© 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/ios/ios_vrf_interfaces_module.html

Spec-Zone.ru

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