Spec-Zone.ru › Ansible 2.9

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
строка
    Варианты:
  • dot1q
  • isl
  • negotiate
Инкапсуляция при туннелировании, когда интерфейс находится в режиме туннелирования.
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

Spec-Zone.ru

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