arista.eos.eos_route_maps модуль — Управляет ресурсом Карты маршрутизации
Примечание
Этот модуль входит в коллекцию arista.eos (версия 9.0.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install arista.eos.
Для использования в книге задач укажите: arista.eos.eos_route_maps.
Добавлена в arista.eos 2.1.0
Описание
- Этот модуль настраивает и управляет атрибутами Карт маршрутизации на платформах Arista EOS.
Псевдонимы: route_maps
Параметры
Параметр | Комментарии |
|---|---|
config list / elements=dictionary | Список параметров маршрутного отображения |
|
entries list / elements=dictionary |
Записи маршрутного отображения. |
|
action string |
Действие для соответствующих маршрутов Варианты:
|
|
continue_sequence integer |
Номер последовательности записи маршрутного отображения. |
|
description string |
Описание для маршрутного отображения. |
|
match dictionary |
Правила соответствия маршрутного отображения. |
|
aggregate_role dictionary |
Роль в отношении BGP contributor-aggregate. |
|
contributor boolean |
Участник агрегата BGP. Варианты:
|
|
route_map string |
Маршрутное отображение для применения к агрегированному маршруту. |
|
as integer |
Номер AS BGP. |
|
as_path dictionary |
Установить as-path. |
|
length string |
Указать длину as-path (с операторами сравнения, такими как <= 60 и >= 40). |
|
path_list string |
Имя списка AS path. |
|
community dictionary |
Атрибут сообщества BGP. |
|
community_list string |
Список имен сообществ (в формате csv). |
|
exact_match boolean |
Выполнять точное сопоставление сообществ. Варианты:
|
|
instances string |
Сопоставить количество экземпляров сообщества (с операторами сравнения, такими как <= 60 и >= 40). |
|
extcommunity dictionary |
Имя расширенного списка сообществ. |
|
community_list string |
Список имен сообществ (в формате csv). |
|
exact_match boolean |
Выполнять точное сопоставление сообществ. Варианты:
|
|
interface string |
Имя интерфейса. |
|
invert_result dictionary |
Инвертировать результат сопоставления. |
|
aggregate_role dictionary |
Роль в отношении BGP contributor-aggregate. |
|
contributor boolean |
Участник агрегата BGP. Варианты:
|
|
route_map string |
Маршрутное отображение для применения к агрегированному маршруту. |
|
as_path dictionary |
Установить as-path. |
|
length string |
Указать длину as-path (с операторами сравнения, такими как <= 60 и >= 40). |
|
path_list string |
Имя списка AS path. |
|
community dictionary |
Атрибут BGP community. |
|
community_list string |
Список имен сообществ (в формате csv). |
|
exact_match boolean |
Выполнять точное сопоставление сообществ. Choices:
|
|
instances string |
Сопоставить количество экземпляров сообщества (с операторами сравнения, такими как <= 60 и >= 40). |
|
extcommunity dictionary |
Имя расширенного списка сообществ. |
|
community_list string |
Список имен сообществ (в формате csv). |
|
exact_match boolean |
Выполнять точное сопоставление сообществ. Choices:
|
|
large_community dictionary |
Имя расширенного списка сообществ. |
|
community_list string |
Список имен сообществ (в формате csv). |
|
exact_match boolean |
Выполнять точное сопоставление сообществ. Choices:
|
|
ip dictionary |
Установить информацию, специфичную для IP. |
|
address dictionary |
адрес назначения следующего перехода. |
|
access_list string |
ip access-list. |
|
dynamic boolean |
Настроить динамический prefix-list. Choices:
|
|
prefix_list string |
Prefix list. |
|
next_hop string |
Список префиксов следующего перехода. |
|
resolved_next_hop string |
Список префиксов разрешенного маршрута. |
|
ipv6 dictionary |
Установить информацию, специфичную для IPv6. |
|
address dictionary |
адрес назначения следующего перехода. |
|
access_list string |
ip access-list. |
|
dynamic boolean |
Настроить динамический prefix-list. Choices:
|
|
prefix_list string |
Prefix list. |
|
next_hop string |
Префикс следующего перехода. |
|
resolved_next_hop string |
Префикс маршрута с разрешенным переходом. |
|
isis_level string |
Уровень IS-IS. |
|
large_community dictionary |
Имя расширенного списка сообществ. |
|
community_list string |
Список имен сообществ (в формате csv). |
|
exact_match boolean |
Выполнять точное сопоставление сообществ. Choices:
|
|
local_preference integer |
Локальное предпочтение BGP. |
|
metric integer |
Метрика маршрута. |
|
metric_type string |
Тип метрики маршрута. Choices:
|
|
route_type string |
Тип маршрута |
|
router_id string |
ID маршрутизатора. |
|
source_protocol string |
Исходный протокол маршрутизации, |
|
tag integer |
Тег маршрута |
|
sequence integer |
Индекс в последовательности. |
|
set dictionary |
Установить атрибуты маршрута. |
|
as_path dictionary |
Установить as-path. |
|
match dictionary |
Сопоставить весь as-path. |
|
as_number string |
Номер AS для использования (включает auto; в формате csv) |
|
none boolean |
Удалить совпадающие номера AS Choices:
|
|
prepend dictionary |
Добавить в начало as-path. |
|
as_number string |
Номер AS для добавления в начало (включает auto; в формате csv) |
|
last_as integer |
Количество раз, которое нужно добавить в начало последний номер AS. |
|
bgp integer |
Вес многопутевого AS пути BGP. |
|
community_attributes dictionary |
Атрибут сообщества BGP. |
|
community dictionary |
Атрибуты сообщества. |
|
additive boolean |
Добавить к существующему сообществу. Choices:
|
|
delete boolean |
Удалить совпадающие сообщества. Choices:
|
|
graceful_shutdown boolean |
Грациозное завершение работы. Choices:
|
|
internet boolean |
Сообщество Интернет Choices:
|
|
list string |
Имя списка сообществ. |
|
local_as boolean |
Не отправлять за пределы локального AS. Choices:
|
|
no_advertise boolean |
Не рекламировать ни одному пиру. Choices:
|
|
no_export boolean |
Не экспортировать в следующий AS. Choices:
|
|
number string |
Номер сообщества (в формате csv). |
|
graceful_shutdown boolean |
Грациозное завершение работы Choices:
|
|
none boolean |
Отсутствует атрибут сообщества. Choices:
|
|
distance integer |
Установить независимое от протокола расстояние. |
|
evpn boolean |
Сохранить следующий узел при рекламировании пирам eBGP. Choices:
|
|
extcommunity dictionary |
Расширенный атрибут сообщества BGP. |
|
lbw dictionary |
Значения пропускной способности канала связи. |
|
aggregate boolean |
Суммарная пропускная способность канала связи. Choices:
|
|
divide string |
Разделить пропускную способность канала связи. Choices:
|
|
value string |
Расширенное значение сообщества пропускной способности канала связи. |
|
none boolean |
Отсутствует атрибут. Choices:
|
|
rt dictionary |
Расширенное сообщество целевого маршрута |
|
additive boolean |
Добавить к существующему сообществу. Choices:
|
|
delete boolean |
Удалить совпадающие сообщества. Choices:
|
|
vpn string |
Расширенное сообщество VPN. |
|
soo dictionary |
Расширенное сообщество Site-of-Origin. |
|
additive boolean |
Добавить к существующему сообществу. Choices:
|
|
delete boolean |
Удалить совпадающие сообщества. Choices:
|
|
vpn string |
Расширенное сообщество VPN. |
|
ip dictionary |
Установить специфическую информацию IP. |
|
address string |
Адрес следующего прыжка. |
|
peer_address boolean |
Использовать адрес BGP пиринга как следующий прыжок. Choices:
|
|
unchanged boolean |
Сохранить следующий прыжок при рекламировании для eBGP пиринга Choices:
|
|
ipv6 dictionary |
Установить специфическую информацию IPv6. |
|
address string |
Адрес следующего прыжка. |
|
peer_address boolean |
Использовать адрес BGP пиринга как следующий прыжок. Choices:
|
|
unchanged boolean |
Сохранить следующий прыжок при рекламировании для eBGP пиринга Choices:
|
|
isis_level string |
Уровень IS-IS. |
|
local_preference integer |
Локальный приоритет BGP. |
|
metric dictionary |
Метрика маршрута. |
|
add string |
Добавить igp-metric / igp-nexthop-cost Choices:
|
|
igp_param string |
Параметр IGP Choices:
|
|
value string |
Значение метрики для добавления или вычитания (со знаком +/-). |
|
metric_type string |
Тип метрики маршрута. Choices:
|
|
nexthop dictionary |
Следующий прыжок маршрута. |
|
max_metric boolean |
Установить максимальное значение метрики IGP. Choices:
|
|
value integer |
Значение метрики IGP. |
|
origin string |
Установить источник bgp. Choices:
|
|
segment_index целое число |
Индекс сегмента MPLS Segment-routing. |
|
tag целое число |
Тег маршрута |
|
weight целое число |
Вес BGP. |
|
source словарь |
Переименование/копирование конфигурации |
|
action строка |
Переименование или копирование конфигурации Варианты:
|
|
overwrite булево |
Если true, перезаписывает существующую конфигурацию. Варианты:
|
|
source_map_name строка |
Имя источника карты маршрутизации. |
|
statement строка |
Имя оператора. |
|
sub_route_map словарь |
Вложенная карта маршрутизации. |
|
invert_result булево |
Инвертировать результат вложенной карты маршрутизации Варианты:
|
|
name строка |
Имя вложенной карты маршрутизации. |
|
route_map строка |
Имя карты маршрутизации. |
running_config строка | Этот параметр используется только со значением parsed. Значение этого параметра должно быть результатом выполнения команды show running-config | section route-map на устройстве EOS. Значение parsed считывает конфигурацию из параметра |
state строка | Состояние, в котором должна оставаться конфигурация. Варианты:
|
Примечания
Примечание
- Проверено на Arista EOS 4.24.6F
- Этот модуль работает с подключением
network_cli. См. Параметры платформы EOS.
Примеры
# 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: true
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
# Task output:
# ------------
# "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"
# }
# ]
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 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