Resource module to configure LLDP.
Version added: 1.0.0
- This module manages Global Link Layer Discovery Protocol (LLDP) settings on IOS-XR devices.
Note
- This module works with connection
network_cli
. See the IOS-XR Platform Options.
# 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"
# ]
Common return values are documented here, the following are the fields unique to this module:
- Nilashish Chakraborty (@NilashishC)