community.network.exos_lldp_interfaces – Manage link layer discovery protocol (LLDP) attributes of interfaces on EXOS platforms.
community.network.exos_lldp_interfaces – Manage link layer discovery protocol (LLDP) attributes of interfaces on EXOS platforms.
Note
This plugin is part of the community.network collection (version 2.0.1).
To install it use: ansible-galaxy collection install community.network
.
To use it in a playbook, specify: community.network.exos_lldp_interfaces
.
New in version 0.2.0: of community.network
Synopsis
- This module manages link layer discovery protocol (LLDP) attributes of interfaces on Extreme Networks EXOS platforms.
Parameters
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
config list / elements=dictionary |
The list of link layer discovery protocol interface attribute configurations | ||
enabled boolean |
|
This is a boolean value to control disabling of LLDP on the interface | |
name string / required |
Name of the interface LLDP needs to be configured on. | ||
state string |
|
The state the configuration should be left in. |
Examples
# Using merged
# Before state:
# -------------
#
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
# "openconfig-lldp:interfaces": {
# "interface": [
# {
# "config": {
# "enabled": true,
# "name": "1"
# }
# },
# {
# "config": {
# "enabled": true,
# "name": "2"
# }
# },
# {
# "config": {
# "enabled": false,
# "name": "3"
# }
# },
# {
# "config": {
# "enabled": true,
# "name": "4"
# }
# },
# {
# "config": {
# "enabled": false,
# "name": "5"
# }
# }
# ]
# }
# }
- name: Merge provided configuration with device configuration
community.network.exos_lldp_interfaces:
config:
- name: '2'
enabled: false
- name: '5'
enabled: true
state: merged
# Module Execution Results:
# -------------------------
#
# "before":
# - name: '1'
# enabled: True
# - name: '2'
# enabled: True
# - name: '3'
# enabled: False
# - name: '4'
# enabled: True
# - name: '5'
# enabled: False
#
# "requests": [
# {
# "data": |
# {
# "openconfig-lldp:config": {
# "enabled": false,
# "name": "2"
# }
# }
# "method": "PATCH",
# "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=2/config"
# },
# {
# "data": |
# {
# "openconfig-lldp:config": {
# "enabled": true,
# "name": "5"
# }
# }
# "method": "PATCH",
# "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=5/config"
# }
# ]
#
# "after":
# - name: '1'
# enabled: True
# - name: '2'
# enabled: False
# - name: '3'
# enabled: False
# - name: '4'
# enabled: True
# - name: '5'
# enabled: True
# After state:
# -------------
#
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
# "openconfig-lldp:interfaces": {
# "interface": [
# {
# "config": {
# "enabled": true,
# "name": "1"
# }
# },
# {
# "config": {
# "enabled": false,
# "name": "2"
# }
# },
# {
# "config": {
# "enabled": false,
# "name": "3"
# }
# },
# {
# "config": {
# "enabled": true,
# "name": "4"
# }
# },
# {
# "config": {
# "enabled": true,
# "name": "5"
# }
# }
# ]
# }
# }
# Using replaced
# Before state:
# -------------
#
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
# "openconfig-lldp:interfaces": {
# "interface": [
# {
# "config": {
# "enabled": true,
# "name": "1"
# }
# },
# {
# "config": {
# "enabled": true,
# "name": "2"
# }
# },
# {
# "config": {
# "enabled": false,
# "name": "3"
# }
# },
# {
# "config": {
# "enabled": true,
# "name": "4"
# }
# },
# {
# "config": {
# "enabled": false,
# "name": "5"
# }
# }
# ]
# }
# }
- name: Replaces device configuration of listed lldp_interfaces with provided configuration
community.network.exos_lldp_interfaces:
config:
- name: '1'
enabled: false
- name: '3'
enabled: true
state: merged
# Module Execution Results:
# -------------------------
#
# "before":
# - name: '1'
# enabled: True
# - name: '2'
# enabled: True
# - name: '3'
# enabled: False
# - name: '4'
# enabled: True
# - name: '5'
# enabled: False
#
# "requests": [
# {
# "data": |
# {
# "openconfig-lldp:config": {
# "enabled": false,
# "name": "1"
# }
# }
# "method": "PATCH",
# "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=1/config"
# },
# {
# "data": |
# {
# "openconfig-lldp:config": {
# "enabled": true,
# "name": "3"
# }
# }
# "method": "PATCH",
# "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=3/config"
# }
# ]
#
# "after":
# - name: '1'
# enabled: False
# - name: '2'
# enabled: True
# - name: '3'
# enabled: True
# - name: '4'
# enabled: True
# - name: '5'
# enabled: False
# After state:
# -------------
#
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
# "openconfig-lldp:interfaces": {
# "interface": [
# {
# "config": {
# "enabled": false,
# "name": "1"
# }
# },
# {
# "config": {
# "enabled": true,
# "name": "2"
# }
# },
# {
# "config": {
# "enabled": true,
# "name": "3"
# }
# },
# {
# "config": {
# "enabled": true,
# "name": "4"
# }
# },
# {
# "config": {
# "enabled": false,
# "name": "5"
# }
# }
# ]
# }
# }
# Using deleted
# Before state:
# -------------
#
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
# "openconfig-lldp:interfaces": {
# "interface": [
# {
# "config": {
# "enabled": false,
# "name": "1"
# },
# },
# {
# "config": {
# "enabled": false,
# "name": "2"
# },
# },
# {
# "config": {
# "enabled": false,
# "name": "3"
# },
# }
# ]
# }
# }
- name: Delete lldp interface configuration (this will not delete other lldp configuration)
community.network.exos_lldp_interfaces:
config:
- name: '1'
- name: '3'
state: deleted
# Module Execution Results:
# -------------------------
#
# "before":
# - name: '1'
# enabled: False
# - name: '2'
# enabled: False
# - name: '3'
# enabled: False
#
# "requests": [
# {
# "data": |
# {
# "openconfig-lldp:config": {
# "enabled": true,
# "name": "1"
# }
# }
# "method": "PATCH",
# "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=1/config"
# },
# {
# "data": |
# {
# "openconfig-lldp:config": {
# "enabled": true,
# "name": "3"
# }
# }
# "method": "PATCH",
# "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=3/config"
# }
# ]
#
# "after":
# - name: '1'
# enabled: True
# - name: '2'
# enabled: False
# - name: '3'
# enabled: True
#
# After state:
# -------------
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
# "openconfig-lldp:interfaces": {
# "interface": [
# {
# "config": {
# "enabled": true,
# "name": "1"
# },
# },
# {
# "config": {
# "enabled": false,
# "name": "2"
# },
# },
# {
# "config": {
# "enabled": true,
# "name": "3"
# },
# }
# ]
# }
# }
# Using overridden
# Before state:
# -------------
#
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
# "openconfig-lldp:interfaces": {
# "interface": [
# {
# "config": {
# "enabled": true,
# "name": "1"
# }
# },
# {
# "config": {
# "enabled": true,
# "name": "2"
# }
# },
# {
# "config": {
# "enabled": false,
# "name": "3"
# }
# },
# {
# "config": {
# "enabled": true,
# "name": "4"
# }
# },
# {
# "config": {
# "enabled": false,
# "name": "5"
# }
# }
# ]
# }
# }
- name: Override device configuration of all lldp_interfaces with provided configuration
community.network.exos_lldp_interfaces:
config:
- name: '3'
enabled: true
state: overridden
# Module Execution Results:
# -------------------------
#
# "before":
# - name: '1'
# enabled: True
# - name: '2'
# enabled: True
# - name: '3'
# enabled: False
# - name: '4'
# enabled: True
# - name: '5'
# enabled: False
#
# "requests": [
# {
# "data": |
# {
# "openconfig-lldp:config": {
# "enabled": true,
# "name": "5"
# }
# }
# "method": "PATCH",
# "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=5/config"
# },
# {
# "data": |
# {
# "openconfig-lldp:config": {
# "enabled": true,
# "name": "3"
# }
# }
# "method": "PATCH",
# "path": "/rest/restconf/data/openconfig-lldp:lldp/interfaces/interface=3/config"
# }
# ]
#
# "after":
# - name: '1'
# enabled: True
# - name: '2'
# enabled: True
# - name: '3'
# enabled: True
# - name: '4'
# enabled: True
# - name: '5'
# enabled: True
# After state:
# -------------
#
# path: /rest/restconf/data/openconfig-lldp:lldp/interfaces?depth=4
# method: GET
# data:
# {
# "openconfig-lldp:interfaces": {
# "interface": [
# {
# "config": {
# "enabled": true,
# "name": "1"
# }
# },
# {
# "config": {
# "enabled": true,
# "name": "2"
# }
# },
# {
# "config": {
# "enabled": true,
# "name": "3"
# }
# },
# {
# "config": {
# "enabled": true,
# "name": "4"
# }
# },
# {
# "config": {
# "enabled": true,
# "name": "5"
# }
# }
# ]
# }
# }
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
after list / elements=string |
when changed |
The resulting configuration model invocation.
Sample: The configuration returned will always be in the same format of the parameters above. |
before list / elements=string |
always |
The configuration prior to the model invocation.
Sample: The configuration returned will always be in the same format of the parameters above. |
requests list / elements=string |
always |
The set of requests pushed to the remote device.
Sample: [{'data': '...', 'method': '...', 'path': '...'}, {'data': '...', 'method': '...', 'path': '...'}, {'data': '...', 'method': '...', 'path': '...'}] |
Authors
- Jayalakshmi Viswanathan (@JayalakshmiV)
© 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/community/network/exos_lldp_interfaces_module.html