Interfaces resource module
Version added: 1.0.0
- This module manages the interface attributes of Arista EOS interfaces.
Note
- Tested against Arista EOS 4.24.6F - This module works with connection network_cli
. See https://docs.ansible.com/ansible/latest/network/user_guide/platform_eos.html
# 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
Common return values are documented here, the following are the fields unique to this module:
- Nathaniel Case (@Qalthos)