junos_l2_interfaces – Управление интерфейсом второго уровня на устройствах Juniper JUNOS
Новое в версии 2.9.
Обзор
- Этот модуль предоставляет декларативное управление интерфейсом второго уровня на устройствах Juniper JUNOS.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- ncclient (>=v0.6.4)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| config список / элементы=словарь | Словарь параметров интерфейса второго уровня | |||
| access словарь | Настройка интерфейса в режиме доступа второго уровня. | |||
| vlan строка | Настройка идентификатора VLAN доступа. | |||
| enhanced_layer логический |
| Истинно, если на устройстве установлено программное обеспечение Enhanced Layer 2 (ELS). Если конфигурация l2 находится в interface-mode, значение равно True, в противном случае, если конфигурация l2 находится в port-mode, значение равно False. | ||
| name строка / обязательно | Полное имя интерфейса, например, ge-0/0/1. | |||
| trunk словарь | Настройка интерфейса в режиме туннеля второго уровня. | |||
| allowed_vlans список | Список VLAN, которые необходимо настроить на порту туннеля. Используется для добавления или удаления диапазона VLAN из туннеля. | |||
| native_vlan строка | VLAN по умолчанию, который необходимо настроить на порту туннеля. Используется как идентификатор VLAN по умолчанию для туннеля. | |||
| unit целое число | Номер логического интерфейса. Значение unit должно быть целым числом. | |||
| state строка |
| Состояние конфигурации после завершения работы модуля | ||
Примечания
Примечание
- Для работы этого модуля необходимо включить службу netconf на управляемом удалённом устройстве.
- Тестировалось на версии JUNOS vSRX 18.4R1.
- Этот модуль работает с подключением
netconf. См. параметры платформы Junos OS.
Примеры
# Using deleted
# Before state:
# -------------
#
# ansible@junos01# show interfaces
# ge-0/0/1 {
# description "L2 interface";
# speed 1g;
# unit 0 {
# family ethernet-switching {
# interface-mode access;
# vlan {
# members vlan30;
# }
# }
# }
#}
#ge-0/0/2 {
# description "non L2 interface";
# unit 0 {
# family inet {
# address 192.168.56.14/24;
# }
# }
- name: "Delete L2 attributes of given interfaces (Note: This won't delete the interface itself)."
junos_l2_interfaces:
config:
- name: ge-0/0/1
- name: ge-0/0/2
state: deleted
# After state:
# ------------
#
# ansible@junos01# show interfaces
# ge-0/0/1 {
# description "L2 interface";
# speed 1g;
# }
#ge-0/0/2 {
# description "non L2 interface";
# unit 0 {
# family inet {
# address 192.168.56.14/24;
# }
# }
# Using merged
# Before state:
# -------------
# ansible@junos01# show interfaces
# ge-0/0/3 {
# description "test interface";
# speed 1g;
#}
# ge-0/0/4 {
# description interface-trunk;
# native-vlan-id 100;
# unit 0 {
# family ethernet-switching {
# interface-mode trunk;
# vlan {
# members [ vlan40 ];
# }
# }
# }
# }
- name: "Merge provided configuration with device configuration (default operation is merge)"
junos_l2_interfaces:
config:
- name: ge-0/0/3
access:
vlan: v101
- name: ge-0/0/4
trunk:
allowed_vlans:
- vlan30
native_vlan: 50
state: merged
# After state:
# ------------
# user@junos01# show interfaces
# ge-0/0/3 {
# description "test interface";
# speed 1g;
# unit 0 {
# family ethernet-switching {
# interface-mode access;
# vlan {
# members v101;
# }
# }
# }
# }
# ge-0/0/4 {
# description interface-trunk;
# native-vlan-id 50;
# unit 0 {
# family ethernet-switching {
# interface-mode trunk;
# vlan {
# members [ vlan40 vlan30 ];
# }
# }
# }
# }
# Using overridden
# Before state:
# -------------
# ansible@junos01# show interfaces
# ge-0/0/3 {
# description "test interface";
# speed 1g;
#}
# ge-0/0/4 {
# description interface-trunk;
# native-vlan-id 100;
# unit 0 {
# family ethernet-switching {
# interface-mode trunk;
# vlan {
# members [ vlan40 ];
# }
# }
# }
# }
# ge-0/0/5 {
# description "Configured by Ansible-11";
# unit 0 {
# family ethernet-switching {
# interface-mode access;
# vlan {
# members v101;
# }
# }
# }
# }
- name: "Override provided configuration with device configuration"
junos_l2_interfaces:
config:
- name: ge-0/0/3
access:
vlan: v101
- name: ge-0/0/4
trunk:
allowed_vlans:
- vlan30
native_vlan: 50
state: overridden
# After state:
# ------------
# user@junos01# show interfaces
# ge-0/0/3 {
# unit 0 {
# family ethernet-switching {
# interface-mode access;
# vlan {
# members v101;
# }
# }
# }
# }
# ge-0/0/4 {
# description interface-trunk;
# native-vlan-id 50;
# unit 0 {
# family ethernet-switching {
# interface-mode trunk;
# vlan {
# members [ vlan30 ];
# }
# }
# }
# }
# Using replaced
# Before state:
# -------------
# ansible@junos01# show interfaces
# ge-0/0/3 {
# description "test interface";
# speed 1g;
#}
# ge-0/0/4 {
# description interface-trunk;
# native-vlan-id 100;
# unit 0 {
# family ethernet-switching {
# interface-mode trunk;
# vlan {
# members [ vlan40 ];
# }
# }
# }
# }
- name: "Replace provided configuration with device configuration"
junos_l2_interfaces:
config:
- name: ge-0/0/3
access:
vlan: v101
- name: ge-0/0/4
trunk:
allowed_vlans:
- vlan30
native_vlan: 50
state: replaced
# After state:
# ------------
# user@junos01# show interfaces
# ge-0/0/3 {
# unit 0 {
# family ethernet-switching {
# interface-mode access;
# vlan {
# members v101;
# }
# }
# }
# }
# ge-0/0/4 {
# description interface-trunk;
# native-vlan-id 50;
# unit 0 {
# family ethernet-switching {
# interface-mode trunk;
# vlan {
# members [ vlan30 ];
# }
# }
# }
# }
Возвращаемые значения
Общие возвращаемые значения описаны в этой секции. Ниже приведены поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| after список | при изменении | Конфигурация в виде структурированных данных после завершения работы модуля. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и указанные выше параметры. |
| before список | всегда | Конфигурация в виде структурированных данных до вызова модуля. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и указанные выше параметры. |
| commands список | всегда | Набор команд, отправленных на удалённое устройство. Пример: ['команда 1', 'команда 2', 'команда 3'] |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается командой Ansible Network. [сетевой]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля компанией Red Hat можно найти в этой статье базы знаний Red Hat.
Авторы
- Ganesh Nalawade (@ganeshrn)
Подсказка
Если вы обнаружите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 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/junos_l2_interfaces_module.html