eos_interfaces¶
Collection Note
This module is part of the arista.eos collection. To install the collection, use:
Added in version1.0.0.
Synopsis¶
- This module manages the interface attributes of Arista EOS interfaces.
Parameters¶
| Parameter | Defaults / Choices | Comments |
|---|---|---|
| config list / elements=dict |
The provided configuration | |
| config.description | Interface description | |
| config.duplex | Interface link status. Applicable for Ethernet interfaces only. Values other than C(auto) must also set I(speed). Ignored when I(speed) is set above C(1000). |
|
| config.enabled | Administrative state of the interface. Set the value to C(true) to administratively enable the interface or C(false) to disable it. |
|
| config.mode | Choices: layer2, layer3 | Manage Layer2 or Layer3 state of the interface. Applicable for Ethernet and port channel interfaces only. |
| config.mtu | MTU for a specific interface. Must be an even number between 576 and 9216. Applicable for Ethernet interfaces only. | |
| config.name | Full name of the interface, e.g. GigabitEthernet1. | |
| config.speed | Interface link speed. Applicable for Ethernet interfaces only. | |
| 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 ^interface). 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 U(https://docs.ansible.com/ansible/latest/network/user_guide/platform_eos.html)
Examples¶
# Using merged
# Before state:
# -------------
#
# test#show running-config | section interface
# interface Ethernet1
# !
# interface Ethernet2
# !
# interface Management1
# ip address dhcp
# dhcp client accept default-route
- name: Merge provided configuration with device configuration
arista.eos.eos_interfaces:
config:
- name: Ethernet1
enabled: true
mode: layer3
- name: Ethernet2
description: Configured by Ansible
enabled: false
state: merged
# Task Output
# -----------
#
# before:
# - enabled: true
# name: Ethernet1
# - enabled: true
# name: Ethernet2
# - enabled: true
# name: Management1
# commands:
# - interface Ethernet1
# - no switchport
# - interface Ethernet2
# - shutdown
# - description Configured by Ansible
# after:
# - enabled: true
# mode: layer3
# name: Ethernet1
# - description: Configured by Ansible
# enabled: false
# name: Ethernet2
# - enabled: true
# name: Management1
# After state:
# ------------
#
# test#show running-config | section interface
# interface Ethernet1
# no switchport
# !
# interface Ethernet2
# description Configured by Ansible
# shutdown
# !
# interface Management1
# ip address dhcp
# dhcp client accept default-route
# Using replaced
# Before state:
# -------------
#
# test#show running-config | section interface
# interface Ethernet1
# no switchport
# !
# interface Ethernet2
# description Configured by Ansible
# shutdown
# !
# interface Management1
# ip address dhcp
# dhcp client accept default-route
- name: Replaces device configuration of listed interfaces with provided configuration
arista.eos.eos_interfaces:
config:
- name: Ethernet1
enabled: true
- name: Ethernet2
description: Configured by Ansible
enabled: false
state: replaced
# Task Output
# -----------
#
# before:
# - enabled: true
# mode: layer3
# name: Ethernet1
# - description: Configured by Ansible
# enabled: false
# name: Ethernet2
# - enabled: true
# name: Management1
# commands:
# - interface Ethernet1
# - switchport
# after:
# - enabled: true
# name: Ethernet1
# - description: Configured by Ansible
# enabled: false
# name: Ethernet2
# - enabled: true
# name: Management1
# After state:
# ------------
#
# test#show running-config | section interface
# interface Ethernet1
# !
# interface Ethernet2
# description Configured by Ansible
# shutdown
# !
# interface Management1
# ip address dhcp
# dhcp client accept default-route
# Using overridden
# Before state:
# -------------
#
# test#show running-config | section interface
# interface Ethernet1
# !
# interface Ethernet2
# description Configured by Ansible
# shutdown
# !
# interface Management1
# ip address dhcp
# dhcp client accept default-route
- name: Overrides all device configuration with provided configuration
arista.eos.eos_interfaces:
config:
- name: Ethernet1
enabled: true
- name: Ethernet2
description: Configured by Ansible
enabled: false
state: overridden
# Task Output
# -----------
#
# before:
# - enabled: true
# name: Ethernet1
# - description: Configured by Ansible
# enabled: false
# name: Ethernet2
# - enabled: true
# name: Management1
# commands:
# - interface Management1
# - no shutdown
# after:
# - enabled: true
# name: Ethernet1
# - description: Configured by Ansible
# enabled: false
# name: Ethernet2
# - enabled: true
# name: Management1
# After state:
# ------------
#
# test#show running-config | section interface
# interface Ethernet1
# !
# interface Ethernet2
# description Configured by Ansible
# shutdown
# !
# interface Management1
# ip address dhcp
# dhcp client accept default-route
# Using deleted
# Before state:
# -------------
#
# test#show running-config | section interface
# interface Ethernet1
# !
# interface Ethernet2
# description Configured by Ansible
# shutdown
# !
# interface Management1
# ip address dhcp
# dhcp client accept default-route
- name: Delete or return interface parameters to default settings
arista.eos.eos_interfaces:
config:
- name: Ethernet1
state: deleted
# Task Output
# -----------
#
# before:
# - enabled: true
# name: Ethernet1
# - description: Configured by Ansible
# enabled: false
# name: Ethernet2
# - enabled: true
# name: Management1
# commands:
# - interface Ethernet1
# - no shutdown
# after:
# - enabled: true
# name: Ethernet1
# - description: Configured by Ansible
# enabled: false
# name: Ethernet2
# - enabled: true
# name: Management1
# After state:
# ------------
#
# test#show running-config | section interface
# interface Ethernet1
# !
# interface Ethernet2
# description Configured by Ansible
# shutdown
# !
# interface Management1
# ip address dhcp
# dhcp client accept default-route
# Using rendered
- name: Render the provided configuration into platform specific configuration lines
arista.eos.eos_interfaces:
config:
- name: Ethernet1
enabled: true
mode: layer3
- name: Ethernet2
description: Configured by Ansible
enabled: false
state: rendered
# Module Execution Result:
# ------------------------
#
# rendered:
# - interface Ethernet1
# - no shutdown
# - no switchport
# - interface Ethernet2
# - shutdown
# - description Configured by Ansible
# Using Parsed
# File: parsed.cfg
# ----------------
#
# interface Ethernet1
# description "Interface 1"
# !
# interface Ethernet2
# description "Configured by Ansible"
# shutdown
# !
- name: Parse the commands for provided configuration
arista.eos.interfaces:
running_config: "{{ lookup('file', 'parsed.cfg') }}"
state: parsed
# Module Execution Result:
# ------------------------
#
# parsed:
# - name: Ethernet1
# enabled: True
# mode: layer2
# - name: Ethernet2
# description: 'Configured by Ansible'
# enabled: False
# mode: layer2
# Using Gathered
# Before state:
# -------------
#
# test#show running-config | section interface
# interface Ethernet1
# !
# interface Ethernet2
# description Configured by Ansible
# shutdown
# !
# interface Management1
# ip address dhcp
# dhcp client accept default-route
- name: Gather interfaces facts from the device
arista.eos.interfaces:
state: gathered
# Module Execution Result:
# ------------------------
#
# gathered:
# - enabled: true
# name: Ethernet1
# - description: Configured by Ansible
# enabled: false
# name: Ethernet2
# - enabled: true
# name: Management1
Return Values¶
| Key | Data Type | Description | Returned |
|---|---|---|---|
| after | dict | The resulting configuration after module execution. | when changed |
| before | dict | The configuration prior to the module execution. | when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) |
| commands | list | The set of commands pushed to the remote device. | when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) |
| gathered | list | Facts about the network resource gathered from the remote device as structured data. | when I(state) is C(gathered) |
| parsed | list | The device native config provided in I(running_config) option parsed into structured data as per module argspec. | when I(state) is C(parsed) |
| rendered | list | The provided configuration in the task rendered in device-native format (offline). | when I(state) is C(rendered) |
Authors¶
- Nathaniel Case (@qalthos)