Spec-Zone.ru › Ansible

Модуль cisco.ios.ios_route_maps — модуль ресурсов для настройки карт маршрутизации.

Примечание

Этот модуль входит в коллекцию cisco.ios (версия 11.4.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install cisco.ios.

Чтобы использовать её в плейбуке, укажите: cisco.ios.ios_route_maps.

Добавлено в cisco.ios 2.1.0

  • Краткое описание
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Этот модуль настраивает атрибуты карт маршрутизации на Cisco IOS и управляет ими.

Примечание

Для этого модуля предусмотрен соответствующий плагин действий.

Псевдонимы: route_maps

Параметры

Параметр

Комментарии

config

list / elements=dictionary

Список конфигураций карт маршрутизации.

entries

list / elements=dictionary

Список записей конфигурации карт маршрутизации.

action

string

Операции set карты маршрутизации

Варианты:

  • "deny"
  • "permit"

continue_entry

dictionary

Продолжить выполнение с другой записи в карте маршрутизации

entry_sequence

integer

Номер последовательности записи карты маршрутизации

Допустимые значения см. в документации производителя

set

boolean

Задать продолжение выполнения

Варианты:

  • false
  • true

description

string

Комментарий к карте маршрутизации

match

dictionary

Сопоставить значения из таблицы маршрутизации

additional_paths

dictionary

Политика сопоставления BGP Add-Path

Политика объявления BGP Add-Path

all

boolean

Объявить все пути BGP Add-Path

Варианты:

  • false
  • true

best

integer

Объявить n лучших путей BGP Add-Path (1–3)

best_range

dictionary

Объявить лучшие пути BGP Add-Path (диапазон от m до n)

lower_limit

integer

Количество лучших путей BGP Add-Path для объявления (нижняя граница) (1–3)

upper_limit

integer

Количество лучших путей BGP Add-Path для объявления (верхняя граница) (1–3)

group_best

boolean

Объявить лучший путь группы BGP Add-Path

Варианты:

  • false
  • true

as_path

dictionary

Сопоставить список путей AS BGP

acls

list / elements=integer

Список контроля доступа для пути AS

Допустимые значения см. в документации производителя

set

boolean

Задать список путей AS

Варианты:

  • false
  • true

clns

dictionary

Сведения CLNS

address

string

Сопоставить адрес маршрута или пакета

next_hop

string

Сопоставить адрес следующего узла маршрута

route_source

string

Сопоставить адрес источника объявления маршрута

community

dictionary

Сопоставить список сообществ BGP

exact_match

boolean

Выполнить точное сопоставление сообществ

Варианты:

  • false
  • true

name

list / elements=string

Номер списка сообществ / имя списка сообществ

Допустимые значения см. в документации производителя

extcommunity

list / elements=string

Сопоставить список расширенных сообществ BGP/VPN

Номер списка расширенных сообществ

Допустимые значения см. в документации производителя

interfaces

list / elements=string

Сопоставить интерфейс первого перехода маршрута

ip

dictionary

Сведения, относящиеся к IP

address

dictionary

Сопоставить адрес маршрута или пакета

acls

list / elements=string

Сопоставить записи списка контроля доступа

Имя/номер IP-списка контроля доступа

Допустимые значения см. в документации производителя

prefix_lists

list / elements=string

Сопоставить записи списков префиксов

Имя IP-списка префиксов

flowspec

dictionary

Сопоставить компонент префикса источника/назначения префикса flowspec

acls

list / elements=string

Сопоставить записи списка контроля доступа

Имя/номер IP-списка контроля доступа

Допустимые значения см. в документации производителя

dest_pfx

boolean

Сопоставить компонент префикса назначения префикса flowspec

Варианты:

  • false
  • true

prefix_lists

list / elements=string

Сопоставить записи списков префиксов

Имя IP-списка префиксов

src_pfx

boolean

Сопоставить компонент префикса источника префикса flowspec

Варианты:

  • false
  • true

next_hop

dictionary

Сопоставить адрес следующего узла маршрута

acls

list / elements=string

Сопоставить записи списка контроля доступа

Имя/номер IP-списка контроля доступа

Допустимые значения см. в документации производителя

prefix_lists

list / elements=string

Сопоставить записи списков префиксов

Имя IP-списка префиксов

set

boolean

Задать адрес следующего узла

Варианты:

  • false
  • true

redistribution_source

dictionary

Источник перераспределения маршрутов (только EIGRP)

acls

list / elements=string

Сопоставить записи списка контроля доступа

Имя/номер IP-списка контроля доступа

Допустимые значения см. в документации производителя

prefix_lists

list / elements=string

Сопоставить записи списков префиксов

Имя IP-списка префиксов

set

boolean

Задать источник перераспределения

Варианты:

  • false
  • true

route_source

dictionary

Сопоставить адрес источника объявления маршрута

acls

list / elements=string

Сопоставить записи списка контроля доступа

Имя/номер IP-списка контроля доступа

Допустимые значения см. в документации производителя

prefix_lists

list / elements=string

Сопоставить записи списков префиксов

Имя IP-списка префиксов

redistribution_source

boolean

Источник перераспределения маршрутов (только EIGRP)

Варианты:

  • false
  • true

set

boolean

Задать источник перераспределения

Варианты:

  • false
  • true

ipv6

dictionary

Сведения, относящиеся к IPv6

address

dictionary

Сопоставить адрес маршрута или пакета

acl

string

Имя списка контроля доступа IPv6

prefix_list

string

Имя списка префиксов IPv6

flowspec

dictionary

Сопоставить адрес следующего узла маршрута

acl

string

Имя списка контроля доступа IPv6

dest_pfx

boolean

Сопоставить компонент префикса назначения префикса flowspec

Варианты:

  • false
  • true

prefix_list

string

Имя списка префиксов IPv6

src_pfx

boolean

Сопоставить компонент префикса источника префикса flowspec

Варианты:

  • false
  • true

next_hop

dictionary

Сопоставить адрес следующего узла маршрута

acl

string

Имя списка контроля доступа IPv6

prefix_list

string

Имя списка префиксов IPv6

route_source

dictionary

Сопоставить адрес источника объявления маршрута

acl

string

Имя списка контроля доступа IPv6

prefix_list

string

Имя списка префиксов IPv6

length

dictionary

Длина пакета

maximum

integer

Максимальная длина пакета

Допустимые значения см. в документации производителя

minimum

integer

Минимальная длина пакета

Допустимые значения см. в документации производителя

local_preference

dictionary

Локальное предпочтение для маршрута

set

boolean

Установить локальное предпочтение для маршрута

Варианты:

  • false
  • true

value

list / elements=string

Значение локального предпочтения

Допустимые значения см. в документации производителя

mdt_group

dictionary

Выбор маршрутов, соответствующих группе MDT

acls

list / elements=string

Номер списка контроля доступа IP/имя стандартного списка контроля доступа IP

Допустимые значения см. в документации производителя

set

boolean

Задать и выбрать маршруты, соответствующие группе MDT

Варианты:

  • false
  • true

metric

dictionary

Выбор маршрута по его метрике

deviation

boolean

Параметр отклонения для выбора метрики в диапазоне

Варианты:

  • false
  • true

deviation_value

integer

Значение отклонения: 500 +- 10 задаёт диапазон 490–510

Допустимые значения см. в документации производителя

external

boolean

Выбор маршрута по метрике внешнего протокола

Варианты:

  • false
  • true

value

integer

Значение метрики

Допустимые значения см. в документации производителя

mpls_label

boolean

Выбор маршрутов с MPLS-метками

Варианты:

  • false
  • true

policy_lists

list / elements=string

Выбор списка политик IP

route_type

dictionary

Выбор маршрута по его типу

external

dictionary

Внешний маршрут (BGP, EIGRP и OSPF типов 1/2)

set

boolean

Задать внешний маршрут

Варианты:

  • false
  • true

type_1

boolean

Внешний маршрут OSPF типа 1

Варианты:

  • false
  • true

type_2

boolean

Внешний маршрут OSPF типа 2

Варианты:

  • false
  • true

internal

boolean

Внутренний маршрут (включая маршруты OSPF внутри и между областями)

Варианты:

  • false
  • true

level_1

boolean

Маршрут IS-IS уровня 1

Варианты:

  • false
  • true

level_2

boolean

Маршрут IS-IS уровня 2

Варианты:

  • false
  • true

local

boolean

Локально созданный маршрут

Варианты:

  • false
  • true

nssa_external

dictionary

Внешний маршрут NSSA (OSPF типов 1/2)

set

boolean

Задать внешний маршрут NSSA

Варианты:

  • false
  • true

type_1

boolean

Внешний маршрут OSPF типа 1

Варианты:

  • false
  • true

type_2

boolean

Внешний маршрут OSPF типа 2

Варианты:

  • false
  • true

rpki

dictionary

Выбор маршрута по его состоянию RPKI

invalid

boolean

Недопустимое состояние RPKI

Варианты:

  • false
  • true

not_found

boolean

Состояние RPKI «не найдено»

Варианты:

  • false
  • true

valid

boolean

Допустимое состояние RPKI

Варианты:

  • false
  • true

security_group

dictionary

Группа безопасности

destination

list / elements=integer

Целевая группа безопасности, целевая метка безопасности

Допустимые значения см. в документации производителя

source

list / elements=integer

Исходная группа безопасности, исходная метка безопасности

Допустимые значения см. в документации производителя

source_protocol

dictionary

Выбор маршрута по исходному протоколу

bgp

string

Протокол граничного шлюза (BGP)

Номер автономной системы

Допустимые значения см. в документации производителя

connected

boolean

Подключённые маршруты

Варианты:

  • false
  • true

eigrp

integer

Усовершенствованный протокол маршрутизации внутреннего шлюза (EIGRP)

Номер автономной системы

Допустимые значения см. в документации производителя

isis

boolean

ISO IS-IS

Варианты:

  • false
  • true

lisp

boolean

Протокол разделения идентификаторов и локаторов (LISP)

Варианты:

  • false
  • true

mobile

boolean

Мобильные маршруты

Варианты:

  • false
  • true

ospf

integer

Идентификатор процесса протокола OSPF (Open Shortest Path First)

Допустимые значения см. в документации производителя

ospfv3

integer

Идентификатор процесса OSPFv3

Допустимые значения см. в документации производителя

rip

boolean

Протокол маршрутной информации (RIP)

Варианты:

  • false
  • true

static

boolean

Статические маршруты

Варианты:

  • false
  • true

tag

dictionary

Выбор маршрута по его тегу

tag_list

list / elements=string

Список тегов маршрутов/имя списка тегов

value

list / elements=string

Значение тега/тег в десятичном формате с точками, например 10.10.10.10

track

integer

Объект отслеживания

sequence

integer

Позиция для добавления в существующую запись route-map или удаления из неё

Допустимые значения см. в документации производителя

set

dictionary

Выбор маршрута по исходному протоколу

aigp_metric

dictionary

Накопленное значение метрики

igp_metric

boolean

Значение метрики из RIB

Варианты:

  • false
  • true

value

integer

Значение, заданное вручную

as_path

dictionary

Строка для добавления в начало атрибута AS-path BGP

prepend

dictionary

Добавить в начало AS-path

as_number

list / elements=string

Номер автономной системы

Допустимые значения см. в документации производителя

last_as

integer

Добавить последнюю AS в начало AS-path

Количество добавлений последней AS

Допустимые значения см. в документации производителя

tag

boolean

Задать тег как атрибут AS-path

Варианты:

  • false
  • true

automatic_tag

boolean

Автоматически вычислять значение TAG

Варианты:

  • false
  • true

clns

string

Сводный адрес OSI

Адрес следующего перехода

Сводный префикс CLNS

comm_list

string

задать список сообществ BGP (для удаления)

Имя/номер списка сообществ

Удалить совпадающие сообщества

community

dictionary

Атрибут сообщества BGP

additive

boolean

Добавить к существующему сообществу

Варианты:

  • false
  • true

gshut

boolean

Плавное выключение (общеизвестное сообщество)

Варианты:

  • false
  • true

internet

boolean

Интернет (общеизвестное сообщество)

Варианты:

  • false
  • true

local_as

boolean

Не отправлять за пределы локальной AS (общеизвестное сообщество)

Варианты:

  • false
  • true

no_advertise

boolean

Не анонсировать ни одному соседу (общеизвестное сообщество)

Варианты:

  • false
  • true

no_export

boolean

Не экспортировать в следующую AS (общеизвестное сообщество)

Варианты:

  • false
  • true

none

boolean

Без атрибута сообщества

Варианты:

  • false
  • true

number

string

Номер сообщества

Номер сообщества в формате aa:nn

Допустимые значения см. в документации производителя

dampening

dictionary

Задать параметры подавления флаппинга маршрутов BGP

max_suppress

integer

Максимальная длительность подавления стабильного маршрута

Допустимые значения см. в документации производителя

penalty_half_time

integer

Период полураспада штрафа

Допустимые значения см. в документации производителя

reuse_route_val

integer

Штраф, при котором начинается повторное использование маршрута

Допустимые значения см. в документации производителя

suppress_route_val

integer

Штраф, при котором начинается подавление маршрута

Допустимые значения см. в документации производителя

default

string

Задать информацию по умолчанию

Выходной интерфейс по умолчанию

extcomm_list

string

Задать список расширенных сообществ BGP/VPN (для удаления)

Номер/имя списка расширенных сообществ

Удалить совпадающие расширенные сообщества

extcommunity

dictionary

Атрибут расширенного сообщества BGP

cost

dictionary

Расширенное сообщество стоимости

cost_value

integer

Значение стоимости (стоимость без предпочтения = 2147483647)

Допустимые значения см. в документации производителя

id

string

Идентификатор сообщества

Допустимые значения см. в документации производителя

igp

boolean

Сравнивать указанную стоимость IGP

Варианты:

  • false
  • true

pre_bestpath

boolean

Сравнивать до выполнения всех остальных этапов вычисления bestpath

Варианты:

  • false
  • true

rt

dictionary

Расширенное сообщество Route Target

additive

boolean

Добавить к существующему расширенному сообществу

Варианты:

  • false
  • true

address

string

Расширенное сообщество VPN

range

dictionary

Указать диапазон расширенных сообществ

lower_limit

string

Расширенное сообщество VPN

upper_limit

string

Расширенное сообщество VPN

soo

string

Расширенное сообщество Site-of-Origin

vpn_distinguisher

dictionary

Различитель VPN

additive

boolean

Добавить к существующему расширенному сообществу

Варианты:

  • false
  • true

address

string

Расширенное сообщество VPN

range

dictionary

Указать диапазон расширенных сообществ

lower_limit

string

Расширенное сообщество VPN

upper_limit

string

Расширенное сообщество VPN

global_route

boolean

Использовать глобальную таблицу маршрутизации

Варианты:

  • false
  • true

interfaces

list / elements=string

Выходной интерфейс

ip

dictionary

Параметры IP

address

string

Указать IP-адрес

Имя списка префиксов для задания IP-адреса

df

integer

Установить бит DF

Варианты:

  • 0
  • 1

global_route

dictionary

Глобальная таблица маршрутизации

address

string

IP-адрес следующего узла

verify_availability

dictionary

Проверить доступность следующего узла

address

string

IP-адрес следующего узла

sequence

integer

Позиция для вставки в список следующих узлов

Допустимые значения см. в документации производителя

track

integer

Задать следующий узел в зависимости от состояния отслеживаемого объекта

Номер отслеживаемого объекта

Допустимые значения см. в документации производителя

next_hop

dictionary

Адрес следующего узла

address

string

IP-адрес следующего узла

dynamic

boolean

Приложение динамически задаёт следующий узел

Следующий узел, полученный по DHCP

Варианты:

  • false
  • true

encapsulate

string

Профиль инкапсуляции для следующего узла VPN

L3VPN

Имя профиля инкапсуляции

peer_address

boolean

Использовать адрес соседа (только для BGP)

Варианты:

  • false
  • true

recursive

dictionary

Рекурсивный следующий узел

address

string

IP-адрес рекурсивного следующего узла

global_route

boolean

Глобальная таблица маршрутизации

Варианты:

  • false
  • true

vrf

string

VRF

self

boolean

Использовать собственный адрес (только для BGP)

Варианты:

  • false
  • true

verify_availability

dictionary

Проверить доступность следующего узла

address

string

IP-адрес следующего узла

sequence

integer

Позиция для вставки в список следующих узлов

Допустимые значения см. в документации производителя

set

boolean

Задать следующий узел и проверить его доступность

Варианты:

  • false
  • true

track

integer

Задать следующий узел в зависимости от состояния отслеживаемого объекта

Номер отслеживаемого объекта

Допустимые значения см. в документации производителя

precedence

dictionary

Задать поле приоритета

critical

boolean

Установить критический приоритет (5)

Варианты:

  • false
  • true

flash

boolean

Установить приоритет flash (3)

Варианты:

  • false
  • true

flash_override

boolean

Установить приоритет flash override (4)

Варианты:

  • false
  • true

immediate

boolean

Установить приоритет immediate (2)

Варианты:

  • false
  • true

internet

boolean

Установить приоритет управления межсетевым взаимодействием (6)

Варианты:

  • false
  • true

network

boolean

Установить приоритет управления сетью (7)

Варианты:

  • false
  • true

priority

boolean

Установить приоритет priority (1)

Варианты:

  • false
  • true

routine

boolean

Установить обычный приоритет (0)

Варианты:

  • false
  • true

set

boolean

Только установить поле приоритета

Варианты:

  • false
  • true

qos_group

integer

Установить идентификатор группы QoS

Допустимые значения см. в документации производителя

tos

dictionary

Установить поле типа обслуживания

max_reliability

boolean

Установить TOS для максимальной надежности (2)

Варианты:

  • false
  • true

max_throughput

boolean

Установить TOS для максимальной пропускной способности (4)

Варианты:

  • false
  • true

min_delay

boolean

Установить TOS для минимальной задержки (8)

Варианты:

  • false
  • true

min_monetary_cost

boolean

Установить TOS для минимальной денежной стоимости (1)

Варианты:

  • false
  • true

normal

boolean

Установить обычный TOS (0)

Варианты:

  • false
  • true

set

boolean

Только установить поле типа обслуживания

Варианты:

  • false
  • true

vrf

dictionary

VRF

address

string

IP-адрес следующего узла

name

string

Имя VRF

verify_availability

dictionary

Проверить доступность следующего узла

address

string

IP-адрес следующего узла

sequence

integer

Позиция для добавления в список следующих узлов

Допустимые значения см. в документации производителя

set

boolean

Установить и проверить доступность следующего узла

Варианты:

  • false
  • true

track

integer

Установить следующий узел в зависимости от состояния отслеживаемого объекта

Номер отслеживаемого объекта

Допустимые значения см. в документации производителя

ipv6

dictionary

Сведения, относящиеся к IPv6

address

string

Адрес IPv6

Список префиксов IPv6

default

boolean

Установить сведения по умолчанию

Варианты:

  • false
  • true

global_route

dictionary

Глобальная таблица маршрутизации

address

string

Адрес следующего узла (X:X:X:X::X)

verify_availability

dictionary

Проверить доступность следующего узла

address

string

Адрес следующего узла (X:X:X:X::X)

sequence

integer

Позиция для добавления в список следующих узлов

Допустимые значения см. в документации производителя

track

integer

Установить следующий узел в зависимости от состояния отслеживаемого объекта

Номер отслеживаемого объекта

Допустимые значения см. в документации производителя

next_hop

dictionary

Следующий узел IPv6

address

string

Адрес следующего узла (X:X:X:X::X)

encapsulate

string

Профиль инкапсуляции для следующего узла VPN

L3VPN

Имя профиля инкапсуляции

peer_address

boolean

Использовать адрес узла-партнера (только для BGP)

Варианты:

  • false
  • true

recursive

string

Рекурсивный следующий узел

IPv6-адрес рекурсивного следующего узла

precedence

integer

Установить поле приоритета

Значение приоритета

Допустимые значения см. в документации производителя

vrf

dictionary

Имя VRF

name

string

Имя VRF

verify_availability

dictionary

Проверить доступность следующего узла

address

string

IPv6-адрес следующего узла

sequence

integer

Позиция для добавления в список следующих узлов

Допустимые значения см. в документации производителя

track

integer

Установить следующий узел в зависимости от состояния отслеживаемого объекта

Номер отслеживаемого объекта

Допустимые значения см. в документации производителя

level

dictionary

Куда импортировать маршрут

level_1

boolean

Импортировать в область уровня 1

Варианты:

  • false
  • true

level_1_2

boolean

Импортировать на уровни 1 и 2

Варианты:

  • false
  • true

level_2

boolean

Импортировать в подсистему уровня 2

Варианты:

  • false
  • true

nssa_only

boolean

Импортировать только в области NSSA OSPF без дальнейшего распространения

Варианты:

  • false
  • true

lisp

string

Сведения, относящиеся к протоколу разделения идентификаторов и локаторов (LISP)

Укажите набор локаторов для использования при импорте маршрутов LISP

Имя набора локаторов

local_preference

integer

Атрибут пути локального предпочтения BGP

Допустимые значения см. в документации производителя

metric

dictionary

Значение метрики для протокола маршрутизации назначения

deviation

string

Увеличить или уменьшить метрику

Варианты:

  • "plus"
  • "minus"

eigrp_delay

integer

Метрика задержки EIGRP в единицах по 10 микросекунд

Допустимые значения см. в документации производителя

metric_bandwidth

integer

Эффективная метрика пропускной способности EIGRP (загрузка), где 255 соответствует загрузке 100

Допустимые значения см. в документации производителя

metric_reliability

integer

Метрика надежности EIGRP, где 255 соответствует надежности 100

Допустимые значения см. в документации производителя

metric_value

integer

Значение метрики или пропускная способность в килобитах в секунду

Допустимые значения см. в документации производителя

mtu

integer

MTU пути EIGRP

Допустимые значения см. в документации производителя

metric_type

dictionary

Тип метрики для протокола маршрутизации назначения

external

boolean

Внешняя метрика IS-IS

Варианты:

  • false
  • true

internal

boolean

Внутренняя метрика IS-IS или использование метрики IGP в качестве MED для BGP

Варианты:

  • false
  • true

type_1

boolean

Метрика внешнего типа 1 OSPF

Варианты:

  • false
  • true

type_2

boolean

Метрика внешнего типа 2 OSPF

Варианты:

  • false
  • true

mpls_label

boolean

Установить метку MPLS для префикса

Варианты:

  • false
  • true

origin

dictionary

Код происхождения BGP

igp

boolean

локальный IGP

Варианты:

  • false
  • true

incomplete

boolean

неизвестное происхождение

Варианты:

  • false
  • true

tag

string

Значение тега для протокола маршрутизации назначения

Значение тега A.B.C.D (десятичный формат с точками)/значение тега

traffic_index

integer

Номер классификации трафика BGP для учета

Допустимые значения см. в документации поставщика

vrf

string

Задать имя VRF

Имя экземпляра VPN Routing/Forwarding

weight

integer

Вес BGP для таблицы маршрутизации

Допустимые значения см. в документации поставщика

route_map

string

Тег/имя карты маршрутизации

running_config

string

Этот параметр используется только при состоянии parsed.

Значением этого параметра должен быть вывод, полученный с устройства IOS при выполнении команды sh running-config | section ^route-map.

Состояние parsed считывает конфигурацию из параметра running_config и преобразует ее в структурированные данные Ansible в соответствии со спецификацией аргументов модуля ресурса; затем значение возвращается в ключе parsed результата.

state

string

Состояние, в котором должна остаться конфигурация

Состояния rendered, gathered и parsed не изменяют устройство.

Состояние rendered преобразует конфигурацию из параметра config в команды CLI для конкретной платформы, которые будут возвращены в ключе rendered результата. Для состояния rendered активное подключение к удаленному узлу не требуется.

Состояние gathered получает текущую конфигурацию устройства и преобразует ее в структурированные данные в соответствии со спецификацией аргументов модуля ресурса; значение возвращается в ключе gathered результата.

Состояние parsed считывает конфигурацию из параметра running_config и преобразует ее в формат JSON в соответствии с параметрами модуля ресурса; значение возвращается в ключе parsed результата. Значение параметра running_config должно иметь тот же формат, что и вывод команды sh running-config | section ^route-map, выполненной на устройстве. Для состояния parsed активное подключение к удаленному узлу не требуется.

Варианты:

  • "merged" ← (по умолчанию)
  • "replaced"
  • "overridden"
  • "deleted"
  • "gathered"
  • "parsed"
  • "rendered"

Примечания

Примечание

  • Проверено на Cisco IOSXE версии 17.3 в CML.
  • Этот модуль работает с подключением network_cli. См. https://docs.ansible.com/ansible/latest/network/user_guide/platform_ios.html

Примеры

# Using deleted

# Before state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

- name: Delete provided Route maps config
  cisco.ios.ios_route_maps:
    config:
      - route_map: test_1
    state: deleted

#  Commands Fired:
#  ---------------
#
#  "commands": [
#         "no route-map test_1"
#     ]

# After state:
# -------------
# router-ios#sh running-config | section ^route-map
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

# Using deleted without any config passed (NOTE: This will delete all Route maps configuration from device)

# Before state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

- name: Delete all Route maps config
  cisco.ios.ios_route_maps:
    state: deleted

# Commands Fired:
# ---------------
#
#  "commands": [
#         "no route-map test_1",
#         "no route-map test_2"
#     ]

# After state:
# -------------
# router-ios#sh running-config | section ^route-map
# router-ios#

# Using merged

# Before state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# router-ios#

- name: Merge provided Route maps configuration
  cisco.ios.ios_route_maps:
    config:
      - route_map: test_1
        entries:
          - sequence: 10
            action: deny
            description: this is test route
            match:
              ip:
                next_hop:
                  prefix_lists:
                    - test_1_new
                    - test_2_new
                route_source:
                  acls:
                    - 10
              security_group:
                source:
                  - 10
                  - 20
              local_preference:
                value:
                  - 50
                  - 100
              mpls_label: true
          - sequence: 20
            action: deny
            continue_entry:
              entry_sequence: 100
            match:
              additional_paths:
                all: true
                group_best: true
              as_path:
                acls:
                  - 100
                  - 200
              ipv6:
                address:
                  acl: test_acl_20
              route_type:
                level_1: true
              tag:
                tag_list:
                  - test_match_tag
              track: 105
      - route_map: test_2
        entries:
          - sequence: 10
            action: deny
            match:
              ipv6:
                address:
                  acl: test_ip_acl
                next_hop:
                  prefix_list: test_new
                route_source:
                  acl: route_src_acl
              security_group:
                source:
                  - 10
                  - 20
              local_preference:
                value:
                  - 55
                  - 105
              mpls_label: true
            set:
              aigp_metric:
                value: 100
              automatic_tag: true
              extcommunity:
                cost:
                  id: 10
                  cost_value: 100
                  pre_bestpath: true
              ip:
                address: 192.0.2.1
                df: 1
                next_hop:
                  recursive:
                    global_route: true
                    address: 198.51.110.1
                  verify_availability:
                    address: 198.51.111.1
                    sequence: 100
                    track: 10
                precedence:
                  critical: true
    state: merged

#  Commands Fired:
#  ---------------
#
#   "commands": [
#      "route-map test_2 deny 10",
#      "match security-group source tag 10 20",
#      "match local-preference 55 105",
#      "match mpls-label",
#      "match ipv6 next-hop prefix-list test_new",
#      "match ipv6 route-source route_src_acl",
#      "match ipv6 address test_ip_acl",
#      "set extcommunity cost pre-bestpath 10 100",
#      "set ip df 1",
#      "set ip next-hop recursive global 198.51.110.1",
#      "set ip next-hop verify-availability 198.51.111.1 100 track 10",
#      "set ip precedence critical",
#      "set ip address prefix-list 192.0.2.1",
#      "set automatic-tag",
#      "set aigp-metric 100",
#      "route-map test_1 deny 20",
#      "continue 100",
#      "match track 105",
#      "match tag list test_match_tag",
#      "match ipv6 address test_acl_20",
#      "match route-type level-1",
#      "match as-path 200 100",
#      "match additional-paths advertise-set all group-best",
#      "route-map test_1 deny 10",
#      "description this is test route",
#      "match security-group source tag 10 20",
#      "match ip next-hop prefix-list test_2_new test_1_new",
#      "match ip route-source 10",
#      "match local-preference 100 50",
#      "match mpls-label"
#     ]

# After state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

# Using overridden

# Before state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

- name: Override provided Route maps configuration
  cisco.ios.ios_route_maps:
    config:
      - route_map: test_1
        entries:
          - sequence: 10
            action: deny
            description: this is override route
            match:
              ip:
                next_hop:
                  acls:
                    - 10
                    - test1_acl
                flowspec:
                  dest_pfx: true
                  acls:
                    - test_acl_1
                    - test_acl_2
              length:
                minimum: 10
                maximum: 100
              metric:
                value: 10
                external: true
              security_group:
                source:
                  - 10
                  - 20
              mpls_label: true
            set:
              extcommunity:
                vpn_distinguisher:
                  address: 192.0.2.1:12
                  additive: true
              metric:
                metric_value: 100
                deviation: plus
                eigrp_delay: 100
                metric_reliability: 10
                metric_bandwidth: 20
                mtu: 30
      - route_map: test_override
        entries:
          - sequence: 10
            action: deny
            match:
              ipv6:
                address:
                  acl: test_acl
                next_hop:
                  prefix_list: test_new
                route_source:
                  acl: route_src_acl
              security_group:
                source:
                  - 15
                  - 20
              local_preference:
                value:
                  - 105
                  - 110
              mpls_label: true
            set:
              aigp_metric:
                value: 100
              automatic_tag: true
              extcommunity:
                cost:
                  id: 10
                  cost_value: 100
                  pre_bestpath: true
              ip:
                address: 192.0.2.1
                df: 1
                next_hop:
                  recursive:
                    global_route: true
                    address: 198.110.51.1
                  verify_availability:
                    address: 198.110.51.2
                    sequence: 100
                    track: 10
                precedence:
                  critical: true
    state: overridden

# Commands Fired:
# ---------------
#
#  "commands": [
#         "no route-map test_2",
#         "route-map test_override deny 10",
#         "match security-group source tag 15 20",
#         "match local-preference 110 105",
#         "match mpls-label",
#         "match ipv6 next-hop prefix-list test_new",
#         "match ipv6 route-source route_src_acl",
#         "match ipv6 address test_acl",
#         "set extcommunity cost pre-bestpath 10 100",
#         "set ip df 1",
#         "set ip next-hop recursive global 198.110.51.1",
#         "set ip next-hop verify-availability 198.110.51.2 100 track 10",
#         "set ip precedence critical",
#         "set ip address prefix-list 192.0.2.1",
#         "set automatic-tag",
#         "set aigp-metric 100",
#         "route-map test_1 deny 10",
#         "no description this is test route",
#         "description this is override route",
#         "match ip flowspec dest-pfx test_acl_1 test_acl_2",
#         "no match ip next-hop prefix-list test_2_new test_1_new",
#         "match ip next-hop test1_acl 10",
#         "no match ip route-source 10",
#         "match metric external 10",
#         "match length 10 100",
#         "no match local-preference 100 50",
#         "set extcommunity vpn-distinguisher 192.0.2.1:12 additive",
#         "set metric 100 +100 10 20 30",
#         "no route-map test_1 deny 20"
#     ]

# After state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_override deny 10
#  match security-group source tag 15 20
#  match local-preference 110 105
#  match mpls-label
#  match ipv6 address test_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.110.51.2 100 track 10
#  set ip next-hop recursive global 198.110.51.1
# route-map test_1 deny 10
#  description this is override route
#  match ip flowspec dest-pfx test_acl_1 test_acl_2
#  match ip next-hop test1_acl 10
#  match security-group source tag 10 20
#  match metric external 10
#  match mpls-label
#  match length 10 100
#  set metric 100 +100 10 20 30
#  set extcommunity vpn-distinguisher 192.0.2.1:12 additive

# Using replaced

# Before state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

- name: Replaced provided Route maps configuration
  cisco.ios.ios_route_maps:
    config:
      - route_map: test_1
        entries:
          - sequence: 10
            action: deny
            description: this is replaced route
            match:
              ip:
                next_hop:
                  acls:
                    - 10
                    - test1_acl
                flowspec:
                  dest_pfx: true
                  acls:
                    - test_acl_1
                    - test_acl_2
              length:
                minimum: 10
                maximum: 100
              metric:
                value: 10
                external: true
              security_group:
                source:
                  - 10
                  - 20
              mpls_label: true
            set:
              extcommunity:
                vpn_distinguisher:
                  address: 192.0.2.1:12
                  additive: true
              metric:
                metric_value: 100
                deviation: plus
                eigrp_delay: 100
                metric_reliability: 10
                metric_bandwidth: 20
                mtu: 30
      - route_map: test_replaced
        entries:
          - sequence: 10
            action: deny
            match:
              ipv6:
                address:
                  acl: test_acl
                next_hop:
                  prefix_list: test_new
                route_source:
                  acl: route_src_acl
              security_group:
                source:
                  - 15
                  - 20
              local_preference:
                value:
                  - 105
                  - 110
              mpls_label: true
            set:
              aigp_metric:
                value: 100
              automatic_tag: true
              extcommunity:
                cost:
                  id: 10
                  cost_value: 100
                  pre_bestpath: true
              ip:
                address: 192.0.2.1
                df: 1
                next_hop:
                  recursive:
                    global_route: true
                    address: 198.110.51.1
                  verify_availability:
                    address: 198.110.51.2
                    sequence: 100
                    track: 10
                precedence:
                  critical: true
    state: replaced

# Commands Fired:
# ---------------
#  "commands": [
#         "route-map test_replaced deny 10",
#         "match security-group source tag 15 20",
#         "match local-preference 110 105",
#         "match mpls-label",
#         "match ipv6 next-hop prefix-list test_new",
#         "match ipv6 route-source route_src_acl",
#         "match ipv6 address test_acl",
#         "set extcommunity cost pre-bestpath 10 100",
#         "set ip df 1",
#         "set ip next-hop recursive global 198.110.51.1",
#         "set ip next-hop verify-availability 198.110.51.2 100 track 10",
#         "set ip precedence critical",
#         "set ip address prefix-list 192.0.2.1",
#         "set automatic-tag",
#         "set aigp-metric 100",
#         "route-map test_1 deny 10",
#         "no description this is test route",
#         "description this is replaced route",
#         "match ip flowspec dest-pfx test_acl_1 test_acl_2",
#         "no match ip next-hop prefix-list test_2_new test_1_new",
#         "match ip next-hop test1_acl 10",
#         "no match ip route-source 10",
#         "match metric external 10",
#         "match length 10 100",
#         "no match local-preference 100 50",
#         "set extcommunity vpn-distinguisher 192.0.2.1:12 additive",
#         "set metric 100 +100 10 20 30",
#         "no route-map test_1 deny 20"
#     ]

# After state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_replaced deny 10
#  match security-group source tag 15 20
#  match local-preference 110 105
#  match mpls-label
#  match ipv6 address test_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.110.51.2 100 track 10
#  set ip next-hop recursive global 198.110.51.1
# route-map test_1 deny 10
#  description this is replaced route
#  match ip flowspec dest-pfx test_acl_1 test_acl_2
#  match ip next-hop test1_acl 10
#  match security-group source tag 10 20
#  match metric external 10
#  match mpls-label
#  match length 10 100
#  set metric 100 +100 10 20 30
#  set extcommunity vpn-distinguisher 192.0.2.1:12 additive
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

# Using Gathered

# Before state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

- name: Gather Route maps provided configurations
  cisco.ios.ios_route_maps:
    config:
    state: gathered

# Module Execution Result:
# ------------------------
#
# "gathered": [
#         {
#             "entries": [
#                 {
#                     "action": "deny",
#                     "description": "this is test route",
#                     "match": {
#                         "ip": {
#                             "next_hop": {
#                                 "prefix_lists": [
#                                     "test_2_new",
#                                     "test_1_new"
#                                 ]
#                             },
#                             "route_source": {
#                                 "acls": [
#                                     "10"
#                                 ]
#                             }
#                         },
#                         "local_preference": {
#                             "value": [
#                                 "100",
#                                 "50"
#                             ]
#                         },
#                         "mpls_label": true,
#                         "security_group": {
#                             "source": [
#                                 10,
#                                 20
#                             ]
#                         }
#                     },
#                     "sequence": 10
#                 },
#                 {
#                     "action": "deny",
#                     "continue_entry": {
#                         "entry_sequence": 100
#                     },
#                     "match": {
#                         "additional_paths": {
#                             "all": true,
#                             "group_best": true
#                         },
#                         "as_path": {
#                             "acls": [
#                                 200,
#                                 100
#                             ]
#                         },
#                         "ipv6": {
#                             "address": {
#                                 "acl": "test_acl_20"
#                             }
#                         },
#                         "route_type": {
#                             "external": {
#                                 "set": true
#                             },
#                             "level_1": true,
#                             "nssa_external": {
#                                 "set": true
#                             }
#                         },
#                         "tag": {
#                             "tag_list": [
#                                 "test_match_tag"
#                             ]
#                         },
#                         "track": 105
#                     },
#                     "sequence": 20
#                 }
#             ],
#             "route_map": "test_1"
#         },
#         {
#             "entries": [
#                 {
#                     "action": "deny",
#                     "match": {
#                         "ipv6": {
#                             "address": {
#                                 "acl": "test_ip_acl"
#                             },
#                             "next_hop": {
#                                 "prefix_list": "test_new"
#                             },
#                             "route_source": {
#                                 "acl": "route_src_acl"
#                             }
#                         },
#                         "local_preference": {
#                             "value": [
#                                 "55",
#                                 "105"
#                             ]
#                         },
#                         "mpls_label": true,
#                         "security_group": {
#                             "source": [
#                                 10,
#                                 20
#                             ]
#                         }
#                     },
#                     "sequence": 10,
#                     "set": {
#                         "aigp_metric": {
#                             "value": 100
#                         },
#                         "automatic_tag": true,
#                         "extcommunity": {
#                             "cost": {
#                                 "cost_value": 100,
#                                 "id": "10",
#                                 "pre_bestpath": true
#                             }
#                         },
#                         "ip": {
#                             "address": "192.0.2.1",
#                             "df": 1,
#                             "next_hop": {
#                                 "recursive": {
#                                     "address": "198.51.110.1",
#                                     "global_route": true
#                                 },
#                                 "verify_availability": {
#                                     "address": "198.51.111.1",
#                                     "sequence": 100,
#                                     "track": 10
#                                 }
#                             },
#                             "precedence": {
#                                 "critical": true
#                             }
#                         }
#                     }
#                 }
#             ],
#             "route_map": "test_2"
#         }
#     ]

# After state:
# ------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

# Using Rendered

- name: Render the commands for provided  configuration
  cisco.ios.ios_route_maps:
    config:
      - route_map: test_1
        entries:
          - sequence: 10
            action: deny
            description: this is test route
            match:
              ip:
                next_hop:
                  prefix_lists:
                    - test_1_new
                    - test_2_new
                route_source:
                  acls:
                    - 10
              security_group:
                source:
                  - 10
                  - 20
              local_preference:
                value:
                  - 50
                  - 100
              mpls_label: true
          - sequence: 20
            action: deny
            continue_entry:
              entry_sequence: 100
            match:
              additional_paths:
                all: true
                group_best: true
              as_path:
                acls:
                  - 100
                  - 200
              ipv6:
                address:
                  acl: test_acl_20
              route_type:
                level_1: true
              tag:
                tag_list:
                  - test_match_tag
              track: 105
      - route_map: test_2
        entries:
          - sequence: 10
            action: deny
            match:
              ipv6:
                address:
                  acl: test_ip_acl
                next_hop:
                  prefix_list: test_new
                route_source:
                  acl: route_src_acl
              security_group:
                source:
                  - 10
                  - 20
              local_preference:
                value:
                  - 55
                  - 105
              mpls_label: true
            set:
              aigp_metric:
                value: 100
              automatic_tag: true
              extcommunity:
                cost:
                  id: 10
                  cost_value: 100
                  pre_bestpath: true
              ip:
                address: 192.0.2.1
                df: 1
                next_hop:
                  recursive:
                    global_route: true
                    address: 198.51.110.1
                  verify_availability:
                    address: 198.51.111.1
                    sequence: 100
                    track: 10
                precedence:
                  critical: true
    state: rendered

# Module Execution Result:
# ------------------------
#
#  "rendered": [
#      "route-map test_2 deny 10",
#      "match security-group source tag 10 20",
#      "match local-preference 55 105",
#      "match mpls-label",
#      "match ipv6 next-hop prefix-list test_new",
#      "match ipv6 route-source route_src_acl",
#      "match ipv6 address test_ip_acl",
#      "set extcommunity cost pre-bestpath 10 100",
#      "set ip df 1",
#      "set ip next-hop recursive global 198.51.110.1",
#      "set ip next-hop verify-availability 198.51.111.1 100 track 10",
#      "set ip precedence critical",
#      "set ip address prefix-list 192.0.2.1",
#      "set automatic-tag",
#      "set aigp-metric 100",
#      "route-map test_1 deny 20",
#      "continue 100",
#      "match track 105",
#      "match tag list test_match_tag",
#      "match ipv6 address test_acl_20",
#      "match route-type level-1",
#      "match as-path 200 100",
#      "match additional-paths advertise-set all group-best",
#      "route-map test_1 deny 10",
#      "description this is test route",
#      "match security-group source tag 10 20",
#      "match ip next-hop prefix-list test_2_new test_1_new",
#      "match ip route-source 10",
#      "match local-preference 100 50",
#      "match mpls-label"
#     ]

# Using Parsed

# File: parsed.cfg
# ----------------
#
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

- name: Parse the provided configuration with the existing running configuration
  cisco.ios.ios_route_maps:
    running_config: "{{ lookup('file', 'parsed.cfg') }}"
    state: parsed

# Module Execution Result:
# ------------------------
#
# "parsed": [
#         {
#             "entries": [
#                 {
#                     "action": "deny",
#                     "description": "this is test route",
#                     "match": {
#                         "ip": {
#                             "next_hop": {
#                                 "prefix_lists": [
#                                     "test_2_new",
#                                     "test_1_new"
#                                 ]
#                             },
#                             "route_source": {
#                                 "acls": [
#                                     "10"
#                                 ]
#                             }
#                         },
#                         "local_preference": {
#                             "value": [
#                                 "100",
#                                 "50"
#                             ]
#                         },
#                         "mpls_label": true,
#                         "security_group": {
#                             "source": [
#                                 10,
#                                 20
#                             ]
#                         }
#                     },
#                     "sequence": 10
#                 },
#                 {
#                     "action": "deny",
#                     "continue_entry": {
#                         "entry_sequence": 100
#                     },
#                     "match": {
#                         "additional_paths": {
#                             "all": true,
#                             "group_best": true
#                         },
#                         "as_path": {
#                             "acls": [
#                                 200,
#                                 100
#                             ]
#                         },
#                         "ipv6": {
#                             "address": {
#                                 "acl": "test_acl_20"
#                             }
#                         },
#                         "route_type": {
#                             "external": {
#                                 "set": true
#                             },
#                             "level_1": true,
#                             "nssa_external": {
#                                 "set": true
#                             }
#                         },
#                         "tag": {
#                             "tag_list": [
#                                 "test_match_tag"
#                             ]
#                         },
#                         "track": 105
#                     },
#                     "sequence": 20
#                 }
#             ],
#             "route_map": "test_1"
#         },
#         {
#             "entries": [
#                 {
#                     "action": "deny",
#                     "match": {
#                         "ipv6": {
#                             "address": {
#                                 "acl": "test_ip_acl"
#                             },
#                             "next_hop": {
#                                 "prefix_list": "test_new"
#                             },
#                             "route_source": {
#                                 "acl": "route_src_acl"
#                             }
#                         },
#                         "local_preference": {
#                             "value": [
#                                 "55",
#                                 "105"
#                             ]
#                         },
#                         "mpls_label": true,
#                         "security_group": {
#                             "source": [
#                                 10,
#                                 20
#                             ]
#                         }
#                     },
#                     "sequence": 10,
#                     "set": {
#                         "aigp_metric": {
#                             "value": 100
#                         },
#                         "automatic_tag": true,
#                         "extcommunity": {
#                             "cost": {
#                                 "cost_value": 100,
#                                 "id": "10",
#                                 "pre_bestpath": true
#                             }
#                         },
#                         "ip": {
#                             "address": "192.0.2.1",
#                             "df": 1,
#                             "next_hop": {
#                                 "recursive": {
#                                     "address": "198.51.110.1",
#                                     "global_route": true
#                                 },
#                                 "verify_availability": {
#                                     "address": "198.51.111.1",
#                                     "sequence": 100,
#                                     "track": 10
#                                 }
#                             },
#                             "precedence": {
#                                 "critical": true
#                             }
#                         }
#                     }
#                 }
#             ],
#             "route_map": "test_2"
#         }
#     ]

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже приведены поля, уникальные для этого модуля:

Ключ

Описание

after

list / elements=string

Итоговая конфигурация после применения модели.

Возвращается: при изменении

Пример: ["The configuration returned will always be in the same format\n of the parameters above.\n"]

before

list / elements=string

Конфигурация до применения модели.

Возвращается: всегда

Пример: ["The configuration returned will always be in the same format\n of the parameters above.\n"]

commands

list / elements=string

Набор команд, отправленных на удаленное устройство.

Возвращается: всегда

Пример: ["route-map test_1 deny 10", "description this is test route", "match ip route-source 10", "match track  105"]

Авторы

  • Sumit Jaiswal (@justjais)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 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/cisco/ios/ios_route_maps_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API