ios_l2_interfaces – Управление интерфейсами уровня 2 на устройствах Cisco IOS
Новая в версии 2.9.
Обзор
- Этот модуль предоставляет декларативное управление интерфейсами уровня 2 на устройствах Cisco IOS.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| config список / элементы=словарь | Словарь параметров интерфейса уровня 2 | |||
| access словарь | Команда switchport mode access для настройки интерфейса как порта доступа уровня 2. | |||
| vlan целое число | Настройка указанной VLAN в порту доступа. Используется как идентификатор VLAN доступа. | |||
| name строка / обязательно | Полное имя интерфейса без номера логического модуля, например, GigabitEthernet0/1. | |||
| trunk словарь | Команда switchport mode trunk для настройки интерфейса как туннельного порта уровня 2. Примечание: инкапсуляция всегда устанавливается в dot1q. | |||
| allowed_vlans список | Список разрешенных VLAN в данном туннельном порту. Это единственные VLAN, которые будут настроены на туннеле. | |||
| encapsulation строка |
| Инкапсуляция при туннелировании, когда интерфейс находится в режиме туннелирования. | ||
| native_vlan целое число | VLAN по умолчанию, который будет настроен в туннельном порту. Используется как идентификатор туннельной VLAN по умолчанию. | |||
| pruning_vlans список | VLAN прореживания, которые будут настроены в туннельном порту. Используется как идентификатор туннельной VLAN прореживания. | |||
| state строка |
| Состояние конфигурации после завершения модуля | ||
Примечания
Примечание
- Проверено на Cisco IOSv версии 15.2 на VIRL
- Этот модуль работает с подключением
network_cli. См. Параметры платформы IOS.
Примеры
---
# Using merged
# Before state:
# -------------
#
# viosl2#show running-config | section ^interface
# interface GigabitEthernet0/1
# description Configured by Ansible
# negotiation auto
# interface GigabitEthernet0/2
# description This is test
# switchport access vlan 20
# media-type rj45
# negotiation auto
- name: Merge provided configuration with device configuration
ios_l2_interfaces:
config:
- name: GigabitEthernet0/1
access:
vlan: 10
- name: GigabitEthernet0/2
trunk:
allowed_vlan: 10-20, 40
native_vlan: 20
pruning_vlan: 10,20
encapsulation: dot1q
state: merged
# After state:
# ------------
#
# viosl2#show running-config | section ^interface
# interface GigabitEthernet0/1
# description Configured by Ansible
# switchport access vlan 10
# negotiation auto
# interface GigabitEthernet0/2
# description This is test
# switchport trunk allowed vlan 10-20,40
# switchport trunk encapsulation dot1q
# switchport trunk native vlan 20
# switchport trunk pruning vlan 10,20
# media-type rj45
# negotiation auto
# Using replaced
# Before state:
# -------------
#
# viosl2#show running-config | section ^interface
# interface GigabitEthernet0/1
# description Configured by Ansible
# switchport access vlan 20
# negotiation auto
# interface GigabitEthernet0/2
# description This is test
# switchport access vlan 20
# media-type rj45
# negotiation auto
- name: Replaces device configuration of listed l2 interfaces with provided configuration
ios_l2_interfaces:
config:
- name: GigabitEthernet0/2
trunk:
- allowed_vlan: 20-25,40
native_vlan: 20
pruning_vlan: 10
encapsulation: isl
state: replaced
# After state:
# -------------
#
# viosl2#show running-config | section ^interface
# interface GigabitEthernet0/1
# description Configured by Ansible
# switchport access vlan 20
# negotiation auto
# interface GigabitEthernet0/2
# description This is test
# switchport trunk allowed vlan 20-25,40
# switchport trunk encapsulation isl
# switchport trunk native vlan 20
# switchport trunk pruning vlan 10
# media-type rj45
# negotiation auto
# Using overridden
# Before state:
# -------------
#
# viosl2#show running-config | section ^interface
# interface GigabitEthernet0/1
# description Configured by Ansible
# switchport trunk encapsulation dot1q
# switchport trunk native vlan 20
# negotiation auto
# interface GigabitEthernet0/2
# description This is test
# switchport access vlan 20
# switchport trunk encapsulation dot1q
# switchport trunk native vlan 20
# media-type rj45
# negotiation auto
- name: Override device configuration of all l2 interfaces with provided configuration
ios_l2_interfaces:
config:
- name: GigabitEthernet0/2
access:
vlan: 20
state: overridden
# After state:
# -------------
#
# viosl2#show running-config | section ^interface
# interface GigabitEthernet0/1
# description Configured by Ansible
# negotiation auto
# interface GigabitEthernet0/2
# description This is test
# switchport access vlan 20
# media-type rj45
# negotiation auto
# Using Deleted
# Before state:
# -------------
#
# viosl2#show running-config | section ^interface
# interface GigabitEthernet0/1
# description Configured by Ansible
# switchport access vlan 20
# negotiation auto
# interface GigabitEthernet0/2
# description This is test
# switchport access vlan 20
# switchport trunk allowed vlan 20-40,60,80
# switchport trunk encapsulation dot1q
# switchport trunk native vlan 10
# switchport trunk pruning vlan 10
# media-type rj45
# negotiation auto
- name: Delete IOS L2 interfaces as in given arguments
ios_l2_interfaces:
config:
- name: GigabitEthernet0/1
state: deleted
# After state:
# -------------
#
# viosl2#show running-config | section ^interface
# interface GigabitEthernet0/1
# description Configured by Ansible
# negotiation auto
# interface GigabitEthernet0/2
# description This is test
# switchport access vlan 20
# switchport trunk allowed vlan 20-40,60,80
# switchport trunk encapsulation dot1q
# switchport trunk native vlan 10
# switchport trunk pruning vlan 10
# media-type rj45
# negotiation auto
# Using Deleted without any config passed
#"(NOTE: This will delete all of configured resource module attributes from each configured interface)"
# Before state:
# -------------
#
# viosl2#show running-config | section ^interface
# interface GigabitEthernet0/1
# description Configured by Ansible
# switchport access vlan 20
# negotiation auto
# interface GigabitEthernet0/2
# description This is test
# switchport access vlan 20
# switchport trunk allowed vlan 20-40,60,80
# switchport trunk encapsulation dot1q
# switchport trunk native vlan 10
# switchport trunk pruning vlan 10
# media-type rj45
# negotiation auto
- name: Delete IOS L2 interfaces as in given arguments
ios_l2_interfaces:
state: deleted
# After state:
# -------------
#
# viosl2#show running-config | section ^interface
# interface GigabitEthernet0/1
# description Configured by Ansible
# negotiation auto
# interface GigabitEthernet0/2
# description This is test
# media-type rj45
# negotiation auto
Возвращаемые значения
Общие возвращаемые значения описаны в здесь, следующие являются полями, уникальными для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| after список | при изменении | Конфигурация в виде структурированных данных после завершения модуля. Пример: Возвращаемая конфигурация всегда будет иметь тот же формат, что и параметры выше. |
| before список | всегда | Конфигурация в виде структурированных данных до вызова модуля. Пример: Возвращаемая конфигурация всегда будет иметь тот же формат, что и параметры выше. |
| commands список | всегда | Набор команд, отправленных на удалённое устройство Пример: ['interface GigabitEthernet0/1', 'switchport access vlan 20'] |
Статус
- Гарантируется обратная совместимость интерфейса этого модуля. [превью]
- Этот модуль поддерживается командой Ansible Network Team. [сеть]
Поддержка Red Hat
Дополнительную информацию о поддержке данного модуля Red Hat можно найти в этой статье базы знаний Red Hat.
Авторы
- Sumit Jaiswal (@justjais)
Подсказка
Если вы заметите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/ios_l2_interfaces_module.html