Spec-Zone.ru › Ansible

Модуль cisco.nxos.nxos_l2_interfaces — модуль ресурсов интерфейсов L2

Примечание

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

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

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

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

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

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

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

  • Этот модуль управляет атрибутами интерфейсов уровня 2 интерфейсов NX-OS.

Примечание

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

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

Параметры

Параметр

Комментарии

config

list / elements=dictionary

Список параметров интерфейсов уровня 2

access

dictionary

Команда switchport mode access для настройки интерфейса как порта доступа уровня 2.

vlan

integer

Настройка указанной VLAN на порту доступа. Используется как идентификатор VLAN доступа.

beacon

boolean

Отключить/включить маячок интерфейса

Варианты:

  • false
  • true

cdp_enable

boolean

Включить/отключить CDP на интерфейсе

Варианты:

  • false
  • true

link_flap

dictionary

Настройка действий при колебаниях состояния соединения

error_disable

dictionary

Настройка перевода порта в состояние error-disable при колебаниях состояния соединения

count

integer

Настройка числа колебаний состояния соединения, при котором срабатывает действие

interval

integer

Настройка интервала, в течение которого срабатывает действие

mode

псевдонимы: switchport_mode

string

Режим, в котором необходимо настроить интерфейс.

Режим доступа не отображается в данных интерфейса, поэтому идемпотентность не будет соблюдаться для режима switchport mode access, и при каждом запуске результат будет содержать changed=True.

Варианты:

  • "dot1q-tunnel"
  • "access"
  • "trunk"
  • "fex-fabric"
  • "fabricpath"

name

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

Полное имя интерфейса, например Ethernet1/1.

trunk

dictionary

Команда switchport mode trunk для настройки интерфейса как транкового порта уровня 2.

allowed_vlans

string

Список VLAN, разрешённых на указанном транковом порту. Только эти VLAN будут настроены на транке.

Если включён режим switchport mode trunk, модуль будет считать диапазон 1–4093 диапазоном по умолчанию.

allowed_vlans_none

boolean

Этот параметр управляет конфигурацией `switchport trunk allowed vlan none`

Отмена этой команды подразумевает использование диапазона 1–4093 по умолчанию.

Этот атрибут не обеспечивает идемпотентность.

Варианты:

  • false
  • true

native_vlan

integer

Собственная VLAN для настройки на транковом порту. Используется как идентификатор собственной VLAN транка.

running_config

string

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

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

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

state

string

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

Варианты:

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

Примечания

Примечание

  • Проверено на NXOS 10.3(2) в CML
  • Не поддерживается на Cisco MDS

Примеры

# Using merged

# Before state:
# -------------
#
# switch# show running-config | section interface
# interface Ethernet1/1
# interface Ethernet1/2
#   switchport trunk native vlan 20
# interface mgmt0
#   ip address dhcp
#   ipv6 address auto-config

- name: Merge provided configuration with device configuration
  cisco.nxos.nxos_l2_interfaces:
    config:
      - name: Ethernet1/1
        trunk:
          native_vlan: 10
          allowed_vlans: 2,4,15
      - name: Ethernet1/2
        access:
          vlan: 30
    state: merged

# Task Output
# -----------
#
# before:
# - name: Loopback999
# - name: Ethernet1/2
# - name: mgmt0
# - name: Ethernet1/1
# commands:
# - interface Ethernet1/1
# - switchport trunk allowed vlan 2,4,15
# - switchport trunk native vlan 10
# - interface Ethernet1/2
# - switchport access vlan 30
# after:
# - name: Ethernet1/1
#   trunk:
#     allowed_vlans: 2,4,15
#     native_vlan: 10
# - access:
#     vlan: 30
#   name: Ethernet1/2
# - name: mgmt0
# - name: Loopback999

# After state:
# ------------
#
# switch# show running-config | section interface
# interface Ethernet1/1
#   switchport trunk native vlan 10
#   switchport trunk allowed vlans 2,4,15
# interface Ethernet1/2
#   switchport access vlan 30
# interface mgmt0
#   ip address dhcp
#   ipv6 address auto-config

# Using replaced

# Before state:
# -------------
#
# switch# show running-config | section interface
# interface Ethernet1/1
#   switchport trunk native vlan 10
#   switchport trunk allowed vlans 2,4,15
# interface Ethernet1/2
#   switchport access vlan 30
# interface mgmt0
#   ip address dhcp
#   ipv6 address auto-config

- name: Replace device configuration of specified L2 interfaces with provided configuration.
  cisco.nxos.nxos_l2_interfaces:
    config:
      - name: Ethernet1/1
        trunk:
          native_vlan: 20
          allowed_vlans: 5-10, 15
    state: replaced

# Task Output
# -----------
#
# before:
# - name: Ethernet1/1
#   trunk:
#     allowed_vlans: 2,4,15
#     native_vlan: 10
# - access:
#     vlan: 30
#   name: Ethernet1/2
# - name: mgmt0
# commands:
# - interface Ethernet1/1
# - no switchport trunk native vlan
# - switchport trunk allowed vlan 5-10,15
# - switchport trunk native vlan 20
# after:
# - name: Ethernet1/1
#   trunk:
#     allowed_vlans: 5-10,15
#     native_vlan: 20
# - access:
#     vlan: 30
#   name: Ethernet1/2
# - name: mgmt0

# After state:
# ------------
#
# switch# show running-config | section interface
# interface Ethernet1/1
#   switchport trunk native vlan 20
#   switchport trunk allowed vlan 5-10,15
# interface Ethernet1/2
#   switchport trunk native vlan 20
#   switchport mode trunk
# interface mgmt0
#   ip address dhcp
#   ipv6 address auto-config

# Using overridden

# Before state:
# -------------
#
# switch# show running-config | section interface
# interface Ethernet1/1
#   switchport trunk native vlan 20
#   switchport trunk allowed vlan 5-10,15
# interface Ethernet1/2
#   switchport trunk native vlan 20
#   switchport mode trunk
# interface mgmt0
#   ip address dhcp
#   ipv6 address auto-config

- name: Override device configuration with provided configuration.
  cisco.nxos.nxos_l2_interfaces:
    config:
      - name: Ethernet1/2
        access:
          vlan: 30
    state: overridden

# Task Output
# -----------
#
# before:
# - name: Ethernet1/1
#   trunk:
#     allowed_vlans: 5,6,7,8,9,10,15
#     native_vlan: 20
# - access:
#     vlan: 30
#   name: Ethernet1/2
# - name: mgmt0
# commands:
# - interface Ethernet1/1
# - no switchport trunk allowed vlan
# - no switchport trunk native vlan
# after:
# - name: Ethernet1/1
# - access:
#     vlan: 30
#   name: Ethernet1/2
# - name: mgmt0

# After state:
# ------------
#
# switch# show running-config | section interface
# interface Ethernet1/1
# interface Ethernet1/2
#   switchport access vlan 30
# interface mgmt0
#   ip address dhcp
#   ipv6 address auto-config


# Using deleted

# Before state:
# -------------
#
# switch# show running-config | section interface
# interface Ethernet1/1
#   switchport trunk native vlan 10
#   switchport trunk allowed vlan 2,4,15
# interface Ethernet1/2
#   switchport access vlan 30
# interface mgmt0
#   ip address dhcp
#   ipv6 address auto-config

- name: Delete L2 attributes of given interfaces (Note This won't delete the interface
    itself).
  cisco.nxos.nxos_l2_interfaces:
    config:
      - name: Ethernet1/1
      - name: Ethernet1/2
    state: deleted

# Task Output
# -----------
#
# before:
# - name: Ethernet1/1
#   trunk:
#     allowed_vlans: 2,4,15
#     native_vlan: 10
# - access:
#     vlan: 30
#   name: Ethernet1/2
# - name: mgmt0
# commands:
# - interface Ethernet1/1
# - no switchport trunk allowed vlan
# - no switchport trunk native vlan
# - interface Ethernet1/2
# - no switchport access vlan
# after:
# - name: Ethernet1/1
# - name: Ethernet1/2
# - name: mgmt0

# After state:
# ------------
#
# switch# show running-config | section interface
# interface Ethernet1/1
# interface Ethernet1/2
# interface mgmt0
#   ip address dhcp
#   ipv6 address auto-config

# Using rendered

- name: Render platform specific configuration lines (without connecting to the device)
  cisco.nxos.nxos_l2_interfaces:
    config:
      - name: Ethernet1/1
        trunk:
          native_vlan: 10
          allowed_vlans: 2,4,15
      - name: Ethernet1/2
        access:
          vlan: 30
      - name: Ethernet1/3
        trunk:
          native_vlan: 20
          allowed_vlans: 5-10, 15
    state: rendered

# Task Output
# -----------
#
# rendered:
# - interface Ethernet1/1
# - switchport trunk allowed vlan 2,4,15
# - switchport trunk native vlan 10
# - interface Ethernet1/2
# - switchport access vlan 30
# - interface Ethernet1/3
# - switchport trunk allowed vlan 5-10,15
# - switchport trunk native vlan 20

# Using parsed

# parsed.cfg
# ------------
#
# interface Ethernet1/800
#   switchport access vlan 18
#   switchport trunk allowed vlan 210
# interface Ethernet1/801
#   switchport trunk allowed vlan 2,4,15

- name: Use parsed state to convert externally supplied config to structured format
  cisco.nxos.nxos_l2_interfaces:
    running_config: "{{ lookup('file', 'parsed.cfg') }}"
    state: parsed

# Task output
# -----------
#
# parsed:
#  - name: Ethernet1/800
#    access:
#      vlan: 18
#    trunk:
#      allowed_vlans: "210"
#  - name: Ethernet1/801
#    trunk:
#      allowed_vlans: "2,4,15"

# Using gathered

# Before state:
# -------------
#
# switch# sh running-config | section ^interface
# interface Ethernet1/1
#   switchport access vlan 6
#   switchport trunk allowed vlan 200
# interface Ethernet1/2
#   switchport trunk native vlan 10

- name: Gather l2_interfaces facts from the device using nxos_l2_interfaces
  cisco.nxos.nxos_l2_interfaces:
    state: gathered

# Task output
# -----------
#
# gathered:
#  - name: "Ethernet1/1"
#    access:
#      vlan: 6
#    trunk:
#      allowed_vlans: "200"
#  - name: "Ethernet1/2"
#    trunk:
#      native_vlan: 10

# Using allowed_vlans_none

# Before state:
# -------------
#
# switch# show running-config | section interface
# interface Ethernet1/1
#   switchport mode trunk
#   switchport trunk allowed vlan 10-100
# interface Ethernet1/2
#   switchport mode trunk

- name: Configure trunk interface to allow no VLANs (block all traffic)
  cisco.nxos.nxos_l2_interfaces:
    config:
      - name: Ethernet1/1
        trunk:
          allowed_vlans_none: true
    state: merged

# Task Output
# -----------
#
# before:
# - name: Ethernet1/1
#   trunk:
#     allowed_vlans: "10-100"
# - name: Ethernet1/2
#   trunk:
#     allowed_vlans: "1-4094"
# commands:
# - interface Ethernet1/1
# - switchport trunk allowed vlan none
# after:
# - name: Ethernet1/1
#   trunk:
#     allowed_vlans_none: true
# - name: Ethernet1/2
#   trunk:
#     allowed_vlans: "1-4094"

# After state:
# ------------
#
# switch# show running-config | section interface
# interface Ethernet1/1
#   switchport mode trunk
#   switchport trunk allowed vlan none
# interface Ethernet1/2
#   switchport mode trunk

# Note: When allowed_vlans_none is not configured on a trunk interface,
# the module assumes the default allowed VLANs range of 1-4094.
# This is consistent with NX-OS default behavior where all VLANs are
# allowed on trunk ports unless explicitly restricted.

- name: Configure specific VLANs after removing none restriction
  cisco.nxos.nxos_l2_interfaces:
    config:
      - name: Ethernet1/1
        trunk:
          allowed_vlans: "10,20,30"
      - name: Ethernet1/2
        trunk:
          allowed_vlans_none: true
    state: replaced

# Task Output
# -----------
#
# commands:
# - interface Ethernet1/1
# - switchport trunk allowed vlan 10,20,30
# - interface Ethernet1/2
# - switchport trunk allowed vlan none

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

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

Ключ

Описание

after

list / elements=string

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

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

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

before

list / elements=string

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

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

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

commands

list / elements=string

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

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

Пример: ["interface Ethernet1/1", "switchport trunk allowed vlan 2,4,15", "switchport trunk native vlan 10", "interface Ethernet1/2", "switchport access vlan 30", "interface Ethernet1/3", "switchport trunk allowed vlan 5,6,7,8,9,10,15", "switchport trunk native vlan 20"]

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, разобранная в структурированные данные согласно argspec модуля.

Возвращается: если state равен parsed

Пример: ["This output will always be in the same format as the module argspec.\n"]

Авторы

  • Trishna Guha (@trishnaguha)
  • Vinay Mulugund (@roverflow)

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

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

© 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/nxos/nxos_l2_interfaces_module.html

Spec-Zone.ru

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