On this page
arista.eos.eos_route_maps – Manages Route Maps resource module
Note
This plugin is part of the arista.eos collection (version 2.2.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install arista.eos
.
To use it in a playbook, specify: arista.eos.eos_route_maps
.
New in version 2.1.0: of arista.eos
Synopsis
- This module configures and manages the attributes of Route Mapd on Arista EOS platforms.
Note
This module has a corresponding action plugin.
Parameters
Parameter | Choices/Defaults | Comments | |||||
---|---|---|---|---|---|---|---|
config
list / elements=dictionary
|
A list of route-map options
|
||||||
entries
list / elements=dictionary
|
Route Map entries.
|
||||||
action
string
|
|
Action for matching routes
|
|||||
continue_sequence
integer
|
Route map entry sequence number.
|
||||||
description
string
|
Description for the route map.
|
||||||
match
dictionary
|
Route map match rules.
|
||||||
aggregate_role
dictionary
|
Role in BGP contributor-aggregate relation.
|
||||||
contributor
boolean
|
|
BGP aggregate's contributor.
|
|||||
route_map
string
|
Route map to apply against the aggregate route.
|
||||||
as
integer
|
BGP AS number.
|
||||||
as_path
dictionary
|
Set as-path.
|
||||||
length
string
|
Specify as-path length ( with comparison operators like <= 60 and >= 40 ).
|
||||||
path_list
string
|
AS path list name.
|
||||||
community
dictionary
|
BGP community attribute.
|
||||||
community_list
string
|
list of community names (in csv format).
|
||||||
exact_match
boolean
|
|
Do exact matching of communities.
|
|||||
instances
string
|
Match number of community instances ( with comparison operators like <= 60 and >= 40 ).
|
||||||
extcommunity
dictionary
|
extended community list name.
|
||||||
community_list
string
|
list of community names (in csv format).
|
||||||
exact_match
boolean
|
|
Do exact matching of communities.
|
|||||
interface
string
|
interface name.
|
||||||
invert_result
dictionary
|
Invert match result.
|
||||||
aggregate_role
dictionary
|
Role in BGP contributor-aggregate relation.
|
||||||
contributor
boolean
|
|
BGP aggregate's contributor.
|
|||||
route_map
string
|
Route map to apply against the aggregate route.
|
||||||
as_path
dictionary
|
Set as-path.
|
||||||
length
string
|
Specify as-path length ( with comparison operators like <= 60 and >= 40 ).
|
||||||
path_list
string
|
AS path list name.
|
||||||
community
dictionary
|
BGP community attribute.
|
||||||
community_list
string
|
list of community names (in csv format).
|
||||||
exact_match
boolean
|
|
Do exact matching of communities.
|
|||||
instances
string
|
Match number of community instances ( with comparison operators like <= 60 and >= 40 ).
|
||||||
extcommunity
dictionary
|
extended community list name.
|
||||||
community_list
string
|
list of community names (in csv format).
|
||||||
exact_match
boolean
|
|
Do exact matching of communities.
|
|||||
large_community
dictionary
|
extended community list name.
|
||||||
community_list
string
|
list of community names (in csv format).
|
||||||
exact_match
boolean
|
|
Do exact matching of communities.
|
|||||
ip
dictionary
|
Set IP specific information.
|
||||||
address
dictionary
|
next hop destination.
|
||||||
access_list
string
|
ip access-list.
|
||||||
dynamic
boolean
|
|
Configure dynamic prefix-list.
|
|||||
prefix_list
string
|
Prefix list.
|
||||||
next_hop
string
|
next hop prefix list.
|
||||||
resolved_next_hop
string
|
Route resolved prefix list.
|
||||||
ipv6
dictionary
|
Set IPv6 specific information.
|
||||||
address
dictionary
|
next hop destination.
|
||||||
access_list
string
|
ip access-list.
|
||||||
dynamic
boolean
|
|
Configure dynamic prefix-list.
|
|||||
prefix_list
string
|
Prefix list.
|
||||||
next_hop
string
|
next hop prefix list.
|
||||||
resolved_next_hop
string
|
Route resolved prefix list.
|
||||||
isis_level
string
|
IS-IS level.
|
||||||
large_community
dictionary
|
extended community list name.
|
||||||
community_list
string
|
list of community names (in csv format).
|
||||||
exact_match
boolean
|
|
Do exact matching of communities.
|
|||||
local_preference
integer
|
BGP local preference.
|
||||||
metric
integer
|
Route metric.
|
||||||
metric_type
string
|
|
Route metric type.
|
|||||
route_type
string
|
Route type
|
||||||
router_id
string
|
Router ID.
|
||||||
source_protocol
string
|
Source routing protocol,
|
||||||
tag
integer
|
Route tag
|
||||||
sequence
integer
|
Index in the sequence.
|
||||||
set
dictionary
|
set route attributes.
|
||||||
as_path
dictionary
|
Set as-path.
|
||||||
match
dictionary
|
Match the entire as-path.
|
||||||
as_number
string
|
as number to use (includes auto;in csv format)
|
||||||
none
boolean
|
|
Remove matching AS numbers
|
|||||
prepend
dictionary
|
Prepend to the as-path.
|
||||||
as_number
string
|
as number to prepend (includes auto;in csv format)
|
||||||
last_as
integer
|
The number of times to prepend the last AS number.
|
||||||
bgp
integer
|
BGP AS path multipath weight.
|
||||||
community_attributes
dictionary
|
BGP community attribute.
|
||||||
community
dictionary
|
community attributes.
|
||||||
additive
boolean
|
|
Add to existing community.
|
|||||
delete
boolean
|
|
Delete matching communities.
|
|||||
graceful_shutdown
boolean
|
|
Gracefully shutdown.
|
|||||
internet
boolean
|
|
Internet community
|
|||||
list
string
|
community list name.
|
||||||
local_as
boolean
|
|
Do not send outside local AS.
|
|||||
no_advertise
boolean
|
|
Do not advertise to any peer.
|
|||||
no_export
boolean
|
|
Do not export to next AS.
|
|||||
number
string
|
community number (in csv format).
|
||||||
graceful_shutdown
boolean
|
|
Graceful shutdown
|
|||||
none
boolean
|
|
No community attribute.
|
|||||
distance
integer
|
Set protocol independent distance.
|
||||||
evpn
boolean
|
|
Keep the next hop when advertising to eBGP peers.
|
|||||
extcommunity
dictionary
|
BGP extended community attribute.
|
||||||
lbw
dictionary
|
Link bandwith values.
|
||||||
aggregate
boolean
|
|
Aggregate Link Bandwidth.
|
|||||
divide
string
|
|
Divide Link Bandwidth.
|
|||||
value
string
|
Link Bandwidth extended community value.
|
||||||
none
boolean
|
|
No attribute.
|
|||||
rt
dictionary
|
Route target extended community
|
||||||
additive
boolean
|
|
Add to the existing community.
|
|||||
delete
boolean
|
|
Delete matching communities.
|
|||||
vpn
string
|
VPN extended community.
|
||||||
soo
dictionary
|
Site-of-Origin extended community.
|
||||||
additive
boolean
|
|
Add to the existing community.
|
|||||
delete
boolean
|
|
Delete matching communities.
|
|||||
vpn
string
|
VPN extended community.
|
||||||
ip
dictionary
|
Set IP specific information.
|
||||||
address
string
|
next hop address.
|
||||||
peer_address
boolean
|
|
Use BGP peering addr as next-hop.
|
|||||
unchanged
boolean
|
|
Keep the next hop when advertising to eBGP peer
|
|||||
ipv6
dictionary
|
Set IPv6 specific information.
|
||||||
address
string
|
next hop address.
|
||||||
peer_address
boolean
|
|
Use BGP peering addr as next-hop.
|
|||||
unchanged
boolean
|
|
Keep the next hop when advertising to eBGP peer
|
|||||
isis_level
string
|
IS-IS level.
|
||||||
local_preference
integer
|
BGP local preference.
|
||||||
metric
dictionary
|
Route metric.
|
||||||
add
string
|
|
Add igp-metric / igp-nexthop-cost
|
|||||
igp_param
string
|
|
IGP parameter
|
|||||
value
string
|
metric value to add or subtract(with +/- sign).
|
||||||
metric_type
string
|
|
Route metric type.
|
|||||
nexthop
dictionary
|
Route next hop.
|
||||||
max_metric
boolean
|
|
Set IGP max metric value.
|
|||||
value
integer
|
IGP metric value.
|
||||||
origin
string
|
|
Set bgp origin.
|
|||||
segment_index
integer
|
MPLS Segment-routing Segment Index.
|
||||||
tag
integer
|
Route tag
|
||||||
weight
integer
|
BGP weight.
|
||||||
source
dictionary
|
Rename/Copy configuration
|
||||||
action
string
|
|
rename or copy configuration
|
|||||
overwrite
boolean
|
|
if True, overwrite existing config.
|
|||||
source_map_name
string
|
Source route map name.
|
||||||
statement
string
|
statement name
|
||||||
sub_route_map
dictionary
|
Sub route map
|
||||||
invert_result
boolean
|
|
Invert sub route map result
|
|||||
name
string
|
sub route map name
|
||||||
route_map
string
|
Route map name.
|
||||||
running_config
string
|
This option is used only with state parsed.
The value of this option should be the output received from the EOS device by executing the command show running-config | section route-map.
The state parsed reads the configuration from 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 parsed key within the result.
|
||||||
state
string
|
|
The state the configuration should be left in.
|
Notes
Note
- Tested against Arista EOS 4.23.0F
- This module works with connection
network_cli
. See the EOS Platform Options.
Examples
# Using merged
# Before state
# veos#show running-config | section route-map
# veos#
- name: Merge provided configuration with device configuration
arista.eos.eos_route_maps:
config:
- route_map: "mapmerge"
entries:
- description: "merged_map"
action: "permit"
sequence: 10
match:
router_id: 22
- description: "newmap"
action: "deny"
sequence: 25
continue_sequence: 45
match:
interface: "Ethernet1"
- route_map: "mapmerge2"
entries:
- sub_route_map:
name: "mapmerge"
action: "deny"
sequence: 45
set:
metric:
value: 25
add: "igp-metric"
as_path:
prepend:
last_as: 2
match:
ipv6:
resolved_next_hop: "list1"
state: merged
# After State:
# veos#show running-config | section route-map
# route-map mapmerge permit 10
# description merged_map
# match router-id prefix-list 22
# !
# route-map mapmerge deny 25
# description newmap
# match interface Ethernet1
# continue 45
# !
# route-map mapmerge2 deny 45
# match ipv6 resolved-next-hop prefix-list list1
# sub-route-map mapmerge
# set metric 25 +igp-metric
# set as-path prepend last-as 2
# !
# route-map test permit 10
# veos#
# Module Execution:
# "after": [
# {
# "entries": [
# {
# "action": "permit",
# "description": "merged_map",
# "match": {
# "router_id": "22"
# },
# "sequence": 10
# },
# {
# "action": "deny",
# "continue_sequence": 45,
# "description": "newmap",
# "match": {
# "interface": "Ethernet1"
# },
# "sequence": 25
# }
# ],
# "route_map": "mapmerge"
# },
# {
# "entries": [
# {
# "action": "deny",
# "match": {
# "ipv6": {
# "resolved_next_hop": "list1"
# }
# },
# "sequence": 45,
# "set": {
# "as_path": {
# "prepend": {
# "last_as": 2
# }
# },
# "metric": {
# "add": "igp-metric",
# "value": "25"
# }
# },
# "sub_route_map": {
# "name": "mapmerge"
# }
# }
# ],
# "route_map": "mapmerge2"
# }
# ],
# "before": {},
# "changed": true,
# "commands": [
# "route-map mapmerge permit 10",
# "match router-id prefix-list 22",
# "description merged_map",
# "route-map mapmerge deny 25",
# "match interface Ethernet1",
# "description newmap",
# "continue 45",
# "route-map mapmerge2 deny 45",
# "match ipv6 resolved-next-hop prefix-list list1",
# "set metric 25 +igp-metric",
# "set as-path prepend last-as 2",
# "sub-route-map mapmerge"
# ],
#
# Using replaced:
# Before State:
# veos#show running-config | section route-map
# route-map mapmerge permit 10
# description merged_map
# match router-id prefix-list 22
# !
# route-map mapmerge deny 25
# description newmap
# match interface Ethernet1
# continue 45
# !
# route-map mapmerge2 deny 45
# match ipv6 resolved-next-hop prefix-list list1
# sub-route-map mapmerge
# set metric 25 +igp-metric
# set as-path prepend last-as 2
# !
# veos#
- name: Replace
arista.eos.eos_route_maps:
config:
- route_map: "mapmerge"
entries:
- action: "permit"
sequence: 10
match:
ipv6:
resolved_next_hop: "listr"
- action: "deny"
sequence: 90
set:
extcommunity:
rt:
vpn: "22:11"
delete: True
ip:
unchanged: True
state: replaced
# After State:
# veos#show running-config | section route-map
# route-map mapmerge permit 10
# match ipv6 resolved-next-hop prefix-list listr
# !
# route-map mapmerge deny 25
# description newmap
# match interface Ethernet1
# continue 45
# !
# route-map mapmerge deny 90
# set ip next-hop unchanged
# set extcommunity rt 22:11 delete
# !
# route-map mapmerge2 deny 45
# match ipv6 resolved-next-hop prefix-list list1
# sub-route-map mapmerge
# set metric 25 +igp-metric
# set as-path prepend last-as 2
# !
#
# Module Execution:
#
# "after": [
# {
# "entries": [
# {
# "action": "permit",
# "match": {
# "ipv6": {
# "resolved_next_hop": "listr"
# }
# },
# "sequence": 10
# },
# {
# "action": "deny",
# "continue_sequence": 45,
# "description": "newmap",
# "match": {
# "interface": "Ethernet1"
# },
# "sequence": 25
# },
# {
# "action": "deny",
# "sequence": 90,
# "set": {
# "extcommunity": {
# "rt": {
# "delete": true,
# "vpn": "22:11"
# }
# },
# "ip": {
# "unchanged": true
# }
# }
# }
# ],
# "route_map": "mapmerge"
# },
# {
# "entries": [
# {
# "action": "deny",
# "match": {
# "ipv6": {
# "resolved_next_hop": "list1"
# }
# },
# "sequence": 45,
# "set": {
# "as_path": {
# "prepend": {
# "last_as": 2
# }
# },
# "metric": {
# "add": "igp-metric",
# "value": "25"
# }
# },
# "sub_route_map": {
# "name": "mapmerge"
# }
# }
# ],
# "route_map": "mapmerge2"
# },
# {
# "entries": [
# {
# "action": "permit",
# "sequence": 10
# }
# ],
# "route_map": "test"
# }
# ],
# "before": [
# {
# "entries": [
# {
# "action": "permit",
# "description": "merged_map",
# "match": {
# "router_id": "22"
# },
# "sequence": 10
# },
# {
# "action": "deny",
# "continue_sequence": 45,
# "description": "newmap",
# "match": {
# "interface": "Ethernet1"
# },
# "sequence": 25
# }
# ],
# "route_map": "mapmerge"
# },
# {
# "entries": [
# {
# "action": "deny",
# "match": {
# "ipv6": {
# "resolved_next_hop": "list1"
# }
# },
# "sequence": 45,
# "set": {
# "as_path": {
# "prepend": {
# "last_as": 2
# }
# },
# "metric": {
# "add": "igp-metric",
# "value": "25"
# }
# },
# "sub_route_map": {
# "name": "mapmerge"
# }
# }
# ],
# "route_map": "mapmerge2"
# }
# ],
# "changed": true,
# "commands": [
# "route-map mapmerge permit 10",
# "match ipv6 resolved-next-hop prefix-list listr",
# "no match router-id prefix-list 22",
# "no description",
# "route-map mapmerge deny 90",
# "set extcommunity rt 22:11 delete",
# "set ip next-hop unchanged"
# ],
#
#
# Using Overridden:
# Before state:
# veos#show running-config | section route-map
# route-map mapmerge permit 10
# match ipv6 resolved-next-hop prefix-list listr
# !
# route-map mapmerge deny 25
# description newmap
# match interface Ethernet1
# continue 45
# !
# route-map mapmerge deny 90
# set ip next-hop unchanged
# set extcommunity rt 22:11 delete
# !
# route-map mapmerge2 deny 45
# match ipv6 resolved-next-hop prefix-list list1
# sub-route-map mapmerge
# set metric 25 +igp-metric
# set as-path prepend last-as 2
# !
# route-map test permit 10
# veos#
- name: Override
arista.eos.eos_route_maps:
config:
- route_map: "mapmerge"
entries:
- action: "permit"
sequence: 10
match:
ipv6:
resolved_next_hop: "listr"
- action: "deny"
sequence: 90
set:
metric:
igp_param: "igp-nexthop-cost"
state: overridden
# After State:
# veos#show running-config | section route-map
# route-map mapmerge permit 10
# match ipv6 resolved-next-hop prefix-list listr
# !
# route-map mapmerge deny 90
# set metric igp-nexthop-cost
# veos#
#
#
# "after": [
# {
# "entries": [
# {
# "action": "permit",
# "match": {
# "ipv6": {
# "resolved_next_hop": "listr"
# }
# },
# "sequence": 10
# },
# {
# "action": "deny",
# "sequence": 90,
# "set": {
# "metric": {
# "igp_param": "igp-nexthop-cost"
# }
# }
# }
# ],
# "route_map": "mapmerge"
# }
# ],
# "before": [
# {
# "entries": [
# {
# "action": "permit",
# "match": {
# "ipv6": {
# "resolved_next_hop": "listr"
# }
# },
# "sequence": 10
# },
# {
# "action": "deny",
# "continue_sequence": 45,
# "description": "newmap",
# "match": {
# "interface": "Ethernet1"
# },
# "sequence": 25
# },
# {
# "action": "deny",
# "sequence": 90,
# "set": {
# "extcommunity": {
# "rt": {
# "delete": true,
# "vpn": "22:11"
# }
# },
# "ip": {
# "unchanged": true
# }
# }
# }
# ],
# "route_map": "mapmerge"
# },
# {
# "entries": [
# {
# "action": "deny",
# "match": {
# "ipv6": {
# "resolved_next_hop": "list1"
# }
# },
# "sequence": 45,
# "set": {
# "as_path": {
# "prepend": {
# "last_as": 2
# }
# },
# "metric": {
# "add": "igp-metric",
# "value": "25"
# }
# },
# "sub_route_map": {
# "name": "mapmerge"
# }
# }
# ],
# "route_map": "mapmerge2"
# },
# {
# "entries": [
# {
# "action": "permit",
# "sequence": 10
# }
# ],
# "route_map": "test"
# }
# ],
# "changed": true,
# "commands": [
# "no route-map mapmerge deny 25",
# "no route-map mapmerge2 deny 45",
# "no route-map test permit 10",
# "route-map mapmerge deny 90",
# "set metric igp-nexthop-cost",
# "no set ip next-hop unchanged",
# "no set extcommunity rt 22:11 delete"
# ],
#
# Using deleted:
# Before State:
# veos#show running-config | section route-map
# route-map mapmerge permit 10
# description merged_map
# match router-id prefix-list 22
# match ipv6 resolved-next-hop prefix-list listr
# !
# route-map mapmerge deny 25
# description newmap
# match interface Ethernet1
# continue 45
# !
# route-map mapmerge deny 90
# set metric igp-nexthop-cost
# !
# route-map mapmerge2 deny 45
# match ipv6 resolved-next-hop prefix-list list1
# sub-route-map mapmerge
# set metric 25 +igp-metric
# set as-path prepend last-as 2
# veos#
- name: Delete route-map
arista.eos.eos_route_maps:
config:
- route_map: "mapmerge"
state: deleted
become: yes
tags:
- deleted1
# After State:
# veos#show running-config | section route-map
# route-map mapmerge2 deny 45
# match ipv6 resolved-next-hop prefix-list list1
# sub-route-map mapmerge
# set metric 25 +igp-metric
# set as-path prepend last-as 2
# veos#
#
# Module Execution:
#
# "after": [
# {
# "entries": [
# {
# "action": "deny",
# "match": {
# "ipv6": {
# "resolved_next_hop": "list1"
# }
# },
# "sequence": 45,
# "set": {
# "as_path": {
# "prepend": {
# "last_as": 2
# }
# },
# "metric": {
# "add": "igp-metric",
# "value": "25"
# }
# },
# "sub_route_map": {
# "name": "mapmerge"
# }
# }
# ],
# "route_map": "mapmerge2"
# }
# ],
# "before": [
# {
# "entries": [
# {
# "action": "permit",
# "description": "merged_map",
# "match": {
# "ipv6": {
# "resolved_next_hop": "listr"
# },
# "router_id": "22"
# },
# "sequence": 10
# },
# {
# "action": "deny",
# "continue": 45,
# "description": "newmap",
# "match": {
# "interface": "Ethernet1"
# },
# "sequence": 25
# },
# {
# "action": "deny",
# "sequence": 90,
# "set": {
# "metric": {
# "igp_param": "igp-nexthop-cost"
# }
# }
# }
# ],
# "route_map": "mapmerge"
# },
# {
# "entries": [
# {
# "action": "deny",
# "match": {
# "ipv6": {
# "resolved_next_hop": "list1"
# }
# },
# "sequence": 45,
# "set": {
# "as_path": {
# "prepend": {
# "last_as": 2
# }
# },
# "metric": {
# "add": "igp-metric",
# "value": "25"
# }
# },
# "sub_route_map": {
# "name": "mapmerge"
# }
# }
# ],
# "route_map": "mapmerge2"
# }
# ],
# "changed": true,
# "commands": [
# "no route-map mapmerge"
# ],
# Using deleted to delete all route-maps:
# Before State:
# veos#show running-config | section route-map
# route-map mapmerge permit 10
# description merged_map
# match router-id prefix-list 22
# !
# route-map mapmerge deny 25
# description newmap
# match interface Ethernet1
# continue 45
# !
# route-map mapmerge2 deny 45
# match ipv6 resolved-next-hop prefix-list list1
# sub-route-map mapmerge
# set metric 25 +igp-metric
# set as-path prepend last-as 2
# veos#
- name: Delete all route-maps
arista.eos.eos_route_maps:
state: deleted
# After State:
# veos#show running-config | section route-map
# veos#
#
# Module Execution:
#
# "after": {},
# "before": [
# {
# "entries": [
# {
# "action": "permit",
# "description": "merged_map",
# "match": {
# "router_id": "22"
# },
# "sequence": 10
# },
# {
# "action": "deny",
# "continue": 45,
# "description": "newmap",
# "match": {
# "interface": "Ethernet1"
# },
# "sequence": 25
# }
# ],
# "route_map": "mapmerge"
# },
# {
# "entries": [
# {
# "action": "deny",
# "match": {
# "ipv6": {
# "resolved_next_hop": "list1"
# }
# },
# "sequence": 45,
# "set": {
# "as_path": {
# "prepend": {
# "last_as": 2
# }
# },
# "metric": {
# "add": "igp-metric",
# "value": "25"
# }
# },
# "sub_route_map": {
# "name": "mapmerge"
# }
# }
# ],
# "route_map": "mapmerge2"
# }
# ],
# "changed": true,
# "commands": [
# "no route-map mapmerge",
# "no route-map mapmerge2"
# ],
# Using gathered:
# Device configs:
# veos#show running-config | section route-map
# route-map mapmerge permit 10
# description merged_map
# match router-id prefix-list 22
# !
# route-map mapmerge deny 25
# description newmap
# match interface Ethernet1
# continue 45
# !
# route-map mapmerge2 deny 45
# match ipv6 resolved-next-hop prefix-list list1
# sub-route-map mapmerge
# set metric 25 +igp-metric
# set as-path prepend last-as 2
# veos#
- name: gather configs
arista.eos.eos_route_maps:
state: gathered
# Module Execution:
# "gathered": [
# {
# "entries": [
# {
# "action": "permit",
# "description": "merged_map",
# "match": {
# "router_id": "22"
# },
# "sequence": 10
# },
# {
# "action": "deny",
# "continue_sequence": 45,
# "description": "newmap",
# "match": {
# "interface": "Ethernet1"
# },
# "sequence": 25
# }
# ],
# "route_map": "mapmerge"
# },
# {
# "entries": [
# {
# "action": "deny",
# "match": {
# "ipv6": {
# "resolved_next_hop": "list1"
# }
# },
# "sequence": 45,
# "set": {
# "as_path": {
# "prepend": {
# "last_as": 2
# }
# },
# "metric": {
# "add": "igp-metric",
# "value": "25"
# }
# },
# "sub_route_map": {
# "name": "mapmerge"
# }
# }
# ],
# "route_map": "mapmerge2"
# }
# ],
# Using rendered:
- name: Render provided configuration
arista.eos.eos_route_maps:
config:
- route_map: "mapmerge"
entries:
- description: "merged_map"
action: "permit"
sequence: 10
match:
router_id: 22
set:
bgp: 20
- description: "newmap"
action: "deny"
sequence: 25
continue_sequence: 45
match:
interface: "Ethernet1"
- route_map: "mapmerge2"
entries:
- sub_route_map:
name: "mapmerge"
action: "deny"
sequence: 45
set:
metric:
value: 25
add: "igp-metric"
as_path:
prepend:
last_as: 2
match:
ipv6:
resolved_next_hop: "list1"
state: rendered
# Module Execution:
# "rendered": [
# "route-map mapmerge permit 10",
# "match router-id prefix-list 22",
# "set bgp bestpath as-path weight 20",
# "description merged_map",
# "route-map mapmerge deny 25",
# "match interface Ethernet1",
# "description newmap",
# "continue 45",
# "route-map mapmerge2 deny 45",
# "match ipv6 resolved-next-hop prefix-list list1",
# "set metric 25 +igp-metric",
# "set as-path prepend last-as 2",
# "sub-route-map mapmerge"
# ]
# Using parsed:
# parsed.cfg
# route-map mapmerge permit 10
# description merged_map
# match router-id prefix-list 22
# set bgp bestpath as-path weight 20
# !
# route-map mapmerge deny 25
# description newmap
# match interface Ethernet1
# continue 45
# !
# route-map mapmerge2 deny 45
# match ipv6 resolved-next-hop prefix-list list1
# sub-route-map mapmerge
# set metric 25 +igp-metric
# set as-path prepend last-as 2
- name: parse configs
arista.eos.eos_route_maps:
running_config: "{{ lookup('file', './parsed.cfg') }}"
state: parsed
# Module Execution:
# "parsed": [
# {
# "entries": [
# {
# "action": "permit",
# "description": "merged_map",
# "match": {
# "router_id": "22"
# },
# "sequence": 10,
# "set": {
# "bgp": 20
# }
# },
# {
# "action": "deny",
# "continue_sequence": 45,
# "description": "newmap",
# "match": {
# "interface": "Ethernet1"
# },
# "sequence": 25
# }
# ],
# "route_map": "mapmerge"
# },
# {
# "entries": [
# {
# "action": "deny",
# "match": {
# "ipv6": {
# "resolved_next_hop": "list1"
# }
# },
# "sequence": 45,
# "set": {
# "as_path": {
# "prepend": {
# "last_as": 2
# }
# },
# "metric": {
# "add": "igp-metric",
# "value": "25"
# }
# },
# "sub_route_map": {
# "name": "mapmerge"
# }
# }
# ],
# "route_map": "mapmerge2"
# }
# ]
Authors
- Gomathi Selvi Srinivasan (@GomathiselviS)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/arista/eos/eos_route_maps_module.html