cisco.iosxr.iosxr_l2_interfaces модуль — Модуль ресурсов для настройки интерфейсов L2.
Примечание
Этот модуль является частью коллекции cisco.iosxr (версия 9.0.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install cisco.iosxr.
Чтобы использовать его в плейбуке, укажите: cisco.iosxr.iosxr_l2_interfaces.
Новое в cisco.iosxr 1.0.0
Описание
- Этот модуль управляет атрибутами интерфейсов второго уровня на устройствах Cisco IOS-XR.
Псевдонимы: l2_interfaces
Параметры
Параметр | Комментарии |
|---|---|
config список / элементы=словарь | Словарь параметров интерфейса второго уровня |
|
encapsulation словарь |
Указывает, какие пакеты будут соответствовать этому подинтерфейсу. |
|
dot1q целое число |
Пакеты VLAN с метками IEEE 802.1Q. |
|
second_dot1q целое число |
Пакеты VLAN с метками IEEE 802.1Q. |
|
l2protocol список / элементы=словарь |
Настройка туннелирования протокола второго уровня и фильтрации единиц данных протокола (PDU) на интерфейсе. |
|
cdp строка |
Параметры туннелирования и единиц данных протокола Cisco Discovery Protocol (CDP). Варианты:
|
|
cpsv строка |
Протоколы CDP, PVST+, STP и VTP. Варианты:
|
|
pvst строка |
Настраивает параметры туннелирования и единиц данных протокола Per-VLAN Spanning Tree (PVST). Варианты:
|
|
stp строка |
Параметры туннелирования и единиц данных протокола Spanning Tree (STP). Варианты:
|
|
vtp строка |
Параметры туннелирования и единиц данных протокола VLAN Trunk (VTP). Варианты:
|
|
l2transport логическое значение |
Команда режима switchport access для настройки интерфейса как порта доступа второго уровня Варианты:
|
|
name строка / обязательно |
Полное имя интерфейса/подинтерфейса без номера логического модуля, например GigabitEthernet0/0/0/1 или GigabitEthernet0/0/0/1.100. |
|
native_vlan целое число |
Настройка идентификатора нативного VLAN для магистрали |
|
propagate логическое значение |
Распространять события транспорта второго уровня. Обратите внимание, что это будет работать только в том случае, если параметр l2tranport установлен в TRUE Варианты:
|
|
q_vlan список / элементы=целое число |
Настройка VLAN 802.1Q. Обратите внимание, что он может принимать либо 2 идентификатора VLAN при настройке VLAN Q-in-Q, либо 1 идентификатор VLAN и «любой» как список ввода при настройке VLAN Q-in-any в качестве ввода. Обратите внимание, что этот параметр допустим только для подинтерфейсов и недопустим при настройке для интерфейса. Этот параметр устарел и заменён на qvlan, этот атрибут будет удален после 2026-06-01. |
|
qvlan список / элементы=строка |
Настройка VLAN 802.1Q. Обратите внимание, что он может принимать либо 2 идентификатора VLAN при настройке VLAN Q-in-Q, либо 1 идентификатор VLAN и «любой» как список ввода при настройке VLAN Q-in-any в качестве ввода. Обратите внимание, что этот параметр допустим только для подинтерфейсов и недопустим при настройке для интерфейса. |
running_config строка | Этот параметр используется только со state parsed. Значение этого параметра должно быть результатом выполнения команды show running-config interface на устройстве IOS-XR. State parsed считывает конфигурацию из параметра |
state строка | Состояние конфигурации после завершения работы модуля Варианты:
|
Примечания
Примечание
- Этот модуль работает с подключением
network_cli. См. параметры платформы IOS-XR.
Примеры
# Using merged
#
# Before state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/3
# description Ansible Network
# vrf custB
# ipv4 address 10.10.0.2 255.255.255.0
# duplex half
# shutdown
# !
# interface GigabitEthernet0/0/0/4
# description Test description
# !
- name: Merge provided configuration with device configuration
cisco.iosxr.iosxr_l2_interfaces:
config:
- name: GigabitEthernet0/0/0/3
native_vlan: 20
- name: GigabitEthernet0/0/0/4
native_vlan: 40
l2transport: true
l2protocol:
- stp: tunnel
- name: GigabitEthernet0/0/0/3.900
l2transport: true
q_vlan:
- 20
- 40
state: merged
# After state:
# ------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/3
# description Ansible Network
# vrf custB
# ipv4 address 10.10.0.2 255.255.255.0
# duplex half
# shutdown
# dot1q native vlan 20
# !
# interface GigabitEthernet0/0/0/4
# description Test description
# dot1q native vlan 10
# l2transport
# l2protocol stp tunnel
# !
# !
# interface GigabitEthernet0/0/0/3.900 l2transport
# dot1q vlan 20 40
# !
# Using replaced
#
# Before state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/3
# description Ansible Network
# vrf custB
# ipv4 address 10.10.0.2 255.255.255.0
# duplex half
# shutdown
# dot1q native vlan 20
# !
# interface GigabitEthernet0/0/0/4
# description Test description
# dot1q native vlan 10
# l2transport
# l2protocol stp tunnel
# !
# !
# interface GigabitEthernet0/0/0/3.900 l2transport
# dot1q vlan 20 40
# !
- name: >-
Replaces device configuration of listed interfaces with provided
configuration
cisco.iosxr.iosxr_l2_interfaces:
config:
- name: GigabitEthernet0/0/0/4
native_vlan: 40
l2transport: true
l2protocol:
- stp: forward
- name: GigabitEthernet0/0/0/3.900
q_vlan:
- 20
- any
state: replaced
# After state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/3
# description Ansible Network
# vrf custB
# ipv4 address 10.10.0.2 255.255.255.0
# duplex half
# shutdown
# dot1q native vlan 20
# !
# interface GigabitEthernet0/0/0/4
# description Test description
# dot1q native vlan 40
# l2transport
# l2protocol stp forward
# !
# !
# interface GigabitEthernet0/0/0/3.900 l2transport
# dot1q vlan 20 any
# !
# Using overridden
#
# Before state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/3
# description Ansible Network
# vrf custB
# ipv4 address 10.10.0.2 255.255.255.0
# duplex half
# shutdown
# dot1q native vlan 20
# !
# interface GigabitEthernet0/0/0/4
# description Test description
# dot1q native vlan 10
# l2transport
# l2protocol stp tunnel
# !
# !
# interface GigabitEthernet0/0/0/3.900 l2transport
# dot1q vlan 20 40
# !
- name: Override device configuration of all interfaces with provided configuration
cisco.iosxr.iosxr_l2_interfaces:
config:
- name: GigabitEthernet0/0/0/4
native_vlan: 40
l2transport: true
l2protocol:
- stp: forward
- name: GigabitEthernet0/0/0/3.900
q_vlan:
- 20
- any
state: overridden
# After state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/3
# description Ansible Network
# vrf custB
# ipv4 address 10.10.0.2 255.255.255.0
# duplex half
# shutdown
# !
# interface GigabitEthernet0/0/0/4
# description Test description
# dot1q native vlan 40
# l2transport
# l2protocol stp forward
# !
# !
# interface GigabitEthernet0/0/0/3.900
# dot1q vlan 20 any
# !
# Using deleted
#
# Before state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/3
# description Ansible Network
# vrf custB
# ipv4 address 10.10.0.2 255.255.255.0
# duplex half
# shutdown
# dot1q native vlan 20
# !
# interface GigabitEthernet0/0/0/4
# description Test description
# dot1q native vlan 10
# l2transport
# l2protocol stp tunnel
# !
# !
#
- name: "Delete L2 attributes of given interfaces (Note: This won't delete the interface itself)"
cisco.iosxr.iosxr_l2_interfaces:
config:
- name: GigabitEthernet0/0/0/4
state: deleted
# After state:
# ------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/3
# description Ansible Network
# vrf custB
# ipv4 address 10.10.0.2 255.255.255.0
# duplex half
# shutdown
# dot1q native vlan 20
# !
# interface GigabitEthernet0/0/0/4
# description Test description
# !
# Using Deleted without any config passed
# "(NOTE: This will delete all of configured resource module attributes from each configured interface)"
#
# Before state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/3
# description Ansible Network
# vrf custB
# ipv4 address 10.10.0.2 255.255.255.0
# duplex half
# shutdown
# dot1q native vlan 20
# !
# interface GigabitEthernet0/0/0/4
# description Test description
# dot1q native vlan 10
# l2transport
# l2protocol stp tunnel
# !
# !
- name: "Delete L2 attributes of all interfaces (Note: This won't delete the interface itself)"
cisco.iosxr.iosxr_l2_interfaces:
state: deleted
# After state:
# ------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/3
# description Ansible Network
# vrf custB
# ipv4 address 10.10.0.2 255.255.255.0
# duplex half
# shutdown
# !
# interface GigabitEthernet0/0/0/4
# description Test description
# !
# Using parsed
# parsed.cfg
# ------------
#
# interface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 10.8.38.70 255.255.255.0
# !
# interface GigabitEthernet0/0/0/0
# description Configured and Merged by Ansible-Network
# mtu 110
# ipv4 address 172.31.1.1 255.255.255.0
# duplex half
# !
# interface GigabitEthernet0/0/0/1
# dot1q native vlan 10
# l2transport
# l2protocol cdp forward
# l2protocol pvst tunnel
# propagate remote-status
# !
# !
# interface GigabitEthernet0/0/0/3
# shutdown
# !
# interface GigabitEthernet0/0/0/3.900
# encapsulation dot1q 20 second-dot1q 40
# !
# interface GigabitEthernet0/0/0/4
# shutdown
# dot1q native vlan 40
# !
- name: Convert L2 interfaces config to argspec without connecting to the appliance
cisco.iosxr.iosxr_l2_interfaces:
running_config: "{{ lookup('file', './parsed.cfg') }}"
state: parsed
# Task Output (redacted)
# -----------------------
# "parsed": [
# {
# "name": "GigabitEthernet0/0/0/0"
# },
# {
# "l2protocol": [
# {
# "cdp": "forward"
# },
# {
# "pvst": "tunnel"
# }
# ],
# "l2transport": true,
# "name": "GigabitEthernet0/0/0/1",
# "native_vlan": 10,
# "propagate": true
# },
# {
# "name": "GigabitEthernet0/0/0/3"
# },
# {
# "name": "GigabitEthernet0/0/0/3.900",
# "q_vlan": [
# 20,
# 40
# ]
# },
# {
# "name": "GigabitEthernet0/0/0/4",
# "native_vlan": 40
# }
# ]
# Using rendered
- name: Render platform specific commands from task input using rendered state
cisco.iosxr.iosxr_l2_interfaces:
config:
- name: GigabitEthernet0/0/0/1
native_vlan: 10
l2transport: true
l2protocol:
- pvst: tunnel
- cdp: forward
propagate: true
- name: GigabitEthernet0/0/0/3.900
q_vlan:
- 20
- 40
- name: GigabitEthernet0/0/0/4
native_vlan: 40
state: rendered
# Task Output (redacted)
# -----------------------
# "rendered": [
# "interface GigabitEthernet0/0/0/1",
# "dot1q native vlan 10",
# "l2transport l2protocol pvst tunnel",
# "l2transport l2protocol cdp forward",
# "l2transport propagate remote-status",
# "interface GigabitEthernet0/0/0/3.900",
# "dot1q vlan 20 40",
# "interface GigabitEthernet0/0/0/4",
# "dot1q native vlan 40"
# ]
# Using gathered
# Before state:
# ------------
#
# RP/0/0/CPU0:an-iosxr-02#show running-config interface
# interface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 10.8.38.70 255.255.255.0
# !
# interface GigabitEthernet0/0/0/0
# description Configured and Merged by Ansible-Network
# mtu 110
# ipv4 address 172.31.1.1 255.255.255.0
# duplex half
# !
# interface GigabitEthernet0/0/0/1
# dot1q native vlan 10
# l2transport
# l2protocol cdp forward
# l2protocol pvst tunnel
# propagate remote-status
# !
# !
# interface GigabitEthernet0/0/0/3
# shutdown
# !
# interface GigabitEthernet0/0/0/3.900
# encapsulation dot1q 20 second-dot1q 40
# !
# interface GigabitEthernet0/0/0/4
# shutdown
# dot1q native vlan 40
# !
- name: Gather IOSXR l2 interfaces as in given arguments
cisco.iosxr.iosxr_l2_interfaces:
config:
state: gathered
# Task Output (redacted)
# -----------------------
#
# "gathered": [
# {
# "name": "GigabitEthernet0/0/0/0"
# },
# {
# "l2protocol": [
# {
# "cdp": "forward"
# },
# {
# "pvst": "tunnel"
# }
# ],
# "l2transport": true,
# "name": "GigabitEthernet0/0/0/1",
# "native_vlan": 10,
# "propagate": true
# },
# {
# "name": "GigabitEthernet0/0/0/3"
# },
# {
# "name": "GigabitEthernet0/0/0/3.900",
# "q_vlan": [
# 20,
# 40
# ]
# },
# {
# "name": "GigabitEthernet0/0/0/4",
# "native_vlan": 40
# }
# ]
# After state:
# ------------
#
# RP/0/0/CPU0:an-iosxr-02#show running-config interface
# interface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 10.8.38.70 255.255.255.0
# !
# interface GigabitEthernet0/0/0/0
# description Configured and Merged by Ansible-Network
# mtu 110
# ipv4 address 172.31.1.1 255.255.255.0
# duplex half
# !
# interface GigabitEthernet0/0/0/1
# dot1q native vlan 10
# l2transport
# l2protocol cdp forward
# l2protocol pvst tunnel
# propagate remote-status
# !
# !
# interface GigabitEthernet0/0/0/3
# shutdown
# !
# interface GigabitEthernet0/0/0/3.900
# encapsulation dot1q 20 second-dot1q 40
# !
# interface GigabitEthernet0/0/0/4
# shutdown
# dot1q native vlan 40
# !
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
after список / элементы=строка | Конфигурация в виде структурированных данных после завершения модуля. Возвращается: при изменении Пример: |
before список / элементы=строка | Конфигурация в виде структурированных данных до вызова модуля. Возвращается: всегда Пример: |
commands список / элементы=строка | Набор команд, отправленных на удалённое устройство. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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_l2_interfaces_module.html