Skip to content

eos_lacp_interfaces

Collection Note

This module is part of the arista.eos collection. To install the collection, use:

ansible-galaxy collection install arista.eos
Added in version 1.0.0.

Synopsis

  • This module manages Link Aggregation Control Protocol (LACP) attributes of interfaces on Arista EOS devices.

Parameters

Parameter Defaults / Choices Comments
config
list / elements=dict
A dictionary of LACP interfaces options.
config.name Full name of the interface (i.e. Ethernet1).
config.port_priority LACP port priority for the interface. Range 1-65535.
config.timer Choices: fast, normal Rate at which PDUs are sent by LACP. At fast rate LACP is transmitted once every 1 second. At normal rate LACP is transmitted every 30 seconds after the link is bundled.
running_config
str
This option is used only with state I(parsed).
The value of this option should be the output received from the EOS device by executing the command B(show running-config | section ^interfaces).
The state I(parsed) reads the configuration from C(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 I(parsed) key within the result.
state
str
Default: merged
Choices: merged, replaced, overridden, deleted, parsed, rendered, gathered
The state of the configuration after module completion.

Notes

Note

  • Tested against Arista EOS 4.24.6F
  • This module works with connection C(network_cli). See the L(EOS Platform Options,../network/user_guide/platform_eos.html).

Examples

# Using merged
#
#
# ------------
# Before state
# ------------
#
#
# veos#show run | section ^interface
# interface Ethernet1
#    lacp port-priority 30
# interface Ethernet2
#    lacp rate fast

- name: Merge provided configuration with device configuration
  arista.eos.eos_lacp_interfaces:
    config:
      - name: Ethernet1
        rate: fast
      - name: Ethernet2
        rate: normal
    state: merged

#
# -----------
# After state
# -----------
#
# veos#show run | section ^interface
# interface Ethernet1
#    lacp port-priority 30
#    lacp rate fast
# interface Ethernet2


# Using replaced
#
#
# ------------
# Before state
# ------------
#
# veos#show run | section ^interface
# interface Ethernet1
#    lacp port-priority 30
# interface Ethernet2
#    lacp rate fast

- name: Replace existing LACP configuration of specified interfaces with provided
    configuration
  arista.eos.eos_lacp_interfaces:
    config:
      - name: Ethernet1
        rate: fast
    state: replaced

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


# Using overridden
#
#
# ------------
# Before state
# ------------
#
#
# veos#show run | section ^interface
# interface Ethernet1
#    lacp port-priority 30
# interface Ethernet2
#    lacp rate fast

- name: Override the LACP configuration of all the interfaces with provided configuration
  arista.eos.eos_lacp_interfaces:
    config:
      - name: Ethernet1
        rate: fast
    state: overridden

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


# Using deleted
#
#
# ------------
# Before state
# ------------
#
#
# veos#show run | section ^interface
# interface Ethernet1
#    lacp port-priority 30
# interface Ethernet2
#    lacp rate fast

- name: Delete LACP attributes of given interfaces (or all interfaces if none specified).
  arista.eos.eos_lacp_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_lacp_interfaces:
    config:
      - name: Ethernet1
        rate: fast
      - name: Ethernet2
        rate: normal
    state: rendered

#
# -----------
# Output
# -----------
# rendered:
#   - "interface Ethernet1"
#   - "lacp rate fast"

# Using parsed:

# parsed.cfg:
#    "interface Ethernet1"
#    "lacp rate fast"
#    "interface Ethernet2"

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

# Output:
# parsed:
#   - name: Ethernet1
#     rate: fast
#   - name: Ethernet2
#     rate: normal

# Using gathered:
# native config:
#  veos#show run | section ^interface
# interface Ethernet1
#    lacp port-priority 30
# interface Ethernet2
#    lacp rate fast

- name: Gather LACP facts from the device
  arista.eos.eos_lacp_interfaces:
    state: gathered

# Output:
# gathered:
#   - name: Ethernet1
#   - name: Ethernet2
#     rate: fast

Return Values

Key Data Type Description Returned
after list The configuration as structured data after module completion. when changed
before list The configuration as structured data prior to module invocation. always
commands list The set of commands pushed to the remote device. always

Authors

  • Nathaniel Case (@qalthos)