arista.eos.eos_lldp_interfaces – LLDP interfaces resource module

Note

This plugin is part of the arista.eos collection (version 2.2.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 arista.eos.

To use it in a playbook, specify: arista.eos.eos_lldp_interfaces.

New in version 1.0.0: of arista.eos

Synopsis

  • This module manages Link Layer Discovery Protocol (LLDP) attributes of interfaces on Arista EOS devices.

Note

This module has a corresponding action plugin.

Parameters

Parameter

Comments

config

list / elements=dictionary

A dictionary of LLDP interfaces options.

name

string

Full name of the interface (i.e. Ethernet1).

receive

boolean

Enable/disable LLDP RX on an interface.

Choices:

  • no

  • yes

transmit

boolean

Enable/disable LLDP TX on an interface.

Choices:

  • no

  • yes

running_config

string

This option is used only with state parsed.

The value of this option should be the output received from the EOS device by executing the command show running-config | section ^interface.

The state parsed reads the configuration from running_config option 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.

Choices:

  • merged ← (default)

  • replaced

  • overridden

  • deleted

  • parsed

  • gathered

  • rendered

Notes

Note

  • Tested against Arista EOS 4.20.10M

  • This module works with connection network_cli. See the EOS Platform Options.

Examples

# Using merged
#
#
# ------------
# Before state
# ------------
#
#
# veos#show run | section ^interface
# interface Ethernet1
#    no lldp receive
# interface Ethernet2
#    no lldp transmit

- name: Merge provided configuration with running configuration
  arista.eos.eos_lldp_interfaces:
    config:
    - name: Ethernet1
      transmit: false
    - name: Ethernet2
      transmit: false
    state: merged

#
# ------------
# After state
# ------------
#
# veos#show run | section ^interface
# interface Ethernet1
#    no lldp transmit
#    no lldp receive
# interface Ethernet2
#    no lldp transmit


# Using replaced
#
#
# ------------
# Before state
# ------------
#
#
# veos#show run | section ^interface
# interface Ethernet1
#    no lldp receive
# interface Ethernet2
#    no lldp transmit

- name: Replace existing LLDP configuration of specified interfaces with provided
    configuration
  arista.eos.eos_lldp_interfaces:
    config:
    - name: Ethernet1
      transmit: false
    state: replaced

#
# ------------
# After state
# ------------
#
# veos#show run | section ^interface
# interface Ethernet1
#    no lldp transmit
# interface Ethernet2
#    no lldp transmit


# Using overridden
#
#
# ------------
# Before state
# ------------
#
#
# veos#show run | section ^interface
# interface Ethernet1
#    no lldp receive
# interface Ethernet2
#    no lldp transmit

- name: Override the LLDP configuration of all the interfaces with provided configuration
  arista.eos.eos_lldp_interfaces:
    config:
    - name: Ethernet1
      transmit: false
    state: overridden

#
# ------------
# After state
# ------------
#
# veos#show run | section ^interface
# interface Ethernet1
#    no lldp transmit
# interface Ethernet2


# Using deleted
#
#
# ------------
# Before state
# ------------
#
#
# veos#show run | section ^interface
# interface Ethernet1
#    no lldp receive
# interface Ethernet2
#    no lldp transmit

- name: Delete LLDP configuration of specified interfaces (or all interfaces if none
    are specified)
  arista.eos.eos_lldp_interfaces:
    state: deleted

#
# ------------
# After state
# ------------
#
# veos#show run | section ^interface
# interface Ethernet1
# interface Ethernet2

# using rendered:

- name: Use Rendered to convert the structured data to native config
  arista.eos.eos_lldp_interfaces:
    config:
    - name: Ethernet1
      transmit: false
    - name: Ethernet2
      transmit: false
    state: rendered

#
# ------------
# Output
# ------------
#
# interface Ethernet1
#    no lldp transmit
# interface Ethernet2
#    no lldp transmit

# Using parsed
# parsed.cfg

# interface Ethernet1
#    no lldp transmit
# interface Ethernet2
#    no lldp transmit


- name: Use parsed to convert native configs to structured data
  arista.eos.lldp_interfaces:
    running_config: "{{ lookup('file', 'parsed.cfg') }}"
    state: parsed

# ------------
# Output
# ------------

#   parsed:
#     - name: Ethernet1
#       transmit: False
#     - name: Ethernet2
#       transmit: False

# Using gathered:

# native config:
# interface Ethernet1
#    no lldp transmit
# interface Ethernet2
#    no lldp transmit

- name: Gather lldp interfaces facts from the device
  arista.eos.lldp_interfaces:
    state: gathered

# ------------
# Output
# ------------

#   gathered:
#     - name: Ethernet1
#       transmit: False
#     - name: Ethernet2
#       transmit: False

Return Values

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

Key

Description

after

list / elements=string

The configuration as structured data after module completion.

Returned: when changed

Sample: “The configuration returned will always be in the same format\n of the parameters above.\n”

before

list / elements=string

The configuration as structured data prior to module invocation.

Returned: always

Sample: “The configuration returned will always be in the same format\n of the parameters above.\n”

commands

list / elements=string

The set of commands pushed to the remote device.

Returned: always

Sample: [“interface Ethernet1”, “no lldp transmit”]

Authors

  • Nathaniel Case (@Qalthos)