cisco.ios.ios_lldp_interfaces – Модуль ресурсов интерфейсов LLDP
Примечание
Этот плагин входит в коллекцию cisco.ios (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install cisco.ios.
Для использования в книге задач укажите: cisco.ios.ios_lldp_interfaces.
Добавлена в версии 1.0.0: коллекции cisco.ios
Обзор
- Этот модуль управляет атрибутами протокола обнаружения канального уровня (LLDP) интерфейсов на устройствах Cisco IOS.
Примечание
Данному модулю соответствует плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| config список / элементы=словарь | Словарь параметров LLDP | |||
| med_tlv_select словарь | Выбор TLV LLDP MED для отправки ПРИМЕЧАНИЕ: если med-tlv-select настроен, идемпотентность не будет поддерживаться, так как устройство Cisco не записывает настроенные параметры med-tlv-select. Поэтому Ansible не может проверить, настроен ли соответствующий med-tlv-select на устройстве. Если вы пытаетесь применить параметр med-tlv-select в каждом выполнении книги задач, Ansible будет показывать, что изменения произошли. | |||
| inventory_management логическое значение |
| TLV управления инвентаризацией LLDP MED | ||
| name строка / обязательно | Полное имя интерфейса без номера логического блока, например, GigabitEthernet0/1. | |||
| receive логическое значение |
| Включить прием LLDP на интерфейсе. | ||
| tlv_select словарь | Выбор LLDP type-length-value (TLV) для отправки ПРИМЕЧАНИЕ: если tlv-select настроен, идемпотентность не будет поддерживаться, так как устройство Cisco не записывает настроенные параметры tlv-select. Поэтому Ansible не может проверить, настроен ли соответствующий tlv-select на устройстве. Если вы пытаетесь применить параметр tlv-select в каждом выполнении книги задач, Ansible будет показывать, что изменения произошли. | |||
| power_management логическое значение |
| IEEE 802.3 DTE Power via MDI TLV | ||
| transmit логическое значение |
| Включить передачу LLDP на интерфейсе. | ||
| running_config строка | Этот параметр используется только со значением parsed. Значение этого параметра должно быть выводом от устройства IOS, полученным после выполнения команды sh lldp interface. Состояние parsed считывает конфигурацию из параметра running_config и преобразует ее в структурированные данные Ansible, соответствующие argspec модуля ресурсов, а значение затем возвращается в ключе 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 IOSv версии 15.2 на VIRL.
Примеры
# Using merged
#
# Before state:
# -------------
#
# vios#sh lldp interface
# GigabitEthernet0/0:
# Tx: enabled
# Rx: disabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/1:
# Tx: disabled
# Rx: disabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/2:
# Tx: disabled
# Rx: disabled
# Tx state: IDLE
# Rx state: INIT
#
# GigabitEthernet0/3:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
- name: Merge provided configuration with device configuration
cisco.ios.ios_lldp_interfaces:
config:
- name: GigabitEthernet0/1
receive: true
transmit: true
- name: GigabitEthernet0/2
receive: true
- name: GigabitEthernet0/3
transmit: true
state: merged
# After state:
# ------------
#
# vios#sh lldp interface
# GigabitEthernet0/0:
# Tx: enabled
# Rx: disabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/1:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/2:
# Tx: disabled
# Rx: enabled
# Tx state: IDLE
# Rx state: INIT
#
# GigabitEthernet0/3:
# Tx: enabled
# Rx: disabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# Using overridden
#
# Before state:
# -------------
#
# vios#sh lldp interface
# GigabitEthernet0/0:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/1:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/2:
# Tx: disabled
# Rx: disabled
# Tx state: IDLE
# Rx state: INIT
#
# GigabitEthernet0/3:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
- name: Override device configuration of all lldp_interfaces with provided configuration
cisco.ios.ios_lldp_interfaces:
config:
- name: GigabitEthernet0/2
receive: true
transmit: true
state: overridden
# After state:
# ------------
#
# vios#sh lldp interface
# GigabitEthernet0/0:
# Tx: disabled
# Rx: disabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/1:
# Tx: disabled
# Rx: disabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/2:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: INIT
#
# GigabitEthernet0/3:
# Tx: disabled
# Rx: disabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
# Using replaced
#
# Before state:
# -------------
#
# vios#sh lldp interface
# GigabitEthernet0/0:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/1:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/2:
# Tx: disabled
# Rx: disabled
# Tx state: IDLE
# Rx state: INIT
#
# GigabitEthernet0/3:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
- name: Replaces device configuration of listed lldp_interfaces with provided configuration
cisco.ios.ios_lldp_interfaces:
config:
- name: GigabitEthernet0/2
receive: true
transmit: true
- name: GigabitEthernet0/3
receive: true
state: replaced
# After state:
# ------------
#
# vios#sh lldp interface
# GigabitEthernet0/0:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/1:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/2:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: INIT
#
# GigabitEthernet0/3:
# Tx: disabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# Using Deleted
#
# Before state:
# -------------
#
# vios#sh lldp interface
# GigabitEthernet0/0:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/1:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/2:
# Tx: disabled
# Rx: disabled
# Tx state: IDLE
# Rx state: INIT
#
# GigabitEthernet0/3:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
- name: "Delete LLDP attributes of given interfaces (Note: This won't delete the interface itself)"
cisco.ios.ios_lldp_interfaces:
config:
- name: GigabitEthernet0/1
state: deleted
# After state:
# -------------
#
# vios#sh lldp interface
# GigabitEthernet0/0:
# Tx: disabled
# Rx: disabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/1:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/2:
# Tx: disabled
# Rx: disabled
# Tx state: IDLE
# Rx state: INIT
#
# GigabitEthernet0/3:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# Using Deleted without any config passed
# "(NOTE: This will delete all of configured LLDP module attributes)"
#
# Before state:
# -------------
#
# vios#sh lldp interface
# GigabitEthernet0/0:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/1:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/2:
# Tx: disabled
# Rx: disabled
# Tx state: IDLE
# Rx state: INIT
#
# GigabitEthernet0/3:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
- name: "Delete LLDP attributes for all configured interfaces (Note: This won't delete the interface itself)"
cisco.ios.ios_lldp_interfaces:
state: deleted
# After state:
# -------------
#
# vios#sh lldp interface
# GigabitEthernet0/0:
# Tx: disabled
# Rx: disabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/1:
# Tx: disabled
# Rx: disabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/2:
# Tx: disabled
# Rx: disabled
# Tx state: IDLE
# Rx state: INIT
#
# GigabitEthernet0/3:
# Tx: disabled
# Rx: disabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
# Using Gathered
# Before state:
# -------------
#
# vios#sh lldp interface
# GigabitEthernet0/0:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/1:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/2:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
- name: Gather listed LLDP interfaces with provided configurations
cisco.ios.ios_lldp_interfaces:
config:
state: gathered
# Module Execution Result:
# ------------------------
#
# "gathered": [
# {
# "name": "GigabitEthernet0/0",
# "receive": true,
# "transmit": true
# },
# {
# "name": "GigabitEthernet0/1",
# "receive": true,
# "transmit": true
# },
# {
# "name": "GigabitEthernet0/2",
# "receive": true,
# "transmit": true
# }
# ]
# After state:
# ------------
#
# vios#sh lldp interface
# GigabitEthernet0/0:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/1:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
# GigabitEthernet0/2:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
# Using Rendered
- name: Render the commands for provided configuration
cisco.ios.ios_lldp_interfaces:
config:
- name: GigabitEthernet0/0
receive: true
transmit: true
- name: GigabitEthernet0/1
receive: true
transmit: true
- name: GigabitEthernet0/2
receive: true
state: rendered
# Module Execution Result:
# ------------------------
#
# "rendered": [
# "interface GigabitEthernet0/0",
# "lldp receive",
# "lldp transmit",
# "interface GigabitEthernet0/1",
# "lldp receive",
# "lldp transmit",
# "interface GigabitEthernet0/2",
# "lldp receive"
# ]
# Using Parsed
# File: parsed.cfg
# ----------------
#
# GigabitEthernet0/0:
# Tx: enabled
# Rx: disabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/1:
# Tx: enabled
# Rx: enabled
# Tx state: IDLE
# Rx state: WAIT FOR FRAME
#
# GigabitEthernet0/2:
# Tx: disabled
# Rx: enabled
# Tx state: IDLE
# Rx state: INIT
- name: Parse the commands for provided configuration
cisco.ios.ios_lldp_interfaces:
running_config: "{{ lookup('file', 'parsed.cfg') }}"
state: parsed
# Module Execution Result:
# ------------------------
#
# "parsed": [
# {
# "name": "GigabitEthernet0/0",
# "receive": false,
# "transmit": true
# },
# {
# "name": "GigabitEthernet0/1",
# "receive": true,
# "transmit": true
# },
# {
# "name": "GigabitEthernet0/2",
# "receive": true,
# "transmit": false
# }
# ]
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| after список / элементы=строка | при изменении | Конфигурация в виде структурированных данных после завершения модуля. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и вышеуказанные параметры. |
| before список / элементы=строка | всегда | Конфигурация в виде структурированных данных до вызова модуля. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и вышеуказанные параметры. |
| commands список / элементы=строка | всегда | Набор команд, отправленных на удаленное устройство. Пример: ['interface GigabitEthernet 0/1', 'lldp transmit', 'lldp receive'] |
Авторы
- 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_lldp_interfaces_module.html