Модуль cisco.iosxr.iosxr_acls – Модуль ресурсов для настройки ACL.
Примечание
Этот модуль входит в коллекцию cisco.iosxr (версия 9.0.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install cisco.iosxr.
Для использования в плейбуке укажите: cisco.iosxr.iosxr_acls.
Впервые в cisco.iosxr 1.0.0
Описание
- Этот модуль управляет списками управления доступом (ACL) на устройствах, работающих под управлением IOS-XR.
Псевдонимы: acls
Параметры
Параметр | Комментарии |
|---|---|
config list / elements=dictionary | Список словарей, указывающих конфигурации ACL. |
|
acls list / elements=dictionary |
Список списков контроля доступа (ACL). |
|
aces list / elements=dictionary |
Список записей контроля доступа (ACE) для этого списка контроля доступа (ACL). |
|
authen boolean |
Соответствие, если заголовок аутентификации присутствует. Варианты:
|
|
capture boolean |
Захват совпавшего пакета. Варианты:
|
|
destination dictionary |
Указывает назначение пакета. |
|
address string |
IP-адрес назначения для сопоставления. |
|
any boolean |
Соответствие любому адресу назначения. Варианты:
|
|
host string |
IP-адрес узла для сопоставления. |
|
net_group string |
Имя net-группы. |
|
port_group string |
Имя port-группы. |
|
port_protocol dictionary |
Укажите исходный порт или протокол. |
|
eq string |
Сопоставление только пакетов с заданным номером порта. |
|
gt string |
Сопоставление только пакетов с большим номером порта. |
|
lt string |
Сопоставление только пакетов с меньшим номером порта. |
|
neq string |
Сопоставление только пакетов, не имеющих заданный номер порта. |
|
range dictionary |
Сопоставление только пакетов в диапазоне номеров портов |
|
end string |
Укажите конец диапазона портов |
|
start string |
Укажите начало диапазона портов |
|
prefix string |
Префикс сети назначения. |
|
wildcard_bits string |
Биты подстановки для применения к адресу назначения. |
|
destopts boolean |
Соответствие, если заголовок параметров назначения присутствует. Варианты:
|
|
dscp dictionary |
Сопоставление пакетов с заданным значением DSCP. |
|
eq string |
Сопоставление только пакетов с заданным значением dscp |
|
gt string |
Сопоставление только пакетов с большим значением dscp |
|
lt string |
Сопоставление только пакетов с меньшим значением dscp |
|
neq string |
Сопоставлять только пакеты, не имеющие заданного значения DSCP |
|
range dictionary |
Сопоставлять только пакеты в диапазоне значений DSCP |
|
end string |
Конец диапазона DSCP |
|
start string |
Начало диапазона DSCP |
|
fragments boolean |
Проверять неначальные фрагменты. Choices:
|
|
grant string |
Пересылать или отбрасывать пакеты, соответствующие записи контроля доступа (ACE). Choices:
|
|
hop_by_hop boolean |
Сопоставлять, если присутствует заголовок hop-by-hop opts. Choices:
|
|
icmp_off boolean |
Включить/выключить сообщение ICMP для этой записи. Choices:
|
|
line aliases: ace string |
ACE без номера последовательности. Этот ключ является взаимоисключающим со всеми другими атрибутами, кроме «sequence». При использовании с другими атрибутами значение этого ключа будет иметь приоритет, а другие ключи будут игнорироваться. Это следует использовать только тогда, когда атрибут не существует в argspec, но является допустимым для устройства. Для сбора фактов любая запись ACE, которая не полностью разобранa, будет отображаться как значение этого атрибута, за исключением номера последовательности, который будет заполнен как значение ключа sequence. |
|
log boolean |
Включить/выключить логирование совпадений для этой записи. Choices:
|
|
log_input boolean |
Включить/выключить логирование совпадений для этой записи, включая входной интерфейс. Choices:
|
|
packet_length dictionary |
Сопоставлять пакеты с заданной длиной пакета. |
|
eq integer |
Сопоставлять только пакеты с заданной длиной пакета |
|
gt integer |
Сопоставлять только пакеты с большей длиной пакета |
|
lt integer |
Сопоставлять только пакеты с меньшей длиной пакета |
|
neq integer |
Сопоставлять только пакеты, не имеющие заданной длины пакета |
|
range dictionary |
Сопоставлять только пакеты в диапазоне длин пакетов |
|
end integer |
Конец диапазона длин пакетов |
|
start integer |
Начало диапазона длин пакетов |
|
precedence string |
Сопоставлять пакеты с заданным значением приоритета |
|
protocol string |
Укажите протокол для сопоставления. Обратитесь к документации поставщика для допустимых значений. |
|
protocol_options dictionary |
Дополнительные подпараметры для протокола. |
|
icmp dictionary |
Параметры протокола управления интернет-сообщениями (ICMP). |
|
administratively_prohibited boolean |
Административно запрещено Choices:
|
|
alternate_address boolean |
Альтернативный адрес Choices:
|
|
conversion_error boolean |
Преобразование датограмм Choices:
|
|
dod_host_prohibited boolean |
Хост запрещен Choices:
|
|
dod_net_prohibited boolean |
Сеть запрещена Choices:
|
|
echo boolean |
Эхо (ping) Choices:
|
|
echo_reply boolean |
Ответ эхо Choices:
|
|
general_parameter_problem boolean |
Проблема с параметром Choices:
|
|
host_isolated boolean |
Хост изолирован Choices:
|
|
host_precedence_unreachable boolean |
Хост недоступен для приоритета Choices:
|
|
host_redirect boolean |
Перенаправление хоста Choices:
|
|
host_tos_redirect boolean |
Перенаправление хоста для TOS Choices:
|
|
host_tos_unreachable boolean |
Хост недоступен для TOS Choices:
|
|
host_unknown boolean |
Хост неизвестен Choices:
|
|
host_unreachable boolean |
Хост недоступен Choices:
|
|
information_reply boolean |
Ответы информации Choices:
|
|
information_request boolean |
Запросы информации Choices:
|
|
mask_reply boolean |
Ответы маски Choices:
|
|
mask_request boolean |
Запросы маски Choices:
|
|
mobile_redirect boolean |
Перенаправление мобильного хоста Choices:
|
|
net_redirect boolean |
Перенаправление сети Choices:
|
|
net_tos_redirect boolean |
Перенаправление сети для TOS Choices:
|
|
net_tos_unreachable boolean |
Сеть недоступна для TOS Choices:
|
|
net_unreachable boolean |
Сеть недоступна Choices:
|
|
network_unknown boolean |
Неизвестная сеть Choices:
|
|
no_room_for_option boolean |
Требуемый параметр, но недостаточно места Choices:
|
|
option_missing boolean |
Требуемый параметр отсутствует Choices:
|
|
packet_too_big boolean |
Необходима фрагментация, но установлен флаг DF Choices:
|
|
parameter_problem boolean |
Все проблемы с параметрами Choices:
|
|
port_unreachable boolean |
Порт недоступен Choices:
|
|
precedence_unreachable boolean |
Превышение приоритета Choices:
|
|
protocol_unreachable boolean |
Протокол недоступен Choices:
|
|
reassembly_timeout boolean |
Превышено время сборки Choices:
|
|
redirect boolean |
Все перенаправления Choices:
|
|
router_advertisement boolean |
Объявления обнаружения маршрутизатора Choices:
|
|
router_solicitation boolean |
Запросы обнаружения маршрутизатора Choices:
|
|
source_quench boolean |
Заглушки источника Choices:
|
|
source_route_failed boolean |
Ошибка маршрута источника Choices:
|
|
time_exceeded boolean |
Все превышения времени Варианты:
|
|
timestamp_reply boolean |
Ответы на запрос метки времени Варианты:
|
|
timestamp_request boolean |
Запросы метки времени Варианты:
|
|
traceroute boolean |
Traceroute Варианты:
|
|
ttl_exceeded boolean |
Превышено значение TTL Варианты:
|
|
unreachable boolean |
Все недоступные Варианты:
|
|
icmpv6 dictionary |
Параметры протокола управления интернет-сообщениями для IPv6. |
|
address_unreachable boolean |
Адрес недоступен Варианты:
|
|
administratively_prohibited boolean |
Административно запрещено Варианты:
|
|
beyond_scope_of_source_address boolean |
Административно запрещено Варианты:
|
|
destination_unreachable boolean |
Пункт назначения недоступен Варианты:
|
|
echo boolean |
Эхо Варианты:
|
|
echo_reply boolean |
Ответ эхо Варианты:
|
|
erroneous_header_field boolean |
Поле заголовка с ошибкой Варианты:
|
|
group_membership_query boolean |
Запрос членства в группе Варианты:
|
|
group_membership_report boolean |
Отчет о членстве в группе Варианты:
|
|
group_membership_termination boolean |
Завершение членства в группе Варианты:
|
|
host_unreachable boolean |
Узел недоступен Варианты:
|
|
nd_na boolean |
Обнаружение соседа - Объявление соседа Варианты:
|
|
nd_ns boolean |
Запрос сопоставления узлов - Запрос узла Choices:
|
|
neighbor_redirect boolean |
Перенаправление узла Choices:
|
|
no_route_to_destination boolean |
Нет маршрута к месту назначения Choices:
|
|
node_information_request_is_refused boolean |
Запрос информации об узле отклонен Choices:
|
|
node_information_successful_reply boolean |
Успешный ответ на запрос информации об узле Choices:
|
|
packet_too_big boolean |
Пакет слишком большой Choices:
|
|
parameter_problem boolean |
Проблема с параметром Choices:
|
|
port_unreachable boolean |
Порт недоступен Choices:
|
|
query_subject_is_domainname boolean |
Запрашиваемый объект является именем домена Choices:
|
|
query_subject_is_IPv4address boolean |
Запрашиваемый объект является IPv4-адресом Choices:
|
|
query_subject_is_IPv6address boolean |
Запрашиваемый объект является IPv6-адресом Choices:
|
|
reassembly_timeout boolean |
Время ожидания повторной сборки Choices:
|
|
redirect boolean |
Перенаправление Choices:
|
|
router_advertisement boolean |
Объявление маршрутизатора Choices:
|
|
router_renumbering boolean |
Перемаршрутизация маршрутизатора Choices:
|
|
router_solicitation boolean |
Запрос маршрутизатора Choices:
|
|
rr_command boolean |
Команда RR Choices:
|
|
rr_result boolean |
Результат RR Choices:
|
|
rr_seqnum_reset boolean |
Сброс номера последовательности RR Choices:
|
|
time_exceeded boolean |
Превышено время ожидания Choices:
|
|
ttl_exceeded boolean |
Превышено значение TTL Choices:
|
|
unknown_query_type boolean |
Неизвестный тип запроса Choices:
|
|
unreachable boolean |
Недоступен Choices:
|
|
unrecognized_next_header boolean |
Нераспознанный следующий заголовок Choices:
|
|
unrecognized_option boolean |
Нераспознанный параметр Choices:
|
|
whoareyou_reply boolean |
Ответ Whoareyou Choices:
|
|
whoareyou_request boolean |
Запрос Whoareyou Choices:
|
|
igmp dictionary |
Параметры протокола управления интернет-группами (IGMP). |
|
dvmrp boolean |
Сопоставление протокола маршрутизации многоадресной рассылки с вектором расстояний Choices:
|
|
host_query boolean |
Сопоставление запроса узла Choices:
|
|
host_report boolean |
Сопоставление отчета узла Choices:
|
|
mtrace boolean |
Сопоставление mtrace Choices:
|
|
mtrace_response boolean |
Сопоставление ответа mtrace Choices:
|
|
pim boolean |
Сопоставление независимого от протокола многоадресного доступа Choices:
|
|
trace boolean |
Многоадресная трассировка Choices:
|
|
tcp dictionary |
Сопоставление флагов пакетов TCP |
|
ack boolean |
Сопоставление по биту ACK Choices:
|
|
established boolean |
Сопоставление установленных соединений Choices:
|
|
fin boolean |
Соответствие биту FIN Варианты:
|
|
psh boolean |
Соответствие биту PSH Варианты:
|
|
rst boolean |
Соответствие биту RST Варианты:
|
|
syn boolean |
Соответствие биту SYN Варианты:
|
|
urg boolean |
Соответствие биту URG Варианты:
|
|
remark string |
Комментарии или описание для списка доступа. |
|
routing boolean |
Соответствие, если заголовок маршрутизации присутствует. Варианты:
|
|
sequence integer |
Порядковый номер для записи управления доступом (ACE). |
|
source dictionary |
Указывает источник пакета. |
|
address string |
IP-адрес источника для сопоставления. |
|
any boolean |
Соответствие любому адресу источника. Варианты:
|
|
host string |
IP-адрес узла для сопоставления. |
|
net_group string |
Имя группы сетей. |
|
port_group string |
Имя группы портов. |
|
port_protocol dictionary |
Укажите исходный порт или протокол. |
|
eq string |
Сопоставлять только пакеты с заданным номером порта. |
|
gt string |
Сопоставлять только пакеты с большим номером порта. |
|
lt string |
Сопоставлять только пакеты с меньшим номером порта. |
|
neq string |
Сопоставлять только пакеты не с заданным номером порта. |
|
range dictionary |
Сопоставлять только пакеты в диапазоне номеров портов |
|
end string |
Укажите конец диапазона портов |
|
start string |
Укажите начало диапазона портов |
|
prefix string |
Префикс исходной сети. |
|
wildcard_bits string |
Разряды Wildcard для применения к исходному адресу. |
|
ttl dictionary |
Сопоставление с указанным значением TTL. |
|
eq целое число |
Сопоставить только пакеты с точным значением TTL. |
|
gt целое число |
Сопоставить только пакеты с большим значением TTL. |
|
lt целое число |
Сопоставить только пакеты с меньшим значением TTL. |
|
neq целое число |
Сопоставить только пакеты, у которых нет указанного значения TTL. |
|
range словарь |
Сопоставить только пакеты в заданном диапазоне значений TTL. |
|
end целое число |
Конец диапазона TTL. |
|
start целое число |
Начало диапазона TTL. |
|
name строка |
Имя списка управления доступом (ACL). |
|
afi строка / обязательно |
Индикатор семейства адресов (AFI) для списков управления доступом (ACL). Варианты:
|
running_config строка | Модуль по умолчанию подключается к удалённому устройству и извлекает текущую конфигурацию running-config, чтобы использовать её как базу для сравнения с содержимым источника. Иногда нежелательно, чтобы задача получала текущую конфигурацию running-config для каждой задачи в playbook. Аргумент running_config позволяет разработчику передать конфигурацию для использования в качестве базовой конфигурации сравнения. Это значение должно быть результатом выполнения команды show running-config router static на устройстве. |
state строка | Состояние, в котором должна оставаться конфигурация. Варианты:
|
Примеры
# Using merged to add new ACLs
# Before state:
# -------------
# RP/0/RP0/CPU0:ios#show access-lists afi-al
# Fri Sep 22 03:57:04.758 UTC
# ipv4 access-list acl_1
# 10 permit udp 192.168.1.0 0.0.0.255 any
- name: Merge the provided configuration with the existing running configuration
cisco.iosxr.iosxr_acls:
config:
- afi: ipv6
acls:
- name: acl6_1
aces:
- sequence: 10
grant: deny
protocol: tcp
source:
prefix: '2001:db8:1234::/48'
port_protocol:
range:
start: ftp
end: telnet
destination:
any: true
protocol_options:
tcp:
syn: true
ttl:
range:
start: 180
end: 250
routing: true
authen: true
log: true
- sequence: 20
grant: permit
protocol: icmpv6
source:
any: true
destination:
any: true
protocol_options:
icmpv6:
router_advertisement: true
precedence: network
destopts: true
- afi: ipv4
acls:
- name: acl_1
aces:
- sequence: 16
remark: TEST_ACL_1_REMARK
- sequence: 21
grant: permit
protocol: tcp
source:
host: 192.0.2.10
port_protocol:
range:
start: pop3
end: 121
destination:
address: 198.51.100.0
wildcard_bits: 0.0.0.15
protocol_options:
tcp:
rst: true
- sequence: 23
grant: deny
protocol: icmp
source:
any: true
destination:
prefix: 198.51.100.0/28
protocol_options:
icmp:
reassembly_timeout: true
dscp:
lt: af12
- name: acl_2
aces:
- sequence: 10
remark: TEST_ACL_2_REMARK
state: merged
# Task Output
# -----------
#
# before:
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: udp
# sequence: 10
# source:
# address: 192.168.1.0
# wildcard_bits: 0.0.0.255
# name: acl_1
# afi: ipv4
#
# commands:
# - ipv6 access-list acl6_1
# - 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 authen routing log
# - 20 permit icmpv6 any any router-advertisement precedence network destopts
# - ipv4 access-list acl_1
# - 16 remark TEST_ACL_1_REMARK
# - 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst
# - 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12
# - ipv4 access-list acl_2
# - 10 remark TEST_ACL_2_REMARK
#
# after:
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: udp
# sequence: 10
# source:
# address: 192.168.1.0
# wildcard_bits: 0.0.0.255
# - remark: TEST_ACL_1_REMARK
# sequence: 16
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# grant: permit
# protocol: tcp
# protocol_options:
# tcp:
# rst: true
# sequence: 21
# source:
# host: 192.0.2.10
# port_protocol:
# range:
# end: '121'
# start: pop3
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# dscp:
# lt: af12
# grant: deny
# protocol: icmp
# protocol_options:
# icmp:
# reassembly_timeout: true
# sequence: 23
# source:
# any: true
# name: acl_1
# - aces:
# - remark: TEST_ACL_2_REMARK
# sequence: 10
# name: acl_2
# afi: ipv4
# - acls:
# - aces:
# - authen: true
# destination:
# any: true
# grant: deny
# log: true
# protocol: tcp
# protocol_options:
# tcp:
# syn: true
# routing: true
# sequence: 10
# source:
# port_protocol:
# range:
# end: telnet
# start: ftp
# prefix: 2001:db8:1234::/48
# ttl:
# range:
# end: 250
# start: 180
# - destination:
# any: true
# destopts: true
# grant: permit
# precedence: network
# protocol: icmpv6
# protocol_options:
# icmpv6:
# router_advertisement: true
# sequence: 20
# source:
# any: true
# name: acl6_1
# afi: ipv6
# After state:
# -------------
# RP/0/RP0/CPU0:ios#show access-lists afi-all
# Fri Sep 22 04:35:19.977 UTC
# ipv4 access-list acl_1
# 10 permit udp 192.168.1.0 0.0.0.255 any
# 16 remark TEST_ACL_1_REMARK
# 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst
# 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12
# ipv4 access-list acl_2
# 10 remark TEST_ACL_2_REMARK
# ipv6 access-list acl6_1
# 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 routing authen log
# 20 permit icmpv6 any any router-advertisement precedence network destopts
# Using merged to update existing ACLs
# Before state:
# -------------
# RP/0/RP0/CPU0:ios#show access-lists afi-all
# Fri Sep 22 04:37:33.542 UTC
# ipv4 access-list acl_1
# 10 permit udp 192.168.1.0 0.0.0.255 any
# 16 remark TEST_ACL_1_REMARK
# 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst
# 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12
# ipv4 access-list acl_2
# 10 remark TEST_ACL_2_REMARK
# ipv6 access-list acl6_1
# 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 routing authen log
# 20 permit icmpv6 any any router-advertisement precedence network destopts
- name: Update existing ACEs
cisco.iosxr.iosxr_acls:
config:
- afi: ipv4
acls:
- name: acl_1
aces:
- sequence: 21
source:
prefix: 198.51.100.32/28
port_protocol:
range:
start: pop3
end: 121
protocol_options:
tcp:
syn: true
- sequence: 23
protocol_options:
icmp:
router_advertisement: true
dscp:
eq: af23
# Task Output
# -----------
#
# before:
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: udp
# sequence: 10
# source:
# address: 192.168.1.0
# wildcard_bits: 0.0.0.255
# - remark: TEST_ACL_1_REMARK
# sequence: 16
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# grant: permit
# protocol: tcp
# protocol_options:
# tcp:
# rst: true
# sequence: 21
# source:
# host: 192.0.2.10
# port_protocol:
# range:
# end: '121'
# start: pop3
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# dscp:
# lt: af12
# grant: deny
# protocol: icmp
# protocol_options:
# icmp:
# reassembly_timeout: true
# sequence: 23
# source:
# any: true
# name: acl_1
# - aces:
# - remark: TEST_ACL_2_REMARK
# sequence: 10
# name: acl_2
# afi: ipv4
# - acls:
# - aces:
# - authen: true
# destination:
# any: true
# grant: deny
# log: true
# protocol: tcp
# protocol_options:
# tcp:
# syn: true
# routing: true
# sequence: 10
# source:
# port_protocol:
# range:
# end: telnet
# start: ftp
# prefix: 2001:db8:1234::/48
# ttl:
# range:
# end: 250
# start: 180
# - destination:
# any: true
# destopts: true
# grant: permit
# precedence: network
# protocol: icmpv6
# protocol_options:
# icmpv6:
# router_advertisement: true
# sequence: 20
# source:
# any: true
# name: acl6_1
# afi: ipv6
#
# commands:
# - ipv4 access-list acl_1
# - 21 permit tcp 198.51.100.32 0.0.0.15 range pop3 121 198.51.100.0 0.0.0.15 syn
# - 23 deny icmp any 198.51.100.0 0.0.0.15 router-advertisement dscp eq af23
# after:
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: udp
# sequence: 10
# source:
# address: 192.168.1.0
# wildcard_bits: 0.0.0.255
# - remark: TEST_ACL_1_REMARK
# sequence: 16
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# grant: permit
# protocol: tcp
# protocol_options:
# tcp:
# syn: true
# sequence: 21
# source:
# address: 198.51.100.32
# port_protocol:
# range:
# end: '121'
# start: pop3
# wildcard_bits: 0.0.0.15
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# dscp:
# eq: af23
# grant: deny
# protocol: icmp
# protocol_options:
# icmp:
# router_advertisement: true
# sequence: 23
# source:
# any: true
# name: acl_1
# - aces:
# - remark: TEST_ACL_2_REMARK
# sequence: 10
# name: acl_2
# afi: ipv4
# - acls:
# - aces:
# - authen: true
# destination:
# any: true
# grant: deny
# log: true
# protocol: tcp
# protocol_options:
# tcp:
# syn: true
# routing: true
# sequence: 10
# source:
# port_protocol:
# range:
# end: telnet
# start: ftp
# prefix: 2001:db8:1234::/48
# ttl:
# range:
# end: 250
# start: 180
# - destination:
# any: true
# destopts: true
# grant: permit
# precedence: network
# protocol: icmpv6
# protocol_options:
# icmpv6:
# router_advertisement: true
# sequence: 20
# source:
# any: true
# name: acl6_1
# afi: ipv6
# After state:
# -------------
# RP/0/RP0/CPU0:ios#show access-lists afi-all
# Wed Sep 27 09:58:38.345 UTC
# ipv4 access-list acl_1
# 10 permit udp 192.168.1.0 0.0.0.255 any
# 16 remark TEST_ACL_1_REMARK
# 21 permit tcp 198.51.100.32 0.0.0.15 range pop3 121 198.51.100.0 0.0.0.15 syn
# 23 deny icmp any 198.51.100.0 0.0.0.15 router-advertisement dscp eq af23
# ipv4 access-list acl_2
# 10 remark TEST_ACL_2_REMARK
# ipv6 access-list acl6_1
# 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 routing authen log
# 20 permit icmpv6 any any router-advertisement precedence network destopts
# Using replaced to replace a whole ACL
# Before state:
# -------------
# RP/0/RP0/CPU0:ios#show access-lists afi-all
# Fri Sep 22 05:38:36.205 UTC
# ipv4 access-list acl_1
# 10 permit udp 192.168.1.0 0.0.0.255 any
# 16 remark TEST_ACL_1_REMARK
# 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst
# 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12
# ipv4 access-list acl_2
# 10 remark TEST_ACL_2_REMARK
# ipv6 access-list acl6_1
# 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 routing authen log
# 20 permit icmpv6 any any router-advertisement precedence network destopts
- name: Replace device configurations of listed ACL with provided configurations
cisco.iosxr.iosxr_acls:
state: replaced
config:
- afi: ipv4
acls:
- name: acl_2
aces:
- sequence: 11
grant: permit
protocol: igmp
source:
host: 198.51.100.130
destination:
any: true
ttl:
eq: 100
- sequence: 12
grant: deny
source:
any: true
destination:
any: true
protocol: icmp
# Task Output
# -----------
# before:
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: udp
# sequence: 10
# source:
# address: 192.168.1.0
# wildcard_bits: 0.0.0.255
# - remark: TEST_ACL_1_REMARK
# sequence: 16
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# grant: permit
# protocol: tcp
# protocol_options:
# tcp:
# rst: true
# sequence: 21
# source:
# host: 192.0.2.10
# port_protocol:
# range:
# end: '121'
# start: pop3
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# dscp:
# lt: af12
# grant: deny
# protocol: icmp
# protocol_options:
# icmp:
# reassembly_timeout: true
# sequence: 23
# source:
# any: true
# name: acl_1
# - aces:
# - remark: TEST_ACL_2_REMARK
# sequence: 10
# name: acl_2
# afi: ipv4
# - acls:
# - aces:
# - authen: true
# destination:
# any: true
# grant: deny
# log: true
# protocol: tcp
# protocol_options:
# tcp:
# syn: true
# routing: true
# sequence: 10
# source:
# port_protocol:
# range:
# end: telnet
# start: ftp
# prefix: 2001:db8:1234::/48
# ttl:
# range:
# end: 250
# start: 180
# - destination:
# any: true
# destopts: true
# grant: permit
# precedence: network
# protocol: icmpv6
# protocol_options:
# icmpv6:
# router_advertisement: true
# sequence: 20
# source:
# any: true
# name: acl6_1
# afi: ipv6
#
# commands:
# - ipv4 access-list acl_2
# - no 10
# - 11 permit igmp host 198.51.100.130 any ttl eq 100
# - 12 deny icmp any any
#
# after:
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: udp
# sequence: 10
# source:
# address: 192.168.1.0
# wildcard_bits: 0.0.0.255
# - remark: TEST_ACL_1_REMARK
# sequence: 16
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# grant: permit
# protocol: tcp
# protocol_options:
# tcp:
# rst: true
# sequence: 21
# source:
# host: 192.0.2.10
# port_protocol:
# range:
# end: '121'
# start: pop3
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# dscp:
# lt: af12
# grant: deny
# protocol: icmp
# protocol_options:
# icmp:
# reassembly_timeout: true
# sequence: 23
# source:
# any: true
# name: acl_1
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: igmp
# sequence: 11
# source:
# host: 198.51.100.130
# ttl:
# eq: 100
# - destination:
# any: true
# grant: deny
# protocol: icmp
# sequence: 12
# source:
# any: true
# name: acl_2
# afi: ipv4
# - acls:
# - aces:
# - authen: true
# destination:
# any: true
# grant: deny
# log: true
# protocol: tcp
# protocol_options:
# tcp:
# syn: true
# routing: true
# sequence: 10
# source:
# port_protocol:
# range:
# end: telnet
# start: ftp
# prefix: 2001:db8:1234::/48
# ttl:
# range:
# end: 250
# start: 180
# - destination:
# any: true
# destopts: true
# grant: permit
# precedence: network
# protocol: icmpv6
# protocol_options:
# icmpv6:
# router_advertisement: true
# sequence: 20
# source:
# any: true
# name: acl6_1
# afi: ipv6
# After state:
# -------------
# RP/0/RP0/CPU0:ios#show access-lists afi-all
# Fri Sep 22 05:56:21.103 UTC
# ipv4 access-list acl_1
# 10 permit udp 192.168.1.0 0.0.0.255 any
# 16 remark TEST_ACL_1_REMARK
# 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst
# 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12
# ipv4 access-list acl_2
# 11 permit igmp host 198.51.100.130 any ttl eq 100
# 12 deny icmp any any
# ipv6 access-list acl6_1
# 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 routing authen log
# 20 permit icmpv6 any any router-advertisement precedence network destopts
# Using overridden to override all ACLs in the device
# Before state:
# -------------
# RP/0/RP0/CPU0:ios#sh access-lists afi-all
# Thu Feb 20 05:22:57.021 UTC
# ipv4 access-list acl_1
# 10 permit udp 192.168.1.0 0.0.0.255 any
# 16 remark TEST_ACL_1_REMARK
# 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst
# 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12
# ipv4 access-list acl_2
# 10 remark TEST_ACL_2_REMARK
# ipv6 access-list acl6_1
# 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 routing authen log
# 20 permit icmpv6 any any router-advertisement precedence network destopts
- name: Overridde all ACLs configuration with provided configuration
cisco.iosxr.iosxr_acls:
config:
- afi: ipv4
acls:
- name: acl_1
aces:
- sequence: 10
grant: permit
source:
any: true
destination:
any: true
protocol: tcp
- name: acl_2
aces:
- sequence: 20
grant: permit
source:
any: true
destination:
any: true
protocol: igmp
state: overridden
# Task Output
# -----------
#
# before:
# - acls:
# - aces:
# - remark: TEST_ACL_1_REMARK
# sequence: 16
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# grant: permit
# protocol: tcp
# protocol_options:
# tcp:
# rst: true
# sequence: 21
# source:
# host: 192.0.2.10
# port_protocol:
# range:
# end: '121'
# start: pop3
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# dscp:
# lt: af12
# grant: deny
# protocol: icmp
# protocol_options:
# icmp:
# reassembly_timeout: true
# sequence: 23
# source:
# any: true
# name: acl_1
# - aces:
# - remark: TEST_ACL_2_REMARK
# sequence: 10
# name: acl_2
# afi: ipv4
# - acls:
# - aces:
# - authen: true
# destination:
# any: true
# grant: deny
# log: true
# protocol: tcp
# protocol_options:
# tcp:
# syn: true
# routing: true
# sequence: 10
# source:
# port_protocol:
# range:
# end: telnet
# start: ftp
# prefix: 2001:db8:1234::/48
# ttl:
# range:
# end: 250
# start: 180
# - destination:
# any: true
# destopts: true
# grant: permit
# precedence: network
# protocol: icmpv6
# protocol_options:
# icmpv6:
# router_advertisement: true
# sequence: 20
# source:
# any: true
# name: acl6_1
# afi: ipv6
#
# commands:
# - no ipv6 access-list acl6_1
# - ipv4 access-list acl_1
# - no 16
# - no 21
# - no 23
# - 10 permit tcp any any
# - ipv4 access-list acl_2
# - no 10
# - 20 permit igmp any any
#
# after:
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: tcp
# sequence: 10
# source:
# any: true
# name: acl_1
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: igmp
# sequence: 20
# source:
# any: true
# name: acl_2
# afi: ipv4
# After state:
# -------------
# RP/0/RP0/CPU0:ios#sh access-lists afi-all
# Thu Feb 20 06:31:22.178 UTC
# ipv4 access-list acl_1
# 10 permit tcp any any
# ipv4 access-list acl_2
# 20 permit igmp any any
# Using deleted to delete an entire ACL
# Before state:
# -------------
# RP/0/RP0/CPU0:ios#show access-lists afi-all
# Wed Sep 27 09:34:04.831 UTC
# ipv4 access-list acl_1
# 16 remark TEST_ACL_1_REMARK
# 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst
# 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12
# ipv4 access-list acl_2
# 10 remark TEST_ACL_2_REMARK
# ipv6 access-list acl6_1
# 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 routing authen log
# 20 permit icmpv6 any any router-advertisement precedence network destopts
- name: Delete a single ACL
cisco.iosxr.iosxr_acls:
config:
- afi: ipv6
acls:
- name: acl6_1
state: deleted
# Task Output
# -----------
#
# before:
# - acls:
# - aces:
# - remark: TEST_ACL_1_REMARK
# sequence: 16
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# grant: permit
# protocol: tcp
# protocol_options:
# tcp:
# rst: true
# sequence: 21
# source:
# host: 192.0.2.10
# port_protocol:
# range:
# end: '121'
# start: pop3
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# dscp:
# lt: af12
# grant: deny
# protocol: icmp
# protocol_options:
# icmp:
# reassembly_timeout: true
# sequence: 23
# source:
# any: true
# name: acl_1
# - aces:
# - remark: TEST_ACL_2_REMARK
# sequence: 10
# name: acl_2
# afi: ipv4
# - acls:
# - aces:
# - authen: true
# destination:
# any: true
# grant: deny
# log: true
# protocol: tcp
# protocol_options:
# tcp:
# syn: true
# routing: true
# sequence: 10
# source:
# port_protocol:
# range:
# end: telnet
# start: ftp
# prefix: 2001:db8:1234::/48
# ttl:
# range:
# end: 250
# start: 180
# - destination:
# any: true
# destopts: true
# grant: permit
# precedence: network
# protocol: icmpv6
# protocol_options:
# icmpv6:
# router_advertisement: true
# sequence: 20
# source:
# any: true
# name: acl6_1
# afi: ipv6
#
# commands:
# - no ipv6 access-list acl6_1
#
# after:
# - acls:
# - aces:
# - remark: TEST_ACL_1_REMARK
# sequence: 16
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# grant: permit
# protocol: tcp
# protocol_options:
# tcp:
# rst: true
# sequence: 21
# source:
# host: 192.0.2.10
# port_protocol:
# range:
# end: '121'
# start: pop3
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# dscp:
# lt: af12
# grant: deny
# protocol: icmp
# protocol_options:
# icmp:
# reassembly_timeout: true
# sequence: 23
# source:
# any: true
# name: acl_1
# - aces:
# - remark: TEST_ACL_2_REMARK
# sequence: 10
# name: acl_2
# afi: ipv4
# After state:
# -------------
# RP/0/RP0/CPU0:ios#sh access-lists afi-all
# Thu Feb 20 05:22:57.021 UTC
# ipv4 access-list acl_1
# 16 remark TEST_ACL_1_REMARK
# 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst
# 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12
# ipv4 access-list acl_2
# 10 remark TEST_ACL_2_REMARK
# Using deleted to delete all ACLs under one AFI
# Before state:
# -------------
# RP/0/RP0/CPU0:ios#show access-lists afi-all
# Wed Sep 27 09:34:04.831 UTC
# ipv4 access-list acl_1
# 16 remark TEST_ACL_1_REMARK
# 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst
# 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12
# ipv4 access-list acl_2
# 10 remark TEST_ACL_2_REMARK
# ipv6 access-list acl6_1
# 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 routing authen log
# 20 permit icmpv6 any any router-advertisement precedence network destopts
- name: Delete all ACLs under one AFI
cisco.iosxr.iosxr_acls:
config:
- afi: ipv4
state: deleted
# Task Output
# -----------
#
# before:
# - acls:
# - aces:
# - remark: TEST_ACL_1_REMARK
# sequence: 16
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# grant: permit
# protocol: tcp
# protocol_options:
# tcp:
# rst: true
# sequence: 21
# source:
# host: 192.0.2.10
# port_protocol:
# range:
# end: '121'
# start: pop3
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# dscp:
# lt: af12
# grant: deny
# protocol: icmp
# protocol_options:
# icmp:
# reassembly_timeout: true
# sequence: 23
# source:
# any: true
# name: acl_1
# - aces:
# - remark: TEST_ACL_2_REMARK
# sequence: 10
# name: acl_2
# afi: ipv4
# - acls:
# - aces:
# - authen: true
# destination:
# any: true
# grant: deny
# log: true
# protocol: tcp
# protocol_options:
# tcp:
# syn: true
# routing: true
# sequence: 10
# source:
# port_protocol:
# range:
# end: telnet
# start: ftp
# prefix: 2001:db8:1234::/48
# ttl:
# range:
# end: 250
# start: 180
# - destination:
# any: true
# destopts: true
# grant: permit
# precedence: network
# protocol: icmpv6
# protocol_options:
# icmpv6:
# router_advertisement: true
# sequence: 20
# source:
# any: true
# name: acl6_1
# afi: ipv6
#
# commands:
# - no ipv4 access-list acl_1
# - no ipv4 access-list acl_2
#
# after:
# - acls:
# - aces:
# - authen: true
# destination:
# any: true
# grant: deny
# log: true
# protocol: tcp
# protocol_options:
# tcp:
# syn: true
# routing: true
# sequence: 10
# source:
# port_protocol:
# range:
# end: telnet
# start: ftp
# prefix: 2001:db8:1234::/48
# ttl:
# range:
# end: 250
# start: 180
# - destination:
# any: true
# destopts: true
# grant: permit
# precedence: network
# protocol: icmpv6
# protocol_options:
# icmpv6:
# router_advertisement: true
# sequence: 20
# source:
# any: true
# name: acl6_1
# afi: ipv6
# After state:
# -------------
# RP/0/RP0/CPU0:ios#show access-lists afi-all
# Thu Feb 20 05:22:57.021 UTC
# ipv6 access-list acl6_1
# 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 routing authen log
# 20 permit icmpv6 any any router-advertisement precedence network destopts
# Using deleted to delete all ACLs from the device
# Before state:
# -------------
# RP/0/RP0/CPU0:ios#show access-lists afi-all
# Wed Sep 27 09:34:04.831 UTC
# ipv4 access-list acl_1
# 16 remark TEST_ACL_1_REMARK
# 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst
# 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12
# ipv4 access-list acl_2
# 10 remark TEST_ACL_2_REMARK
# ipv6 access-list acl6_1
# 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 routing authen log
# 20 permit icmpv6 any any router-advertisement precedence network destopts
- name: Delete all ACLs from the device
cisco.iosxr.iosxr_acls:
state: deleted
# Task Output
# -----------
#
# before:
# - acls:
# - aces:
# - remark: TEST_ACL_1_REMARK
# sequence: 16
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# grant: permit
# protocol: tcp
# protocol_options:
# tcp:
# rst: true
# sequence: 21
# source:
# host: 192.0.2.10
# port_protocol:
# range:
# end: '121'
# start: pop3
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# dscp:
# lt: af12
# grant: deny
# protocol: icmp
# protocol_options:
# icmp:
# reassembly_timeout: true
# sequence: 23
# source:
# any: true
# name: acl_1
# - aces:
# - remark: TEST_ACL_2_REMARK
# sequence: 10
# name: acl_2
# afi: ipv4
# - acls:
# - aces:
# - authen: true
# destination:
# any: true
# grant: deny
# log: true
# protocol: tcp
# protocol_options:
# tcp:
# syn: true
# routing: true
# sequence: 10
# source:
# port_protocol:
# range:
# end: telnet
# start: ftp
# prefix: 2001:db8:1234::/48
# ttl:
# range:
# end: 250
# start: 180
# - destination:
# any: true
# destopts: true
# grant: permit
# precedence: network
# protocol: icmpv6
# protocol_options:
# icmpv6:
# router_advertisement: true
# sequence: 20
# source:
# any: true
# name: acl6_1
# afi: ipv6
#
# commands:
# - no ipv4 access-list acl_1
# - no ipv4 access-list acl_2
# - no ipv6 access-list acl6_1
#
# after: []
# After state:
# -------------
# RP/0/RP0/CPU0:ios#show access-lists afi-all
# Thu Feb 20 05:07:45.767 UTC
# RP/0/RP0/CPU0:ios#
# Using gathered to gather ACL facts from the device
# RP/0/RP0/CPU0:ios#show access-lists afi-all
# Wed Sep 27 09:34:04.831 UTC
# ipv4 access-list acl_1
# 16 remark TEST_ACL_1_REMARK
# 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst
# 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12
# ipv4 access-list acl_2
# 10 remark TEST_ACL_2_REMARK
# ipv6 access-list acl6_1
# 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 routing authen log
# 20 permit icmpv6 any any router-advertisement precedence network destopts
- name: Gather ACL interfaces facts using gathered state
cisco.iosxr.iosxr_acls:
state: gathered
# Task Output (redacted)
# -----------------------
#
# gathered:
# - acls:
# - aces:
# - remark: TEST_ACL_1_REMARK
# sequence: 16
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# grant: permit
# protocol: tcp
# protocol_options:
# tcp:
# rst: true
# sequence: 21
# source:
# host: 192.0.2.10
# port_protocol:
# range:
# end: '121'
# start: pop3
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# dscp:
# lt: af12
# grant: deny
# protocol: icmp
# protocol_options:
# icmp:
# reassembly_timeout: true
# sequence: 23
# source:
# any: true
# name: acl_1
# - aces:
# - remark: TEST_ACL_2_REMARK
# sequence: 10
# name: acl_2
# afi: ipv4
# - acls:
# - aces:
# - authen: true
# destination:
# any: true
# grant: deny
# log: true
# protocol: tcp
# protocol_options:
# tcp:
# syn: true
# routing: true
# sequence: 10
# source:
# port_protocol:
# range:
# end: telnet
# start: ftp
# prefix: 2001:db8:1234::/48
# ttl:
# range:
# end: 250
# start: 180
# - destination:
# any: true
# destopts: true
# grant: permit
# precedence: network
# protocol: icmpv6
# protocol_options:
# icmpv6:
# router_advertisement: true
# sequence: 20
# source:
# any: true
# name: acl6_1
# afi: ipv6
# Using rendered
- name: Render platform specific commands (without connecting to the device)
cisco.iosxr.iosxr_acls:
config:
- afi: ipv4
acls:
- name: acl_2
aces:
- sequence: 11
grant: permit
protocol: igmp
source:
host: 198.51.100.130
destination:
any: true
ttl:
eq: 100
- sequence: 12
grant: deny
source:
any: true
destination:
any: true
protocol: icmp
state: rendered
# Task Output (redacted)
# -----------------------
# rendered:
# - ipv4 access-list acl_2
# - 11 permit igmp host 198.51.100.130 any ttl eq 100
# - 12 deny icmp any any
# Using parsed
# parsed.cfg
# ------------
# ipv4 access-list acl_1
# 16 remark TEST_ACL_1_REMARK
# 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst
# 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12
# ipv4 access-list acl_2
# 10 remark TEST_ACL_2_REMARK
# ipv6 access-list acl6_1
# 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 routing authen log
# 20 permit icmpv6 any any router-advertisement precedence network destopts
- name: Parse externally provided ACL config to agnostic model
cisco.iosxr.iosxr_acls:
running_config: "{{ lookup('file', 'parsed.cfg') }}"
state: parsed
# Task Output (redacted)
# -----------------------
# parsed:
# - acls:
# - aces:
# - remark: TEST_ACL_1_REMARK
# sequence: 16
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# grant: permit
# protocol: tcp
# protocol_options:
# tcp:
# rst: true
# sequence: 21
# source:
# host: 192.0.2.10
# port_protocol:
# range:
# end: '121'
# start: pop3
# - destination:
# address: 198.51.100.0
# wildcard_bits: 0.0.0.15
# dscp:
# lt: af12
# grant: deny
# protocol: icmp
# protocol_options:
# icmp:
# reassembly_timeout: true
# sequence: 23
# source:
# any: true
# name: acl_1
# - aces:
# - remark: TEST_ACL_2_REMARK
# sequence: 10
# name: acl_2
# afi: ipv4
# - acls:
# - aces:
# - authen: true
# destination:
# any: true
# grant: deny
# log: true
# protocol: tcp
# protocol_options:
# tcp:
# syn: true
# routing: true
# sequence: 10
# source:
# port_protocol:
# range:
# end: telnet
# start: ftp
# prefix: 2001:db8:1234::/48
# ttl:
# range:
# end: 250
# start: 180
# - destination:
# any: true
# destopts: true
# grant: permit
# precedence: network
# protocol: icmpv6
# protocol_options:
# icmpv6:
# router_advertisement: true
# sequence: 20
# source:
# any: true
# name: acl6_1
# afi: ipv6
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
after список / элементы=строка | Результат вызова модели конфигурации. Возвращается: при изменении Пример: |
before список / элементы=строка | Конфигурация до вызова модели. Возвращается: всегда Пример: |
commands список / элементы=строка | Набор команд, отправленных на удалённое устройство. Возвращается: всегда Пример: |
gathered список / элементы=строка | Факты о сетевом ресурсе, собранные с удалённого устройства в виде структурированных данных. Возвращается: когда state — Пример: |
parsed список / элементы=строка | Родная конфигурация устройства, предоставленная в опции running_config, разобранная в структурированные данные в соответствии с аргументами модуля. Возвращается: когда state — Пример: |
rendered список / элементы=строка | Предоставленная в задаче конфигурация, рендеренная в формате, родном для устройства (оффлайн). Возвращается: когда state — Пример: |
Ссылки на коллекции
© 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/cisco/iosxr/iosxr_acls_module.html