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 3.0.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
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 |
Comments |
---|---|
The list of link layer discovery protocol interface attribute configurations |
|
This is a boolean value to control disabling of LLDP on the interface Choices:
|
|
Name of the interface LLDP needs to be configured on. |
|
The state the configuration should be left in. Choices:
|
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 |
Description |
---|---|
The resulting configuration model invocation. Returned: when changed Sample: “The configuration returned will always be in the same format\n of the parameters above.\n” |
|
The configuration prior to the model invocation. Returned: always Sample: “The configuration returned will always be in the same format\n of the parameters above.\n” |
|
The set of requests pushed to the remote device. Returned: always Sample: [{“data”: “…”, “method”: “…”, “path”: “…”}, {“data”: “…”, “method”: “…”, “path”: “…”}, {“data”: “…”, “method”: “…”, “path”: “…”}] |
Authors
Jayalakshmi Viswanathan (@JayalakshmiV)