cisco.iosxr.iosxr_lldp_global – LLDP resource module
cisco.iosxr.iosxr_lldp_global – LLDP resource module
Note
This plugin is part of the cisco.iosxr collection (version 1.2.0).
To install it use: ansible-galaxy collection install cisco.iosxr
.
To use it in a playbook, specify: cisco.iosxr.iosxr_lldp_global
.
New in version 1.0.0: of cisco.iosxr
Synopsis
- This module manages Global Link Layer Discovery Protocol (LLDP) settings on IOS-XR devices.
Parameters
Parameter | Choices/Defaults | Comments | ||
---|---|---|---|---|
config dictionary |
The provided global LLDP configuration. | |||
holdtime integer |
Specifies the holdtime (in sec) to be sent in packets. | |||
reinit integer |
Specifies the delay (in sec) for LLDP initialization on any interface. | |||
subinterfaces boolean |
|
Enable or disable LLDP over sub-interfaces. | ||
timer integer |
Specifies the rate at which LLDP packets are sent (in sec). | |||
tlv_select dictionary |
Specifies the LLDP TLVs to enable or disable. | |||
management_address boolean |
|
Enable or disable management address TLV. | ||
port_description boolean |
|
Enable or disable port description TLV. | ||
system_capabilities boolean |
|
Enable or disable system capabilities TLV. | ||
system_description boolean |
|
Enable or disable system description TLV. | ||
system_name boolean |
|
Enable or disable system name TLV. | ||
running_config string |
This option is used only with state parsed. The value of this option should be the output received from the IOS-XR device by executing the command show running-config lldp. The state parsed reads the configuration from | |||
state string |
|
The state of the configuration after module completion. |
Notes
Note
- Tested against IOS-XR 6.1.3.
- This module works with connection
network_cli
. See the IOS-XR Platform Options.
Examples
# Using merged
#
#
# -------------
# Before State
# -------------
#
#
# RP/0/0/CPU0:an-iosxr#sh run lldp
# Tue Aug 6 19:27:54.933 UTC
# % No such configuration item(s)
#
#
- name: Merge provided LLDP configuration with the existing configuration
cisco.iosxr.iosxr_lldp_global:
config:
holdtime: 100
reinit: 2
timer: 3000
subinterfaces: true
tlv_select:
management_address: false
system_description: false
state: merged
#
#
# ------------------------
# Module Execution Result
# ------------------------
#
# "before": {}
#
# "commands": [
# "lldp subinterfaces enable",
# "lldp holdtime 100",
# "lldp reinit 2",
# "lldp tlv-select system-description disable",
# "lldp tlv-select management-address disable",
# "lldp timer 3000"
# ]
#
# "after": {
# "holdtime": 100,
# "reinit": 2,
# "subinterfaces": true,
# "timer": 3000,
# "tlv_select": {
# "management_address": false,
# "system_description": false
# }
# }
#
#
# ------------
# After state
# ------------
#
#
# RP/0/0/CPU0:an-iosxr#sh run lldp
# Tue Aug 6 21:31:10.587 UTC
# lldp
# timer 3000
# reinit 2
# subinterfaces enable
# holdtime 100
# tlv-select
# management-address disable
# system-description disable
# !
# !
#
#
# Using replaced
#
#
# -------------
# Before State
# -------------
#
# RP/0/0/CPU0:an-iosxr#sh run lldp
# Tue Aug 6 21:31:10.587 UTC
# lldp
# timer 3000
# reinit 2
# subinterfaces enable
# holdtime 100
# tlv-select
# management-address disable
# system-description disable
# !
# !
#
#
- name: Replace existing LLDP device configuration with provided configuration
cisco.iosxr.iosxr_lldp_global:
config:
holdtime: 100
tlv_select:
port_description: false
system_description: true
management_description: true
state: replaced
#
#
# ------------------------
# Module Execution Result
# ------------------------
#
# "before": {
# "holdtime": 100,
# "reinit": 2,
# "subinterfaces": true,
# "timer": 3000,
# "tlv_select": {
# "management_address": false,
# "system_description": false
# }
# }
#
# "commands": [
# "no lldp reinit 2",
# "no lldp subinterfaces enable",
# "no lldp timer 3000",
# "no lldp tlv-select management-address disable",
# "no lldp tlv-select system-description disable",
# "lldp tlv-select port-description disable"
# ]
#
# "after": {
# "holdtime": 100,
# "tlv_select": {
# "port_description": false
# }
# }
#
#
# ------------
# After state
# ------------
#
# RP/0/0/CPU0:an-iosxr#sh run lldp
# Tue Aug 6 21:53:08.407 UTC
# lldp
# holdtime 100
# tlv-select
# port-description disable
# !
# !
#
#
# Using deleted
#
# ------------
# Before state
# ------------
#
#
# RP/0/0/CPU0:an-iosxr#sh run lldp
# Tue Aug 6 21:31:10.587 UTC
# lldp
# timer 3000
# reinit 2
# subinterfaces enable
# holdtime 100
# tlv-select
# management-address disable
# system-description disable
# !
# !
#
#
- name: Deleted existing LLDP configurations from the device
cisco.iosxr.iosxr_lldp_global:
state: deleted
#
#
# ------------------------
# Module Execution Result
# ------------------------
#
# "before": {
# "holdtime": 100,
# "reinit": 2,
# "subinterfaces": true,
# "timer": 3000,
# "tlv_select": {
# "management_address": false,
# "system_description": false
# }
# },
#
# "commands": [
# "no lldp holdtime 100",
# "no lldp reinit 2",
# "no lldp subinterfaces enable",
# "no lldp timer 3000",
# "no lldp tlv-select management-address disable",
# "no lldp tlv-select system-description disable"
# ]
#
# "after": {}
#
#
# -----------
# After state
# -----------
#
# RP/0/0/CPU0:an-iosxr#sh run lldp
# Tue Aug 6 21:38:31.187 UTC
# lldp
# !
#
# Using parsed:
# parsed.cfg
# lldp
# timer 3000
# reinit 2
# subinterfaces enable
# holdtime 100
# tlv-select
# management-address disable
# system-description disable
# !
# !
- name: Convert lldp global config to argspec without connecting to the appliance
cisco.iosxr.iosxr_lldp_global:
running_config: "{{ lookup('file', './parsed.cfg') }}"
state: parsed
# ------------------------
# Module Execution Result
# ------------------------
# parsed:
# holdtime: 100
# reinit: 2
# timer: 3000
# subinterfaces: True
# tlv_select:
# management_address: False
# system_description: False
# using gathered:
# Device config:
# lldp
# timer 3000
# reinit 2
# subinterfaces enable
# holdtime 100
# tlv-select
# management-address disable
# system-description disable
# !
# !
- name: Gather IOSXR lldp global configuration
cisco.iosxr.iosxr_lldp_global:
config:
state: gathered
# ------------------------
# Module Execution Result
# ------------------------
# gathered:
# holdtime: 100
# reinit: 2
# timer: 3000
# subinterfaces: True
# tlv_select:
# management_address: False
# system_description: False
# using rendered:
- name: Render platform specific commands from task input using rendered state
cisco.iosxr.iosxr_lldp_global:
config:
holdtime: 100
reinit: 2
timer: 3000
subinterfaces: true
tlv_select:
management_address: false
system_description: false
state: rendered
#
#
# ------------------------
# Module Execution Result
# ------------------------
#
# "rendered": [
# "lldp subinterfaces enable",
# "lldp holdtime 100",
# "lldp reinit 2",
# "lldp tlv-select system-description disable",
# "lldp tlv-select management-address disable",
# "lldp timer 3000"
# ]
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
after dictionary |
when changed |
The configuration as structured data after module completion.
Sample: The configuration returned will always be in the same format of the parameters above. |
before dictionary |
always |
The configuration as structured data prior to module invocation.
Sample: The configuration returned will always be in the same format of the parameters above. |
commands list / elements=string |
always |
The set of commands pushed to the remote device.
Sample: ['lldp subinterfaces enable', 'lldp holdtime 100', 'no lldp tlv-select management-address disable'] |
Authors
- Nilashish Chakraborty (@NilashishC)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/cisco/iosxr/iosxr_lldp_global_module.html