PARALLAX

eos_static_routes

Static routes resource module

Collection: arista.eos

Full Name: arista.eos.eos_static_routes

Controller module — runs on the local controller, not on remote hosts.

Synopsis

Static routes resource module

Parameters

NameTypeRequiredDefaultDescription
configlist
running_configstr
statestrmerged

Example

yaml
# Using deleted

# Before State:
# ------------

# veos(config)#show running-config | grep route
# ip route vrf testvrf 22.65.1.0/24 Null0 90 name testroute
# ipv6 route 5222:5::/64 Management1 4312:100::1
# ipv6 route vrf testvrf 2222:6::/64 Management1 4312:100::1
# ipv6 route vrf testvrf 2222:6::/64 Ethernet1 55
# ipv6 route vrf testvrf 2222:6::/64 Null0 90 name testroute1
# veos(config)#


- name: Delete afi
  arista.eos.eos_static_routes:
    config:
      - vrf: testvrf
        address_families:
          - afi: ipv4
    state: deleted


# Task Output
# -------------
# before:
# - address_families:
#   - afi: ipv6
#     routes:
#     - dest: 5222:5::/64
#       next_hops:
#       - forward_router_address: 4312:100::1
#         interface: Management1
# - address_families:
#   - afi: ipv4
#     routes:
#     - dest: 22.65.1.0/24
#       next_hops:
#       - admin_distance: 90
#         description: testroute
#         interface: Null0
#   - afi: ipv6
#     routes:
#     - dest: 2222:6::/64
#       next_hops:
#       - forward_router_address: 4312:100::1
#         interface: Management1
#       - admin_distance: 55
#         interface: Ethernet1
#       - admin_distance: 90
#         description: testroute1
#         interface: Null0
#   vrf: testvrf
# commands:
# - no ip route vrf testvrf 22.65.1.0/24 Null0 90 name testroute
# after:
# - address_families:
#   - afi: ipv6
#     routes:
#     - dest: 5222:5::/64
#       next_hops:
#       - forward_router_address: 4312:100::1
#         interface: Management1
# - address_families:
#   - afi: ipv6
#     routes:
#     - dest: 2222:6::/64
#       next_hops:
#       - forward_router_address: 4312:100::1
#         interface: Management1
#       - admin_distance: 55
#         interface: Ethernet1
#       - admin_distance: 90
#         description: testroute1
#         interface: Null0
#   vrf: testvrf


# After State
# ___________
# veos(config)#show running-config | grep route
# ipv6 route 5222:5::/64 Management1 4312:100::1
# ipv6 route vrf testvrf 2222:6::/64 Management1 4312:100::1
# ipv6 route vrf testvrf 2222:6::/64 Ethernet1 55
# ipv6 route vrf testvrf 2222:6::/64 Null0 90 name testroute1


# Using merged


# Before State
# -------------
# veos(config)#show running-config | grep "route"
# ip route 165.10.1.0/24 Ethernet1 100
# ip route 172.17.252.0/24 Nexthop-Group testgroup
# ip route vrf testvrf 130.1.122.0/24 Ethernet1 tag 50
# ipv6 route 5001::/64 Ethernet1 50
# veos(config)#


- name: Merge new static route configuration
  arista.eos.eos_static_routes:
    config:
      - vrf: testvrf
        address_families:
          - afi: ipv6
            routes:
              - dest: 2211::0/64
                next_hop:
                  - forward_router_address: 100:1::2
                    interface: Ethernet1
    state: merged


# Task Output
# -------------
# before:
# - address_families:
#   - afi: ipv4
#     routes:
#     - dest: 165.10.1.0/24
#       next_hops:
#       - admin_distance: 100
#         interface: Ethernet1
#     - dest: 172.17.252.0/24
#       next_hops:
#       - nexthop_grp: testgroup
#   - afi: ipv6
#     routes:
#     - dest: 5001::/64
#       next_hops:
#       - admin_distance: 50
#         interface: Ethernet1
# - address_families:
#   - afi: ipv4
#     routes:
#     - dest: 130.1.122.0/24
#       next_hops:
#       - interface: Ethernet1
#         tag: 50
#   vrf: testvrf
# commands:
# - ipv6 route 2211::/64 Ethernet1 100:1::2
# after:
# - address_families:
#   - afi: ipv4
#     routes:
#     - dest: 165.10.1.0/24
#       next_hops:
#       - admin_distance: 100
#         interface: Ethernet1
#     - dest: 172.17.252.0/24
#       next_hops:
#       - nexthop_grp: testgroup
#   - afi: ipv6
#     routes:
#     - dest: 5001::/64
#       next_hops:
#       - admin_distance: 50
#         interface: Ethernet1
# - address_families:
#   - afi: ipv4
#     routes:
#     - dest: 130.1.122.0/24
#       next_hops:
#       - interface: Ethernet1
#         tag: 50
#   - afi: ipv6
#     routes:
#     - dest: 2211::0/64
#       next_hops:
#       - aforward_router_address: "100:1::2"
#         interface: Ethernet1
#   vrf: testvrf

# After State
# -----------
# veos(config)#show running-config | grep "route"
# ip route 165.10.1.0/24 Ethernet1 100
# ip route 172.17.252.0/24 Nexthop-Group testgroup
# ip route vrf testvrf 130.1.122.0/24 Ethernet1 tag 50
# ipv6 route 2211::/64 Ethernet1 100:1::2
# ipv6 route 5001::/64 Ethernet1 50
# veos(config)#


# Using overridden


# Before State
# -------------
# veos(config)#show running-config | grep "route"
# ip route 165.10.1.0/24 Ethernet1 100
# ip route 172.17.252.0/24 Nexthop-Group testgroup
# ip route vrf testvrf 130.1.122.0/24 Ethernet1 tag 50
# ipv6 route 5001::/64 Ethernet1 50
# veos(config)#


- name: Overridden static route configuration
  arista.eos.eos_static_routes:
    config:
      - address_families:
          - afi: ipv4
            routes:
              - dest: 10.2.2.0/24
                next_hop:
                  - interface: Ethernet1
    state: replaced


# Task Output
# -------------
# before:
# - address_families:
#   - afi: ipv4
#     routes:
#     - dest: 165.10.1.0/24
#       next_hops:
#       - admin_distance: 100
#         interface: Ethernet1
#     - dest: 172.17.252.0/24
#       next_hops:
#       - nexthop_grp: testgroup
#   - afi: ipv6
#     routes:
#     - dest: 5001::/64
#       next_hops:
#       - admin_distance: 50
#         interface: Ethernet1
# - address_families:
#   - afi: ipv4
#     routes:
#     - dest: 130.1.122.0/24
#       next_hops:
#       - interface: Ethernet1
#         tag: 50
#   vrf: testvrf
# commands:
# - no ip route 165.10.1.0/24 Ethernet1 100
# - no ip route 172.17.252.0/24 Nexthop-Group testgroup
# - no ip route vrf testvrf 130.1.122.0/24 Ethernet1 tag 50
# - no ipv6 route 5001::/64 Ethernet1 50
# - ip route 10.2.2.0/24 Ethernet1
# after:
# - address_families:
#   - afi: ipv4
#     routes:
#     - dest: 10.2.2.0/24
#       next_hops:
#       - interface: Ethernet1


# After State
# -----------
# veos(config)#show running-config | grep "route"
# ip route 10.2.2.0/24 Ethernet1
# veos(config)#


# Using replaced

# Before State
# -------------
# ip route 10.2.2.0/24 Ethernet1
# ip route 10.2.2.0/24 64.1.1.1 label 17 33
# ip route 33.33.33.0/24 Nexthop-Group testgrp
# ip route vrf testvrf 22.65.1.0/24 Null0 90 name testroute
# ipv6 route 5222:5::/64 Management1 4312:100::1
# ipv6 route vrf testvrf 2222:6::/64 Management1 4312:100::1
# ipv6 route vrf testvrf 2222:6::/64 Ethernet1 55
# ipv6 route vrf testvrf 2222:6::/64 Null0 90 name testroute1


- name: Replace nexthop
  arista.eos.eos_static_routes:
    config:
      - vrf: testvrf
        address_families:
          - afi: ipv6
            routes:
              - dest: 2222:6::/64
                next_hops:
                  - admin_distance: 56
                    interface: Ethernet1
    state: replaced


# Task Output
# -------------
# before:
# - address_families:
#   - afi: ipv4
#     routes:
#     - dest: 10.2.2.0/24
#       next_hops:
#       - interface: Ethernet1
#       - admin_distance: 33
#         interface: 64.1.1.1
#         mpls_label: 17
#     - dest: 33.33.33.0/24
#       next_hops:
#       - nexthop_grp: testgrp
#   - afi: ipv6
#     routes:
#     - dest: 5222:5::/64
#       next_hops:
#       - forward_router_address: 4312:100::1
#         interface: Management1
# - address_families:
#   - afi: ipv4
#     routes:
#     - dest: 22.65.1.0/24
#       next_hops:
#       - admin_distance: 90
#         description: testroute
#         interface: Null0
#   - afi: ipv6
#     routes:
#     - dest: 2222:6::/64
#       next_hops:
#       - forward_router_address: 4312:100::1
#         interface: Management1
#       - admin_distance: 90
#         description: testroute1
#         interface: Null0
#   vrf: testvrf
# commands:
# - no ipv6 route vrf testvrf 2222:6::/64 Management1 4312:100::1
# - no  ipv6 route vrf testvrf 2222:6::/64 Ethernet1 55
# - no  ipv6 route vrf testvrf 2222:6::/64 Null0 90 name testroute1
# - ipv6 route vrf testvrf 2222:6::/64 Ethernet1 56
# after:
# - address_families:
#   - afi: ipv4
#     routes:
#     - dest: 10.2.2.0/24
#       next_hops:
#       - interface: Ethernet1
#       - admin_distance: 33
#         interface: 64.1.1.1
#         mpls_label: 17
#     - dest: 33.33.33.0/24
#       next_hops:
#       - nexthop_grp: testgrp
#   - afi: ipv6
#     routes:
#     - dest: 5222:5::/64
#       next_hops:
#       - forward_router_address: 4312:100::1
#         interface: Management1
# - address_families:
#   - afi: ipv4
#     routes:
#     - dest: 22.65.1.0/24
#       next_hops:
#       - admin_distance: 90
#         description: testroute
#         interface: Null0
#   - afi: ipv6
#     routes:
#     - dest: 2222:6::/64
#       next_hops:
#       - admin_distance: 56
#         interface: Ethernet1
#  vrf: testvrf

# After State
# -----------
# veos(config)#show running-config | grep route
# ip route 10.2.2.0/24 Ethernet1
# ip route 10.2.2.0/24 64.1.1.1 label 17 33
# ip route 33.33.33.0/24 Nexthop-Group testgrp
# ip route vrf testvrf 22.65.1.0/24 Null0 90 name testroute
# ipv6 route 5222:5::/64 Management1 4312:100::1
# ipv6 route vrf testvrf 2222:6::/64 Ethernet1 55


# Using Gathered


# Before State
# -------------
# veos(config)#show running-config | grep "route"
# ip route 165.10.1.0/24 Ethernet1 10.1.1.2 100
# ipv6 route 5001::/64 Ethernet1
# veos(config)#


- name: Gather the exisitng condiguration
  arista.eos.eos_static_routes:
    state: gathered

# Task Output
# -------------
# gathered:
# - address_families:
#   - afi: ipv4
#     routes:
#     - dest: 165.10.1.0/24
#       next_hop:
#       - forward_router_address: 10.1.1.2
#         interface: Ethernet1
#         admin_distance: 100
#   - afi: ipv6
#     routes:
#     - dest: 5001::/64
#       next_hop:
#       - interface: Ethernet1


# Using rendered

#   arista.eos.eos_static_routes:
#    config:
#      - address_families:
#          - afi: ipv4
#            routes:
#              - dest: 165.10.1.0/24
#                next_hop:
#                  - forward_router_address: 10.1.1.2
#                    interface: "Ethernet1"
#                    admin_distance: 100
#         - afi: ipv6
#            routes:
#              - dest: 5001::/64
#                next_hop:
#                  - interface: "Ethernet1"


# Task Output
# -------------
# rendered:
# - ip route 165.10.1.0/24 Ethernet1 10.1.1.2 100
# - ipv6 route 5001::/64 Ethernet1


# Using parsed:


# parse_static_routes.cfg
# ip route 165.10.1.0/24 Ethernet1 10.1.1.2 100
# ipv6 route 5001::/64 Ethernet1
#


- name: parse configs
  arista.eos.eos_static_routes:
    running_config: "{{ lookup('file', './parse_static_routes.cfg') }}"
    state: parsed


# Task Output
# -------------
# parsed:
# - address_families:
#   - afi: ipv4
#     routes:
#     - dest: 165.10.1.0/24
#       next_hop:
#       - forward_router_address: 10.1.1.2
#         interface: Ethernet1
#         admin_distance: 100
#   - afi: ipv6
#     routes:
#     - dest: 5001::/64
#       next_hop:
#       - interface: Ethernet1
Search
    ↑ ↓ move↵ openesc close