Модуль arista.eos.eos_route_maps — управление ресурсным модулем карт маршрутизации
Примечание
Этот модуль входит в коллекцию arista.eos (версия 12.1.2).
Возможно, эта коллекция уже установлена, если вы используете пакет 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 boolean |
Участник агрегата BGP. Варианты:
|
|
route_map string |
Карта маршрутов, применяемая к агрегированному маршруту. |
|
as integer |
Номер автономной системы BGP. |
|
as_path dictionary |
Задать путь AS. |
|
length string |
Указать длину пути AS (с операторами сравнения, например <= 60 и >= 40). |
|
path_list string |
Имя списка путей AS. |
|
community dictionary |
Атрибут community BGP. |
|
community_list string |
Список имён community (в формате CSV). |
|
exact_match boolean |
Выполнять точное сопоставление community. Варианты:
|
|
instances string |
Сопоставить количество экземпляров community (с операторами сравнения, например <= 60 и >= 40). |
|
extcommunity dictionary |
Имя списка расширенных community. |
|
community_list string |
Список имён community (в формате CSV). |
|
exact_match boolean |
Выполнять точное сопоставление community. Варианты:
|
|
interface string |
Имя интерфейса. |
|
invert_result dictionary |
Инвертировать результат сопоставления. |
|
aggregate_role dictionary |
Роль в отношении участник-агрегат BGP. |
|
contributor boolean |
Участник агрегата BGP. Варианты:
|
|
route_map string |
Карта маршрутов, применяемая к агрегированному маршруту. |
|
as_path dictionary |
Задать путь AS. |
|
length string |
Указать длину пути AS (с операторами сравнения, например <= 60 и >= 40). |
|
path_list string |
Имя списка путей AS. |
|
community dictionary |
Атрибут community BGP. |
|
community_list string |
Список имён community (в формате CSV). |
|
exact_match boolean |
Выполнять точное сопоставление community. Варианты:
|
|
instances string |
Сопоставить количество экземпляров community (с операторами сравнения, например <= 60 и >= 40). |
|
extcommunity dictionary |
Имя списка расширенных community. |
|
community_list string |
Список имён community (в формате CSV). |
|
exact_match boolean |
Выполнять точное сопоставление community. Варианты:
|
|
large_community dictionary |
Имя списка расширенных community. |
|
community_list string |
Список имён community (в формате CSV). |
|
exact_match boolean |
Выполнять точное сопоставление community. Варианты:
|
|
ip dictionary |
Задать сведения, относящиеся к IP. |
|
address dictionary |
Адрес назначения следующего перехода. |
|
access_list string |
Список контроля доступа IP. |
|
dynamic boolean |
Настроить динамический список префиксов. Варианты:
|
|
prefix_list string |
Список префиксов. |
|
next_hop string |
Список префиксов следующего перехода. |
|
resolved_next_hop string |
Список префиксов разрешённых маршрутов. |
|
ipv6 dictionary |
Задать сведения, относящиеся к IPv6. |
|
address dictionary |
Адрес назначения следующего перехода. |
|
access_list string |
Список контроля доступа IP. |
|
dynamic boolean |
Настроить динамический список префиксов. Варианты:
|
|
prefix_list string |
Список префиксов. |
|
next_hop string |
Список префиксов следующего перехода. |
|
resolved_next_hop string |
Список префиксов разрешённых маршрутов. |
|
isis_level string |
Уровень IS-IS. |
|
large_community dictionary |
Имя списка расширенных community. |
|
community_list string |
Список имён community (в формате CSV). |
|
exact_match boolean |
Выполнять точное сопоставление community. Варианты:
|
|
local_preference integer |
Локальное предпочтение BGP. |
|
metric integer |
Метрика маршрута. |
|
metric_type string |
Тип метрики маршрута. Варианты:
|
|
route_type string |
Тип маршрута |
|
router_id string |
Идентификатор маршрутизатора. |
|
source_protocol string |
Исходный протокол маршрутизации, |
|
tag integer |
Тег маршрута |
|
sequence integer |
Индекс в последовательности. |
|
set dictionary |
Задать атрибуты маршрута. |
|
as_path dictionary |
Задать путь AS. |
|
match dictionary |
Сопоставить весь путь AS. |
|
as_number string |
Номер AS для использования (включая auto; в формате CSV) |
|
none boolean |
Удалить совпавшие номера AS Варианты:
|
|
prepend dictionary |
Добавить префикс к пути AS. |
|
as_number string |
Номер AS для добавления в начало (включает auto; в формате CSV) |
|
last_as integer |
Количество добавлений номера последней AS в начало. |
|
bgp integer |
Вес многопутевой передачи пути AS BGP. |
|
community_attributes dictionary |
Атрибут сообщества BGP. |
|
community dictionary |
Атрибуты сообщества. |
|
additive boolean |
Добавить к существующему сообществу. Варианты:
|
|
delete boolean |
Удалить совпадающие сообщества. Варианты:
|
|
graceful_shutdown boolean |
Выполнить корректное отключение. Варианты:
|
|
internet boolean |
Сообщество Internet Варианты:
|
|
list string |
Имя списка сообществ. |
|
local_as boolean |
Не отправлять за пределы локальной AS. Варианты:
|
|
no_advertise boolean |
Не анонсировать ни одному соседу. Варианты:
|
|
no_export boolean |
Не экспортировать в следующую AS. Варианты:
|
|
number string |
Номер сообщества (в формате CSV). |
|
graceful_shutdown boolean |
Корректное отключение Варианты:
|
|
none boolean |
Нет атрибута сообщества. Варианты:
|
|
distance integer |
Задать независимое от протокола расстояние. |
|
evpn boolean |
Сохранять следующий переход при анонсировании соседям eBGP. Варианты:
|
|
extcommunity dictionary |
Атрибут расширенного сообщества BGP. |
|
lbw dictionary |
Значения пропускной способности канала. |
|
aggregate boolean |
Агрегировать пропускную способность канала. Варианты:
|
|
divide string |
Разделить пропускную способность канала. Варианты:
|
|
value string |
Значение расширенного сообщества пропускной способности канала. |
|
none boolean |
Нет атрибута. Варианты:
|
|
rt dictionary |
Расширенное сообщество целевого маршрута |
|
additive boolean |
Добавить к существующему сообществу. Варианты:
|
|
delete boolean |
Удалить совпадающие сообщества. Варианты:
|
|
vpn string |
Расширенное сообщество VPN. |
|
soo dictionary |
Расширенное сообщество Site-of-Origin. |
|
additive boolean |
Добавить к существующему сообществу. Варианты:
|
|
delete boolean |
Удалить совпадающие сообщества. Варианты:
|
|
vpn string |
Расширенное сообщество VPN. |
|
ip dictionary |
Задать параметры, относящиеся к IP. |
|
address string |
Адрес следующего перехода. |
|
peer_address boolean |
Использовать адрес BGP-соседа в качестве следующего перехода. Варианты:
|
|
unchanged boolean |
Сохранять следующий переход при анонсировании соседу eBGP Варианты:
|
|
ipv6 dictionary |
Задать параметры, относящиеся к IPv6. |
|
address string |
Адрес следующего перехода. |
|
peer_address boolean |
Использовать адрес BGP-соседа в качестве следующего перехода. Варианты:
|
|
unchanged boolean |
Сохранять следующий переход при анонсировании соседу eBGP Варианты:
|
|
isis_level string |
Уровень IS-IS. |
|
local_preference integer |
Локальное предпочтение BGP. |
|
metric dictionary |
Метрика маршрута. |
|
add string |
Добавить igp-metric / igp-nexthop-cost Варианты:
|
|
igp_param string |
Параметр IGP Варианты:
|
|
value string |
Значение метрики для добавления или вычитания (со знаком +/-). |
|
metric_type string |
Тип метрики маршрута. Варианты:
|
|
nexthop dictionary |
Следующий переход маршрута. |
|
max_metric boolean |
Задать максимальное значение метрики IGP. Варианты:
|
|
value integer |
Значение метрики IGP. |
|
origin string |
Задать источник BGP. Варианты:
|
|
segment_index integer |
Индекс сегмента MPLS Segment Routing. |
|
tag integer |
Тег маршрута |
|
weight integer |
Вес BGP. |
|
source dictionary |
Переименование/копирование конфигурации |
|
action string |
Переименовать или скопировать конфигурацию Варианты:
|
|
overwrite boolean |
Если true, перезаписать существующую конфигурацию. Варианты:
|
|
source_map_name string |
Имя исходной карты маршрутизации. |
|
statement string |
Имя оператора |
|
sub_route_map dictionary |
Вложенная карта маршрутизации |
|
invert_result boolean |
Инвертировать результат вложенной карты маршрутизации Варианты:
|
|
name string |
Имя вложенной карты маршрутизации |
|
route_map string |
Имя карты маршрутизации. |
running_config string | Этот параметр используется только при состоянии parsed. Значением этого параметра должен быть вывод, полученный с устройства EOS при выполнении команды show running-config | section route-map. Состояние parsed считывает конфигурацию из параметра |
state string | Состояние, в котором должна остаться конфигурация. Варианты:
|
Примечания
Примечание
- Проверено на 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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/arista/eos/eos_route_maps_module.html