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
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
| |
name string / required | Name of the interface LLDP needs to be configured on. | ||
state string |
| The state the configuration should be left in. |
# 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" # } # } # ] # } # }
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': '...'}] |
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/network/exos_lldp_interfaces_module.html