cisco.iosxr.iosxr_lldp_global – LLDP resource module
Note
This plugin is part of the cisco.iosxr collection (version 1.2.1).
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.
Note
This module has a corresponding action plugin.
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  running_configoption and transforms it into Ansible structured data as per the resource module's argspec and the value is then returned in the parsed key within the result. | |||
| 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.11/collections/cisco/iosxr/iosxr_lldp_global_module.html