# eos_l3_interfaces – Manages L3 interface attributes of Arista EOS devices

New in version 2.9.

- Synopsis
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- This module provides declarative management of Layer 3 interfaces on Arista EOS devices.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
config list / elements=dictionary |  | A dictionary of Layer 3 interface options
| ipv4 list / elements=dictionary |  | List of IPv4 addresses to be set for the Layer 3 interface mentioned in name option.
|  | address string |  | IPv4 address to be set in the format <ipv4 address>/<mask> eg. 192.0.2.1/24, or `dhcp` to query DHCP for an IP address.

secondary
boolean

Choices:
- no ←
- yes

Whether or not this address is a secondary address.

| ipv6 list / elements=dictionary |  | List of IPv6 addresses to be set for the Layer 3 interface mentioned in name option.
|  | address string |  | IPv6 address to be set in the address format is <ipv6 address>/<mask> eg. 2001:db8:2201:1::1/64 or `auto-config` to use SLAAC to chose an address.
| name string / required |  | Full name of the interface, i.e. Ethernet1.

state
string

Choices:
- merged ←
- replaced
- overridden
- deleted

The state of the configuration after module completion

## Notes

Note

- Tested against Arista EOS 4.20.10M
- This module works with connection `network_cli`. See the EOS Platform Options.

## Examples

    ---

    # Using deleted

    # Before state:
    # -------------
    #
    # veos#show running-config | section interface
    # interface Ethernet1
    #    ip address 192.0.2.12/24
    # !
    # interface Ethernet2
    #    ipv6 address 2001:db8::1/64
    # !
    # interface Management1
    #    ip address dhcp
    #    ipv6 address auto-config

    - name: Delete L3 attributes of given interfaces.
      eos_l3_interfaces:
        config:
          - name: Ethernet1
          - name: Ethernet2
        state: deleted

    # After state:
    # ------------
    #
    # veos#show running-config | section interface
    # interface Ethernet1
    # !
    # interface Ethernet2
    # !
    # interface Management1
    #    ip address dhcp
    #    ipv6 address auto-config

    # Using merged

    # Before state:
    # -------------
    #
    # veos#show running-config | section interface
    # interface Ethernet1
    #    ip address 192.0.2.12/24
    # !
    # interface Ethernet2
    #    ipv6 address 2001:db8::1/64
    # !
    # interface Management1
    #    ip address dhcp
    #    ipv6 address auto-config

    - name: Merge provided configuration with device configuration.
      eos_l3_interfaces:
        config:
          - name: Ethernet1
            ipv4:
              address: 198.51.100.14/24
          - name: Ethernet2
        ipv4:
          address: 203.0.113.27/24
        state: merged

    # After state:
    # ------------
    #
    # veos#show running-config | section interface
    # interface Ethernet1
    #    ip address 198.51.100.14/24
    # !
    # interface Ethernet2
    #    ip address 203.0.113.27/24
    #    ipv6 address 2001:db8::1/64
    # !
    # interface Management1
    #    ip address dhcp
    #    ipv6 address auto-config

    # Using overridden

    # Before state:
    # -------------
    #
    # veos#show running-config | section interface
    # interface Ethernet1
    #    ip address 192.0.2.12/24
    # !
    # interface Ethernet2
    #    ipv6 address 2001:db8::1/64
    # !
    # interface Management1
    #    ip address dhcp
    #    ipv6 address auto-config

    - name: Override device configuration of all L2 interfaces on device with provided configuration.
      eos_l3_interfaces:
        config:
          - name: Ethernet1
            ipv6:
              address: 2001:db8:feed::1/96
          - name: Management1
            ipv4:
              address: dhcp
        ipv6: auto-config
        state: overridden

    # After state:
    # ------------
    #
    # veos#show running-config | section interface
    # interface Ethernet1
    #    ipv6 address 2001:db8:feed::1/96
    # !
    # interface Ethernet2
    # !
    # interface Management1
    #    ip address dhcp
    #    ipv6 address auto-config

    # Using replaced

    # Before state:
    # -------------
    #
    # veos#show running-config | section interface
    # interface Ethernet1
    #    ip address 192.0.2.12/24
    # !
    # interface Ethernet2
    #    ipv6 address 2001:db8::1/64
    # !
    # interface Management1
    #    ip address dhcp
    #    ipv6 address auto-config

    - name: Replace device configuration of specified L2 interfaces with provided configuration.
      eos_l3_interfaces:
        config:
          - name: Ethernet2
            ipv4:
              address: 203.0.113.27/24
        state: replaced

    # After state:
    # ------------
    #
    # veos#show running-config | section interface
    # interface Ethernet1
    #    ip address 192.0.2.12/24
    # !
    # interface Ethernet2
    #    ip address 203.0.113.27/24
    # !
    # interface Management1
    #    ip address dhcp
    #    ipv6 address auto-config

## 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: ['interface Ethernet2', 'ip address 192.0.2.12/24']

## 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

- Nathaniel Case (@qalthos)

Hint

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