# vyos_lldp_global – Manage link layer discovery protocol (LLDP) attributes on VyOS devices

New in version 2.9.

- Synopsis

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- This module manages link layer discovery protocol (LLDP) attributes on VyOS devices.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
config dictionary |  | The provided link layer discovery protocol (LLDP) configuration.
| address string |  | This argument defines management-address.

enable
boolean

Choices:
- no
- yes

This argument is a boolean value to enable or disable LLDP.

legacy_protocols
list

Choices:
- cdp
- edp
- fdp
- sonmp

List of the supported legacy protocols.

| snmp string |  | This argument enable the SNMP queries to LLDP database.

state
string

Choices:
- merged ←
- replaced
- deleted

The state of the configuration after module completion.

## Notes

Note

- Tested against VyOS 1.1.8 (helium).

- This module works with connection `network_cli`. See the VyOS OS Platform Options.

## Examples

    # Using merged
    #
    # Before state:
    # -------------
    #
    # vyos@vyos:~$ show configuration commands|grep lldp
    # vyos@vyos:~$
    #
    - name: Merge provided configuration with device configuration
      vyos_lldp_global:
        config:
          legacy_protocols:
            - 'fdp'
            - 'cdp'
          snmp: 'enable'
          address: 192.0.2.11
        state: merged
    #
    #
    # ------------------------
    # Module Execution Results
    # ------------------------
    #
    # "before": []
    #
    # "commands": [
    #        "set service lldp legacy-protocols fdp",
    #        "set service lldp legacy-protocols cdp",
    #        "set service lldp snmp enable",
    #        "set service lldp management-address '192.0.2.11'"
    #    ]
    #
    # "after": [
    #        {
    #            "snmp": "enable"
    #        },
    #        {
    #            "address": "192.0.2.11"
    #        },
    #        {
    #            "legacy_protocols": [
    #                "cdp",
    #                "fdp"
    #            ]
    #        }
    #        {
    #            "enable": true
    #        }
    #    ]
    #
    # After state:
    # -------------
    #
    # set service lldp legacy-protocols cdp
    # set service lldp legacy-protocols fdp
    # set service lldp management-address '192.0.2.11'
    # set service lldp snmp enable

    # Using replaced
    #
    # Before state:
    # -------------
    #
    # vyos@vyos:~$ show configuration commands | grep lldp
    # set service lldp legacy-protocols cdp
    # set service lldp legacy-protocols fdp
    # set service lldp management-address '192.0.2.11'
    # set service lldp snmp enable
    #
    - name: Replace device configurations with provided configurations
      vyos_lldp_global:
        config:
          legacy_protocols:
            - 'edp'
            - 'sonmp'
            - 'cdp'
          address: 192.0.2.14
        state: replaced
    #
    #
    # ------------------------
    # Module Execution Results
    # ------------------------
    #
    #
    # "before": [
    #        {
    #            "snmp": "enable"
    #        },
    #        {
    #            "address": "192.0.2.11"
    #        },
    #        {
    #            "legacy_protocols": [
    #                "cdp",
    #                "fdp"
    #            ]
    #        }
    #        {
    #            "enable": true
    #        }
    #    ]
    # "commands": [
    #        "delete service lldp snmp",
    #        "delete service lldp legacy-protocols fdp",
    #        "set service lldp management-address '192.0.2.14'",
    #        "set service lldp legacy-protocols edp",
    #        "set service lldp legacy-protocols sonmp"
    #    ]
    #
    # "after": [
    #        {
    #            "address": "192.0.2.14"
    #        },
    #        {
    #            "legacy_protocols": [
    #                "cdp",
    #                "edp",
    #                "sonmp"
    #            ]
    #        }
    #        {
    #            "enable": true
    #        }
    #    ]
    #
    # After state:
    # -------------
    #
    # vyos@vyos:~$ show configuration commands|grep lldp
    # set service lldp legacy-protocols cdp
    # set service lldp legacy-protocols edp
    # set service lldp legacy-protocols sonmp
    # set service lldp management-address '192.0.2.14'

    # Using deleted
    #
    # Before state
    # -------------
    # vyos@vyos:~$ show configuration commands|grep lldp
    # set service lldp legacy-protocols cdp
    # set service lldp legacy-protocols edp
    # set service lldp legacy-protocols sonmp
    # set service lldp management-address '192.0.2.14'
    #
    - name: Delete attributes of given lldp service (This won't delete the LLDP service itself)
      vyos_lldp_global:
        config:
        state: deleted
    #
    #
    # ------------------------
    # Module Execution Results
    # ------------------------
    #
    # "before": [
    #        {
    #            "address": "192.0.2.14"
    #        },
    #        {
    #            "legacy_protocols": [
    #                "cdp",
    #                "edp",
    #                "sonmp"
    #            ]
    #        }
    #        {
    #            "enable": true
    #        }
    #    ]
    #
    #  "commands": [
    #       "delete service lldp management-address",
    #        "delete service lldp legacy-protocols"
    #    ]
    #
    # "after": [
    #        {
    #            "enable": true
    #        }
    #          ]
    #
    # After state
    # ------------
    # vyos@vyos:~$ show configuration commands | grep lldp
    # set service lldp

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
after list | 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 list | 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 | always | The set of commands pushed to the remote device. Sample: ['set service lldp legacy-protocols sonmp', "set service lldp management-address '192.0.2.14'"]

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Network Team. [network]

### Red Hat Support

More information about Red Hat’s support of this module is available from this Red Hat Knowledge Base article.

### Authors

- Rohit Thakur (@rohitthakur2590)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.