cisco.ios.ios_vlans – Модуль ресурсов VLAN
Примечание
Этот плагин входит в коллекцию cisco.ios (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install cisco.ios.
Для использования в книге задач укажите: cisco.ios.ios_vlans.
Новое в версии 1.0.0: модуля cisco.ios
Обзор
- Этот модуль предоставляет возможность декларативного управления VLAN на устройствах Cisco IOS.
Примечание
У этого модуля есть соответствующий плагин действия.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| config список / элементы=словарь | Словарь параметров VLAN | ||
| mtu целое число | Максимальный размер блока передачи VLAN. Обратитесь к документации производителя для получения допустимых значений. | ||
| name строка | Символьное имя VLAN. ВАЖНО: имя name не должно содержать или заканчиваться на default, так как это зарезервировано для VLAN по умолчанию устройства. | ||
| remote_span логическое |
| Настройка VLAN как удаленного SPAN. | |
| shutdown строка |
| Отключение коммутации VLAN. | |
| state строка |
| Рабочее состояние VLAN | |
| vlan_id целое число / обязательно | ID VLAN. Диапазон 1-4094 | ||
| running_config строка | Этот параметр используется только со state parsed. Значение этого параметра должно быть результатом выполнения команды show vlan на устройстве IOS. state parsed считывает конфигурацию из параметра running_config и преобразует её в структурированные данные Ansible, соответствующие параметрам модуля ресурса, а затем возвращает значение в ключе parsed в результате. | ||
| state строка |
| Состояние, в котором должна быть оставлена конфигурация. Состояния rendered, gathered и parsed не производят никаких изменений на устройстве. Состояние rendered преобразует конфигурацию в параметре config в платформенно-специфические команды CLI, которые будут возвращены в ключе rendered в результате. Для состояния rendered активное подключение к удаленному хосту не требуется.Состояние gathered получит текущую конфигурацию с устройства и преобразует её в структурированные данные в формате, соответствующем параметрам модуля ресурса, и значение возвращается в ключе gathered в результате. Состояние parsed считывает конфигурацию из параметра running_config и преобразует её в формат JSON, соответствующий параметрам модуля ресурса, а значение возвращается в ключе parsed в результате. Значение параметра running_config должно быть в том же формате, что и вывод команды show running-config | include ip route|ipv6 route, выполненной на устройстве. Для состояния parsed активное подключение к удалённому хосту не требуется. | |
Примечания
Примечание
- Тестировано на устройстве Cisco IOSl2 версии 15.2 в среде VIRL.
Примеры
# Using merged
# Before state:
# -------------
#
# vios_l2#show vlan
# VLAN Name Status Ports
# ---- -------------------------------- --------- -------------------------------
# 1 default active Gi0/1, Gi0/2
# 1002 fddi-default act/unsup
# 1003 token-ring-default act/unsup
# 1004 fddinet-default act/unsup
# 1005 trnet-default act/unsup
#
# VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1 enet 100001 1500 - - - - - 0 0
# 1002 fddi 101002 1500 - - - - - 0 0
# 1003 tr 101003 1500 - - - - - 0 0
# 1004 fdnet 101004 1500 - - - ieee - 0 0
# 1005 trnet 101005 1500 - - - ibm - 0 0
- name: Merge provided configuration with device configuration
cisco.ios.ios_vlans:
config:
- name: Vlan_10
vlan_id: 10
state: active
shutdown: disabled
remote_span: 10
- name: Vlan_20
vlan_id: 20
mtu: 610
state: active
shutdown: enabled
- name: Vlan_30
vlan_id: 30
state: suspend
shutdown: enabled
state: merged
# After state:
# ------------
#
# vios_l2#show vlan
# VLAN Name Status Ports
# ---- -------------------------------- --------- -------------------------------
# 1 default active Gi0/1, Gi0/2
# 10 vlan_10 active
# 20 vlan_20 act/lshut
# 30 vlan_30 sus/lshut
# 1002 fddi-default act/unsup
# 1003 token-ring-default act/unsup
# 1004 fddinet-default act/unsup
# 1005 trnet-default act/unsup
#
# VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1 enet 100001 1500 - - - - - 0 0
# 10 enet 100010 1500 - - - - - 0 0
# 20 enet 100020 610 - - - - - 0 0
# 30 enet 100030 1500 - - - - - 0 0
# 1002 fddi 101002 1500 - - - - - 0 0
# 1003 tr 101003 1500 - - - - - 0 0
# 1004 fdnet 101004 1500 - - - ieee - 0 0
# 1005 trnet 101005 1500 - - - ibm - 0 0
#
# Remote SPAN VLANs
# ------------------------------------------------------------------------------
# 10
# Using overridden
# Before state:
# -------------
#
# vios_l2#show vlan
# VLAN Name Status Ports
# ---- -------------------------------- --------- -------------------------------
# 1 default active Gi0/1, Gi0/2
# 10 vlan_10 active
# 20 vlan_20 act/lshut
# 30 vlan_30 sus/lshut
# 1002 fddi-default act/unsup
# 1003 token-ring-default act/unsup
# 1004 fddinet-default act/unsup
# 1005 trnet-default act/unsup
#
# VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1 enet 100001 1500 - - - - - 0 0
# 10 enet 100010 1500 - - - - - 0 0
# 20 enet 100020 610 - - - - - 0 0
# 30 enet 100030 1500 - - - - - 0 0
# 1002 fddi 101002 1500 - - - - - 0 0
# 1003 tr 101003 1500 - - - - - 0 0
# 1004 fdnet 101004 1500 - - - ieee - 0 0
# 1005 trnet 101005 1500 - - - ibm - 0 0
#
# Remote SPAN VLANs
# ------------------------------------------------------------------------------
# 10
- name: Override device configuration of all VLANs with provided configuration
cisco.ios.ios_vlans:
config:
- name: Vlan_10
vlan_id: 10
mtu: 1000
state: overridden
# After state:
# ------------
#
# vios_l2#show vlan
# VLAN Name Status Ports
# ---- -------------------------------- --------- -------------------------------
# 10 Vlan_10 active
#
# VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 10 enet 100010 1000 - - - - - 0 0
# Using replaced
# Before state:
# -------------
#
# vios_l2#show vlan
# VLAN Name Status Ports
# ---- -------------------------------- --------- -------------------------------
# 1 default active Gi0/1, Gi0/2
# 10 vlan_10 active
# 20 vlan_20 act/lshut
# 30 vlan_30 sus/lshut
# 1002 fddi-default act/unsup
# 1003 token-ring-default act/unsup
# 1004 fddinet-default act/unsup
# 1005 trnet-default act/unsup
#
# VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1 enet 100001 1500 - - - - - 0 0
# 10 enet 100010 1500 - - - - - 0 0
# 20 enet 100020 610 - - - - - 0 0
# 30 enet 100030 1500 - - - - - 0 0
# 1002 fddi 101002 1500 - - - - - 0 0
# 1003 tr 101003 1500 - - - - - 0 0
# 1004 fdnet 101004 1500 - - - ieee - 0 0
# 1005 trnet 101005 1500 - - - ibm - 0 0
#
# Remote SPAN VLANs
# ------------------------------------------------------------------------------
# 10
- name: Replaces device configuration of listed VLANs with provided configuration
cisco.ios.ios_vlans:
config:
- vlan_id: 20
name: Test_VLAN20
mtu: 700
shutdown: disabled
- vlan_id: 30
name: Test_VLAN30
mtu: 1000
state: replaced
# After state:
# ------------
#
# vios_l2#show vlan
# VLAN Name Status Ports
# ---- -------------------------------- --------- -------------------------------
# 1 default active Gi0/1, Gi0/2
# 10 vlan_10 active
# 20 Test_VLAN20 active
# 30 Test_VLAN30 sus/lshut
# 1002 fddi-default act/unsup
# 1003 token-ring-default act/unsup
# 1004 fddinet-default act/unsup
# 1005 trnet-default act/unsup
#
# VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1 enet 100001 1500 - - - - - 0 0
# 10 enet 100010 1500 - - - - - 0 0
# 20 enet 100020 700 - - - - - 0 0
# 30 enet 100030 1000 - - - - - 0 0
# 1002 fddi 101002 1500 - - - - - 0 0
# 1003 tr 101003 1500 - - - - - 0 0
# 1004 fdnet 101004 1500 - - - ieee - 0 0
# 1005 trnet 101005 1500 - - - ibm - 0 0
#
# Remote SPAN VLANs
# ------------------------------------------------------------------------------
# 10
# Using deleted
# Before state:
# -------------
#
# vios_l2#show vlan
# VLAN Name Status Ports
# ---- -------------------------------- --------- -------------------------------
# 1 default active Gi0/1, Gi0/2
# 10 vlan_10 active
# 20 vlan_20 act/lshut
# 30 vlan_30 sus/lshut
# 1002 fddi-default act/unsup
# 1003 token-ring-default act/unsup
# 1004 fddinet-default act/unsup
# 1005 trnet-default act/unsup
#
# VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1 enet 100001 1500 - - - - - 0 0
# 10 enet 100010 1500 - - - - - 0 0
# 20 enet 100020 610 - - - - - 0 0
# 30 enet 100030 1500 - - - - - 0 0
# 1002 fddi 101002 1500 - - - - - 0 0
# 1003 tr 101003 1500 - - - - - 0 0
# 1004 fdnet 101004 1500 - - - ieee - 0 0
# 1005 trnet 101005 1500 - - - ibm - 0 0
#
# Remote SPAN VLANs
# ------------------------------------------------------------------------------
# 10
- name: Delete attributes of given VLANs
cisco.ios.ios_vlans:
config:
- vlan_id: 10
- vlan_id: 20
state: deleted
# After state:
# -------------
#
# vios_l2#show vlan
# VLAN Name Status Ports
# ---- -------------------------------- --------- -------------------------------
# 1 default active Gi0/1, Gi0/2
# 30 vlan_30 sus/lshut
# 1002 fddi-default act/unsup
# 1003 token-ring-default act/unsup
# 1004 fddinet-default act/unsup
# 1005 trnet-default act/unsup
#
# VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1 enet 100001 1500 - - - - - 0 0
# 30 enet 100030 1500 - - - - - 0 0
# 1002 fddi 101002 1500 - - - - - 0 0
# 1003 tr 101003 1500 - - - - - 0 0
# 1004 fdnet 101004 1500 - - - ieee - 0 0
# 1005 trnet 101005 1500 - - - ibm - 0 0
# Using Deleted without any config passed
#"(NOTE: This will delete all of configured vlans attributes)"
# Before state:
# -------------
#
# vios_l2#show vlan
# VLAN Name Status Ports
# ---- -------------------------------- --------- -------------------------------
# 1 default active Gi0/1, Gi0/2
# 10 vlan_10 active
# 20 vlan_20 act/lshut
# 30 vlan_30 sus/lshut
# 1002 fddi-default act/unsup
# 1003 token-ring-default act/unsup
# 1004 fddinet-default act/unsup
# 1005 trnet-default act/unsup
#
# VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1 enet 100001 1500 - - - - - 0 0
# 10 enet 100010 1500 - - - - - 0 0
# 20 enet 100020 610 - - - - - 0 0
# 30 enet 100030 1500 - - - - - 0 0
# 1002 fddi 101002 1500 - - - - - 0 0
# 1003 tr 101003 1500 - - - - - 0 0
# 1004 fdnet 101004 1500 - - - ieee - 0 0
# 1005 trnet 101005 1500 - - - ibm - 0 0
#
# Remote SPAN VLANs
# ------------------------------------------------------------------------------
# 10
- name: Delete attributes of ALL VLANs
cisco.ios.ios_vlans:
state: deleted
# After state:
# -------------
#
# vios_l2#show vlan
# VLAN Name Status Ports
# ---- -------------------------------- --------- -------------------------------
# 1 default active Gi0/1, Gi0/2
# 1002 fddi-default act/unsup
# 1003 token-ring-default act/unsup
# 1004 fddinet-default act/unsup
# 1005 trnet-default act/unsup
#
# VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1 enet 100001 1500 - - - - - 0 0
# 1002 fddi 101002 1500 - - - - - 0 0
# 1003 tr 101003 1500 - - - - - 0 0
# 1004 fdnet 101004 1500 - - - ieee - 0 0
# 1005 trnet 101005 1500 - - - ibm - 0 0
# Using Gathered
# Before state:
# -------------
#
# vios_l2#show vlan
# VLAN Name Status Ports
# ---- -------------------------------- --------- -------------------------------
# 1 default active Gi0/1, Gi0/2
# 10 vlan_10 active
# 20 vlan_20 act/lshut
# 30 vlan_30 sus/lshut
# 1002 fddi-default act/unsup
# 1003 token-ring-default act/unsup
# 1004 fddinet-default act/unsup
# 1005 trnet-default act/unsup
#
# VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1 enet 100001 1500 - - - - - 0 0
# 10 enet 100010 1500 - - - - - 0 0
# 20 enet 100020 610 - - - - - 0 0
# 30 enet 100030 1500 - - - - - 0 0
# 1002 fddi 101002 1500 - - - - - 0 0
# 1003 tr 101003 1500 - - - - - 0 0
# 1004 fdnet 101004 1500 - - - ieee - 0 0
# 1005 trnet 101005 1500 - - - ibm - 0 0
#
# Remote SPAN VLANs
# ------------------------------------------------------------------------------
# 10
- name: Gather listed vlans with provided configurations
cisco.ios.ios_vlans:
config:
state: gathered
# Module Execution Result:
# ------------------------
#
# "gathered": [
# {
# "mtu": 1500,
# "name": "default",
# "shutdown": "disabled",
# "state": "active",
# "vlan_id": 1
# },
# {
# "mtu": 1500,
# "name": "VLAN0010",
# "shutdown": "disabled",
# "state": "active",
# "vlan_id": 10
# },
# {
# "mtu": 1500,
# "name": "VLAN0020",
# "shutdown": "disabled",
# "state": "active",
# "vlan_id": 20
# },
# {
# "mtu": 1500,
# "name": "VLAN0030",
# "shutdown": "disabled",
# "state": "active",
# "vlan_id": 30
# },
# {
# "mtu": 1500,
# "name": "fddi-default",
# "shutdown": "enabled",
# "state": "active",
# "vlan_id": 1002
# },
# {
# "mtu": 1500,
# "name": "token-ring-default",
# "shutdown": "enabled",
# "state": "active",
# "vlan_id": 1003
# },
# {
# "mtu": 1500,
# "name": "fddinet-default",
# "shutdown": "enabled",
# "state": "active",
# "vlan_id": 1004
# },
# {
# "mtu": 1500,
# "name": "trnet-default",
# "shutdown": "enabled",
# "state": "active",
# "vlan_id": 1005
# }
# ]
# After state:
# ------------
#
# vios_l2#show vlan
# VLAN Name Status Ports
# ---- -------------------------------- --------- -------------------------------
# 1 default active Gi0/1, Gi0/2
# 10 vlan_10 active
# 20 vlan_20 act/lshut
# 30 vlan_30 sus/lshut
# 1002 fddi-default act/unsup
# 1003 token-ring-default act/unsup
# 1004 fddinet-default act/unsup
# 1005 trnet-default act/unsup
#
# VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1 enet 100001 1500 - - - - - 0 0
# 10 enet 100010 1500 - - - - - 0 0
# 20 enet 100020 610 - - - - - 0 0
# 30 enet 100030 1500 - - - - - 0 0
# 1002 fddi 101002 1500 - - - - - 0 0
# 1003 tr 101003 1500 - - - - - 0 0
# 1004 fdnet 101004 1500 - - - ieee - 0 0
# 1005 trnet 101005 1500 - - - ibm - 0 0
#
# Remote SPAN VLANs
# ------------------------------------------------------------------------------
# 10
# Using Rendered
- name: Render the commands for provided configuration
cisco.ios.ios_vlans:
config:
- name: Vlan_10
vlan_id: 10
state: active
shutdown: disabled
remote_span: 10
- name: Vlan_20
vlan_id: 20
mtu: 610
state: active
shutdown: enabled
- name: Vlan_30
vlan_id: 30
state: suspend
shutdown: enabled
state: rendered
# Module Execution Result:
# ------------------------
#
# "rendered": [
# "vlan 10",
# "name Vlan_10",
# "state active",
# "remote-span",
# "no shutdown",
# "vlan 20",
# "name Vlan_20",
# "state active",
# "mtu 610",
# "shutdown",
# "vlan 30",
# "name Vlan_30",
# "state suspend",
# "shutdown"
# ]
# Using Parsed
# File: parsed.cfg
# ----------------
#
# VLAN Name Status Ports
# ---- -------------------------------- --------- -------------------------------
# 1 default active Gi0/1, Gi0/2
# 10 vlan_10 active
# 20 vlan_20 act/lshut
# 30 vlan_30 sus/lshut
# 1002 fddi-default act/unsup
# 1003 token-ring-default act/unsup
# 1004 fddinet-default act/unsup
# 1005 trnet-default act/unsup
#
# VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1 enet 100001 1500 - - - - - 0 0
# 10 enet 100010 1500 - - - - - 0 0
# 20 enet 100020 1500 - - - - - 0 0
# 30 enet 100030 1500 - - - - - 0 0
# 1002 fddi 101002 1500 - - - - - 0 0
# 1003 tr 101003 1500 - - - - - 0 0
# 1004 fdnet 101004 1500 - - - ieee - 0 0
# 1005 trnet 101005 1500 - - - ibm - 0 0
- name: Parse the commands for provided configuration
cisco.ios.ios_vlans:
running_config: "{{ lookup('file', './parsed.cfg') }}"
state: parsed
# Module Execution Result:
# ------------------------
#
# "parsed": [
# {
# "mtu": 1500,
# "name": "default",
# "shutdown": "disabled",
# "state": "active",
# "vlan_id": 1
# },
# {
# "mtu": 1500,
# "name": "vlan_10",
# "shutdown": "disabled",
# "state": "active",
# "vlan_id": 10
# },
# {
# "mtu": 1500,
# "name": "vlan_20",
# "shutdown": "enabled",
# "state": "active",
# "vlan_id": 20
# },
# {
# "mtu": 1500,
# "name": "vlan_30",
# "shutdown": "enabled",
# "state": "suspend",
# "vlan_id": 30
# },
# {
# "mtu": 1500,
# "name": "fddi-default",
# "shutdown": "enabled",
# "state": "active",
# "vlan_id": 1002
# },
# {
# "mtu": 1500,
# "name": "token-ring-default",
# "shutdown": "enabled",
# "state": "active",
# "vlan_id": 1003
# },
# {
# "mtu": 1500,
# "name": "fddinet-default",
# "shutdown": "enabled",
# "state": "active",
# "vlan_id": 1004
# },
# {
# "mtu": 1500,
# "name": "trnet-default",
# "shutdown": "enabled",
# "state": "active",
# "vlan_id": 1005
# }
# ]
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| after список / элементы=строка | при изменении | Конфигурация в виде структурированных данных после завершения модуля. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и параметры выше. |
| before список / элементы=строка | всегда | Конфигурация в виде структурированных данных до вызова модуля. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и параметры выше. |
| commands список / элементы=строка | всегда | Набор команд, отправленных удалённому устройству. Пример: ['vlan 20', 'name vlan_20', 'mtu 600', 'remote-span'] |
Авторы
- Sumit Jaiswal (@justjais)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/cisco/ios/ios_vlans_module.html