Spec-Zone.ru › Ansible

модуль cisco.nxos.nxos_acls — модуль ресурсов ACL

Примечание

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

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

Для установки используйте: ansible-galaxy collection install cisco.nxos.

Чтобы использовать модуль в плейбуке, укажите: cisco.nxos.nxos_acls.

Добавлен в cisco.nxos 1.0.0

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

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

  • Управление именованными IP ACL на платформе Cisco NX-OS

Примечание

Этому модулю соответствует плагин действий.

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

Параметры

Параметр

Комментарии

config

list / elements=dictionary

Словарь параметров ACL.

acls

list / elements=dictionary

Список ACL.

aces

list / elements=dictionary

Записи ACL.

destination

dictionary

Укажите адрес назначения пакета.

address

string

Сетевой адрес назначения.

any

boolean

Любой адрес назначения.

Варианты:

  • false
  • true

host

string

IP-адрес узла.

port_protocol

dictionary

Укажите порт или протокол назначения (только для TCP и UDP).

eq

string

Сопоставлять только пакеты с указанным номером порта.

gt

string

Сопоставлять только пакеты с номером порта больше указанного.

lt

string

Сопоставлять только пакеты с номером порта меньше указанного.

neq

string

Сопоставлять только пакеты, не использующие указанный номер порта.

range

dictionary

Сопоставлять только пакеты с номерами портов из указанного диапазона.

end

string

Укажите конец диапазона портов.

start

string

Укажите начало диапазона портов.

prefix

string

Сетевой префикс назначения. Только для префиксов со значением меньше 31 для ipv4 и 127 для ipv6. Префиксы 32 (ipv4) и 128 (ipv6) следует указывать в ключе «host».

wildcard_bits

string

Биты маски wildcard назначения.

dscp

string

Сопоставлять пакеты с указанным значением DSCP.

fragments

boolean

Проверять не первые фрагменты.

Варианты:

  • false
  • true

grant

string

Действие, применяемое к правилу.

Варианты:

  • "permit"
  • "deny"

log

boolean

Записывать в журнал совпадения с этой записью.

Варианты:

  • false
  • true

precedence

string

Сопоставлять пакеты с указанным значением приоритета.

protocol

string

Укажите протокол.

protocol_options

dictionary

Все возможные подопции выбранного протокола.

icmp

dictionary

Параметры протокола ICMP.

administratively_prohibited

boolean

Административно запрещено

Варианты:

  • false
  • true

alternate_address

boolean

Альтернативный адрес

Варианты:

  • false
  • true

conversion_error

boolean

Преобразование дейтаграммы

Варианты:

  • false
  • true

dod_host_prohibited

boolean

Доступ к узлу запрещён

Варианты:

  • false
  • true

dod_net_prohibited

boolean

Доступ к сети запрещён

Варианты:

  • false
  • true

echo

boolean

Эхо (ping)

Варианты:

  • false
  • true

echo_reply

boolean

Эхо-ответ

Варианты:

  • false
  • true

echo_request

boolean

Эхо-запрос (ping)

Варианты:

  • false
  • true

general_parameter_problem

boolean

Проблема с параметром

Варианты:

  • false
  • true

host_isolated

boolean

Узел изолирован

Варианты:

  • false
  • true

host_precedence_unreachable

boolean

Узел недоступен для указанного приоритета

Варианты:

  • false
  • true

host_redirect

boolean

Перенаправление для узла

Варианты:

  • false
  • true

host_tos_redirect

boolean

Перенаправление для узла с указанным TOS

Варианты:

  • false
  • true

host_tos_unreachable

boolean

Узел недоступен для указанного TOS

Варианты:

  • false
  • true

host_unknown

boolean

Неизвестный узел

Варианты:

  • false
  • true

host_unreachable

boolean

Узел недоступен

Варианты:

  • false
  • true

information_reply

boolean

Информационные ответы

Варианты:

  • false
  • true

information_request

boolean

Информационные запросы

Варианты:

  • false
  • true

mask_reply

boolean

Ответы с маской

Варианты:

  • false
  • true

mask_request

boolean

Запросы маски

Варианты:

  • false
  • true

message_code

integer

Код сообщения ICMP

message_type

integer

Тип сообщения ICMP

mobile_redirect

boolean

Перенаправление для мобильного узла

Варианты:

  • false
  • true

net_redirect

boolean

Перенаправление для сети

Варианты:

  • false
  • true

net_tos_redirect

boolean

Перенаправление для сети с указанным TOS

Варианты:

  • false
  • true

net_tos_unreachable

boolean

Сеть недоступна для указанного TOS

Варианты:

  • false
  • true

net_unreachable

boolean

Сеть недоступна

Варианты:

  • false
  • true

network_unknown

boolean

Неизвестная сеть

Варианты:

  • false
  • true

no_room_for_option

boolean

Параметр требуется, но для него нет места

Варианты:

  • false
  • true

option_missing

boolean

Параметр требуется, но отсутствует

Варианты:

  • false
  • true

packet_too_big

boolean

Требуется фрагментация, установлен флаг DF

Варианты:

  • false
  • true

parameter_problem

boolean

Любые проблемы с параметрами

Варианты:

  • false
  • true

port_unreachable

boolean

Порт недоступен

Варианты:

  • false
  • true

precedence_unreachable

boolean

Превышен порог приоритета

Варианты:

  • false
  • true

protocol_unreachable

boolean

Протокол недоступен

Варианты:

  • false
  • true

reassembly_timeout

boolean

Истекло время ожидания сборки фрагментов

Варианты:

  • false
  • true

redirect

boolean

Все перенаправления

Варианты:

  • false
  • true

router_advertisement

boolean

Объявления обнаружения маршрутизаторов

Варианты:

  • false
  • true

router_solicitation

boolean

Запросы обнаружения маршрутизаторов

Варианты:

  • false
  • true

source_quench

boolean

Сообщения о перегрузке источника

Варианты:

  • false
  • true

source_route_failed

boolean

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

Варианты:

  • false
  • true

time_exceeded

boolean

Все сообщения о превышении времени ожидания.

Варианты:

  • false
  • true

timestamp_reply

boolean

Ответы с временной меткой

Варианты:

  • false
  • true

timestamp_request

boolean

Запросы временной метки

Варианты:

  • false
  • true

traceroute

boolean

Трассировка маршрута

Варианты:

  • false
  • true

ttl_exceeded

boolean

Превышено значение TTL

Варианты:

  • false
  • true

unreachable

boolean

Все сообщения о недоступности

Варианты:

  • false
  • true

icmpv6

dictionary

Параметры протокола ICMPv6.

beyond_scope

boolean

Адрес назначения находится за пределами области действия.

Варианты:

  • false
  • true

destination_unreachable

boolean

Адрес назначения недоступен.

Варианты:

  • false
  • true

echo_reply

boolean

Ответ на эхо-запрос.

Варианты:

  • false
  • true

echo_request

boolean

Эхо-запрос (ping).

Варианты:

  • false
  • true

fragments

boolean

Проверка нефинальных фрагментов.

Варианты:

  • false
  • true

header

boolean

Проблема с заголовком параметров.

Варианты:

  • false
  • true

hop_limit

boolean

Превышен лимит переходов при передаче.

Варианты:

  • false
  • true

mld_query

boolean

Запрос обнаружения слушателей многоадресной рассылки.

Варианты:

  • false
  • true

mld_reduction

boolean

Сокращение обмена сообщениями протокола обнаружения слушателей многоадресной рассылки.

Варианты:

  • false
  • true

mld_report

boolean

Отчёт протокола обнаружения слушателей многоадресной рассылки.

Варианты:

  • false
  • true

mldv2

boolean

Протокол обнаружения слушателей многоадресной рассылки.

Варианты:

  • false
  • true

nd_na

boolean

Объявления соседей протокола обнаружения соседей.

Варианты:

  • false
  • true

nd_ns

boolean

Запросы соседей протокола обнаружения соседей.

Варианты:

  • false
  • true

next_header

boolean

Проблемы с заголовком следующего уровня.

Варианты:

  • false
  • true

no_admin

boolean

Административно запрещённое назначение.

Варианты:

  • false
  • true

no_route

boolean

Маршрут к назначению отсутствует.

Варианты:

  • false
  • true

packet_too_big

boolean

Слишком большой пакет.

Варианты:

  • false
  • true

parameter_option

boolean

Проблемы с параметром.

Варианты:

  • false
  • true

parameter_problem

boolean

Все сообщения о проблемах с параметрами.

Варианты:

  • false
  • true

port_unreachable

boolean

Порт недоступен.

Варианты:

  • false
  • true

reassembly_timeout

boolean

Истекло время ожидания сборки фрагментов.

Варианты:

  • false
  • true

renum_command

boolean

Команда перенумерации маршрутизатора.

Варианты:

  • false
  • true

renum_result

boolean

Результат перенумерации маршрутизатора.

Варианты:

  • false
  • true

renum_seq_number

boolean

Сброс порядкового номера перенумерации маршрутизатора.

Варианты:

  • false
  • true

router_advertisement

boolean

Объявления маршрутизатора протокола обнаружения соседей.

Варианты:

  • false
  • true

router_renumbering

boolean

Все сообщения о перенумерации маршрутизатора.

Варианты:

  • false
  • true

router_solicitation

boolean

Запросы маршрутизатора протокола обнаружения соседей.

Варианты:

  • false
  • true

telemetry_path

boolean

IPT включён.

Варианты:

  • false
  • true

telemetry_queue

boolean

Интересующий поток для BDC/HDC.

Варианты:

  • false
  • true

time_exceeded

boolean

Все сообщения о превышении времени ожидания.

Варианты:

  • false
  • true

unreachable

boolean

Все сообщения о недоступности.

Варианты:

  • false
  • true

igmp

dictionary

Параметры протокола IGMP.

dvmrp

boolean

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

Варианты:

  • false
  • true

host_query

boolean

Запрос узла

Варианты:

  • false
  • true

host_report

boolean

Отчёт узла

Варианты:

  • false
  • true

tcp

dictionary

Флаги TCP.

ack

boolean

Сопоставление по биту ACK

Варианты:

  • false
  • true

established

boolean

Сопоставление с установленными соединениями

Варианты:

  • false
  • true

fin

boolean

Сопоставление по биту FIN

Варианты:

  • false
  • true

psh

boolean

Сопоставление по биту PSH

Варианты:

  • false
  • true

rst

boolean

Сопоставление по биту RST

Варианты:

  • false
  • true

syn

boolean

Сопоставление по биту SYN

Варианты:

  • false
  • true

urg

boolean

Сопоставление по биту URG

Варианты:

  • false
  • true

remark

string

Комментарий к записи списка контроля доступа.

sequence

integer

Номер последовательности.

source

dictionary

Укажите источник пакета.

address

string

Сетевой адрес источника.

any

boolean

Любой адрес источника.

Варианты:

  • false
  • true

host

string

IP-адрес узла.

port_protocol

dictionary

Укажите порт назначения или протокол (только для TCP и UDP).

eq

string

Сопоставлять только пакеты с указанным номером порта.

gt

string

Сопоставлять только пакеты с номером порта больше указанного.

lt

string

Сопоставлять только пакеты с номером порта меньше указанного.

neq

string

Сопоставлять только пакеты, не использующие указанный номер порта.

range

dictionary

Сопоставлять только пакеты, номера портов которых входят в указанный диапазон.

end

string

Укажите конец диапазона портов.

start

string

Укажите начало диапазона портов.

prefix

string

Сетевой префикс источника. Только для префиксов с длиной маски менее 31 для IPv4 и 127 для IPv6. Префиксы с маской 32 (IPv4) и 128 (IPv6) следует указывать в ключе ‘host’.

wildcard_bits

string

Биты маски источника.

name

string / обязательный

Имя ACL.

afi

string / обязательный

Индикатор семейства адресов (AFI) для ACL.

Варианты:

  • "ipv4"
  • "ipv6"

running_config

string

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

Значением этого параметра должен быть вывод, полученный с устройства NX-OS при выполнении команды show running-config | section ‘ip(v6* access-list).

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

state

string

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

Варианты:

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

Примечания

Примечание

  • Проверено на NX-OS 7.3.(0)D1(1) в VIRL
  • Не поддерживается на Cisco MDS
  • Поскольку NX-OS позволяет повторно настроить правило с другими номерами последовательности, пользователю необходимо указать номера последовательности для записей контроля доступа, чтобы обеспечить идемпотентность. Если номер последовательности не указан, устройство добавит правило как новое.

Примеры

# Using merged

# Before state:
# -------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'

- name: Merge provided ACLs configuration with device configuration
  cisco.nxos.nxos_acls:
    state: merged
    config:
      - afi: ipv4
        acls:
          - name: ACL1v4
            aces:
              - grant: deny
                destination:
                  address: 192.0.2.64
                  wildcard_bits: 0.0.0.255
                source:
                  any: true
                  port_protocol:
                    lt: 55
                protocol: tcp
                protocol_options:
                  tcp:
                    ack: true
                    fin: true
                sequence: 50

      - afi: ipv6
        acls:
          - name: ACL1v6
            aces:
              - grant: permit
                sequence: 10
                source:
                  any: true
                destination:
                  prefix: 2001:db8:12::/32
                protocol: sctp

# Task Output
# -----------
# before: []
#
# commands:
# - ip access-list ACL1v4
# - 50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin
# - ipv6 access-list ACL1v6
# - 10 permit sctp any 2001:db8:12::/32
#
# after:
#  - acls:
#    - aces:
#      - destination:
#          prefix: 2001:db8:12::/32
#        grant: permit
#        protocol: sctp
#        sequence: 10
#        source:
#          any: true
#      name: ACL1v6
#    afi: ipv6
#  - acls:
#    - aces:
#      - destination:
#          address: 192.0.2.64
#          wildcard_bits: 0.0.0.255
#        grant: deny
#        protocol: tcp
#        protocol_options:
#          tcp:
#            ack: true
#            fin: true
#        sequence: 50
#        source:
#          any: true
#          port_protocol:
#            lt: '55'
#      name: ACL1v4
#    afi: ipv4


# After state:
# ------------
#
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# ip access-list ACL1v4
#  50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin
# ipv6 access-list ACL1v6
#  10 permit sctp any any

# Using replaced

# Before state:
# ----------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# ip access-list ACL1v4
#   10 permit ip any any
#   20 deny udp any any
# ip access-list ACL2v4
#   10 permit ahp 192.0.2.0 0.0.0.255 any
# ipv6 access-list ACL1v6
#   10 permit sctp any any
#   20 remark IPv6 ACL
# ipv6 access-list ACL2v6
#  10 deny ipv6 any 2001:db8:3000::/36
#  20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128

- name: Replace existing ACL configuration with provided configuration
  cisco.nxos.nxos_acls:
    config:
      - afi: ipv4
      - afi: ipv6
        acls:
          - name: ACL1v6
            aces:
              - sequence: 20
                grant: permit
                source:
                  any: true
                destination:
                  any: true
                protocol: pim

              - remark: Replaced ACE
          - name: ACL2v6
    state: replaced

# Task Output
# -----------
# before:
#  - acls:
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: sctp
#        sequence: 10
#        source:
#          any: true
#      - remark: IPv6 ACL
#        sequence: 20
#      name: ACL1v6
#    - aces:
#      - destination:
#          prefix: 2001:db8:3000::/36
#        grant: deny
#        protocol: ipv6
#        sequence: 10
#        source:
#          any: true
#      - destination:
#          host: 2001:db8:2000:ab::2
#        grant: permit
#        protocol: tcp
#        sequence: 20
#        source:
#          host: 2001:db8:2000:2::2
#      name: ACL2v6
#    afi: ipv6
#  - acls:
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: ip
#        sequence: 10
#        source:
#          any: true
#      - destination:
#          any: true
#        grant: deny
#        protocol: udp
#        sequence: 20
#        source:
#          any: true
#      name: ACL1v4
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: ahp
#        sequence: 10
#        source:
#          address: 192.0.2.0
#          wildcard_bits: 0.0.0.255
#      name: ACL2v4
#    afi: ipv4
#
# commands:
#  - no ip access-list ACL1v4
#  - no ip access-list ACL2v4
#  - ipv6 access-list ACL1v6
#  - no 10 permit sctp any any
#  - no 20 remark IPv6 ACL
#  - remark Replaced ACE
#  - 20 permit pim any any
#  - ipv6 access-list ACL2v6
#  - no 10 deny ipv6 any 2001:db8:3000::/36
#  - no 20 permit tcp host 2001:db8:2000:2::2 host 2001:db8:2000:ab::2
#
# after:
#  - acls:
#    - aces:
#      - remark: Replaced ACE
#        sequence: 10
#      - destination:
#          any: true
#        grant: permit
#        protocol: pim
#        sequence: 20
#        source:
#          any: true
#      name: ACL1v6
#    - name: ACL2v6
#    afi: ipv6

# After state:
# ---------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# ipv6 access-list ACL1v6
#   10 remark Replaced ACE
#   20 permit pim any any
# ipv6 access-list ACL2v6

# Using overridden

# Before state:
# ----------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# ip access-list ACL1v4
#   10 permit ip any any
#   20 deny udp any any
# ip access-list ACL2v4
#   10 permit ahp 192.0.2.0 0.0.0.255 any
# ipv6 access-list ACL1v6
#   10 permit sctp any any
#   20 remark IPv6 ACL
# ipv6 access-list ACL2v6
#  10 deny ipv6 any 2001:db8:3000::/36
#  20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128

- name: Override existing configuration with provided configuration
  cisco.nxos.nxos_acls:
    config:
      - afi: ipv4
        acls:
          - name: NewACL
            aces:
              - grant: deny
                source:
                  address: 192.0.2.0
                  wildcard_bits: 0.0.255.255
                destination:
                  any: true
                protocol: eigrp
              - remark: Example for overridden state
    state: overridden

# Task Output
# -----------
#
# before:
#  - acls:
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: sctp
#        sequence: 10
#        source:
#          any: true
#      - remark: IPv6 ACL
#        sequence: 20
#      name: ACL1v6
#    - aces:
#      - destination:
#          prefix: 2001:db8:3000::/36
#        grant: deny
#        protocol: ipv6
#        sequence: 10
#        source:
#          any: true
#     - destination:
#          host: 2001:db8:2000:ab::2
#        grant: permit
#        protocol: tcp
#        sequence: 20
#        source:
#          host: 2001:db8:2000:2::2
#      name: ACL2v6
#    afi: ipv6
#  - acls:
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: ip
#        sequence: 10
#        source:
#          any: true
#      - destination:
#          any: true
#        grant: deny
#        protocol: udp
#        sequence: 20
#        source:
#          any: true
#      name: ACL1v4
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: ahp
#        sequence: 10
#        source:
#          address: 192.0.2.0
#          wildcard_bits: 0.0.0.255
#      name: ACL2v4
#    afi: ipv4
#
# commands:
#  - no ipv6 access-list ACL1v6
#  - no ipv6 access-list ACL2v6
#  - no ip access-list ACL1v4
#  - no ip access-list ACL2v4
#  - ip access-list NewACL
#  - deny eigrp 192.0.2.0 0.0.255.255 any
#  - remark Example for overridden state
#
# after:
#  - acls:
#    - aces:
#      - destination:
#          any: true
#        grant: deny
#        protocol: eigrp
#        sequence: 10
#        source:
#          address: 192.0.2.0
#          wildcard_bits: 0.0.255.255
#      - remark: Example for overridden state
#        sequence: 20
#      name: NewACL
#    afi: ipv4

# After state:
# ------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# ip access-list NewACL
#   10 deny eigrp 192.0.2.0 0.0.255.255 any
#   20 remark Example for overridden state

# Using deleted - delete all
#
# Before state:
# -------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# ip access-list ACL1v4
#   10 permit ip any any
#   20 deny udp any any
# ip access-list ACL2v4
#   10 permit ahp 192.0.2.0 0.0.0.255 any
# ip access-list ACL1v6
#   10 permit sctp any any
#   20 remark IPv6 ACL
# ip access-list ACL2v6
#  10 deny ipv6 any 2001:db8:3000::/36
#  20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128

- name: Delete all ACLs
  cisco.nxos.nxos_acls:
    state: deleted

# Task Output
# -----------
#
# before:
#  - acls:
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: sctp
#        sequence: 10
#        source:
#          any: true
#      - remark: IPv6 ACL
#        sequence: 20
#      name: ACL1v6
#    - aces:
#      - destination:
#          prefix: 2001:db8:3000::/36
#        grant: deny
#        protocol: ipv6
#        sequence: 10
#        source:
#          any: true
#     - destination:
#          host: 2001:db8:2000:ab::2
#        grant: permit
#        protocol: tcp
#        sequence: 20
#        source:
#          host: 2001:db8:2000:2::2
#      name: ACL2v6
#    afi: ipv6
#  - acls:
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: ip
#        sequence: 10
#        source:
#          any: true
#      - destination:
#          any: true
#        grant: deny
#        protocol: udp
#        sequence: 20
#        source:
#          any: true
#      name: ACL1v4
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: ahp
#        sequence: 10
#        source:
#          address: 192.0.2.0
#          wildcard_bits: 0.0.0.255
#      name: ACL2v4
#    afi: ipv4
#
# commands:
#  - no ip access-list ACL1v4
#  - no ip access-list ACL2v4
#  - no ipv6 access-list ACL1v6
#  - no ipv6 access-list ACL2v6
#
# after: []


# After state:
# -----------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
#

# Using deleted - delete AFI

# Before state:
# -------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# ip access-list ACL1v4
#   10 permit ip any any
#   20 deny udp any any
# ip access-list ACL2v4
#   10 permit ahp 192.0.2.0 0.0.0.255 any
# ip access-list ACL1v6
#   10 permit sctp any any
#   20 remark IPv6 ACL
# ip access-list ACL2v6
#  10 deny ipv6 any 2001:db8:3000::/36
#  20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128

- name: Delete all ACLs in given AFI
  cisco.nxos.nxos_acls:
    config:
      - afi: ipv4
    state: deleted

# Task Output
# -----------
#
# before:
#  - acls:
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: sctp
#        sequence: 10
#        source:
#          any: true
#      - remark: IPv6 ACL
#        sequence: 20
#      name: ACL1v6
#    - aces:
#      - destination:
#          prefix: 2001:db8:3000::/36
#        grant: deny
#        protocol: ipv6
#        sequence: 10
#        source:
#          any: true
#     - destination:
#          host: 2001:db8:2000:ab::2
#        grant: permit
#        protocol: tcp
#        sequence: 20
#        source:
#          host: 2001:db8:2000:2::2
#      name: ACL2v6
#    afi: ipv6
#  - acls:
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: ip
#        sequence: 10
#        source:
#          any: true
#      - destination:
#          any: true
#        grant: deny
#        protocol: udp
#        sequence: 20
#        source:
#          any: true
#      name: ACL1v4
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: ahp
#        sequence: 10
#        source:
#          address: 192.0.2.0
#          wildcard_bits: 0.0.0.255
#      name: ACL2v4
#    afi: ipv4
#
# commands:
#  - no ip access-list ACL1v4
#  - no ip access-list ACL2v4
#
# after:
#  - acls:
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: sctp
#        sequence: 10
#        source:
#          any: true
#      - remark: IPv6 ACL
#        sequence: 20
#      name: ACL1v6
#    - aces:
#      - destination:
#          prefix: 2001:db8:3000::/36
#        grant: deny
#        protocol: ipv6
#        sequence: 10
#        source:
#          any: true
#     - destination:
#          host: 2001:db8:2000:ab::2
#        grant: permit
#        protocol: tcp
#        sequence: 20
#        source:
#          host: 2001:db8:2000:2::2
#      name: ACL2v6
#    afi: ipv6

# After state:
# ------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# ip access-list ACL1v6
#   10 permit sctp any any
#   20 remark IPv6 ACL
# ip access-list ACL2v6
#  10 deny ipv6 any 2001:db8:3000::/36
#  20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128

# Using deleted - delete ACLs

# Before state:
# -------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# ip access-list ACL1v4
#   10 permit ip any any
#   20 deny udp any any
# ip access-list ACL2v4
#   10 permit ahp 192.0.2.0 0.0.0.255 any
# ipv6 access-list ACL1v6
#   10 permit sctp any any
#   20 remark IPv6 ACL
# ipv6 access-list ACL2v6
#  10 deny ipv6 any 2001:db8:3000::/36
#  20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128

- name: Delete specific ACLs
  cisco.nxos.nxos_acls:
    state: deleted
    config:
      - afi: ipv4
        acls:
          - name: ACL1v4
          - name: ACL2v4
      - afi: ipv6
        acls:
          - name: ACL1v6

# Task Output
# -----------
#
# before:
#  - acls:
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: sctp
#        sequence: 10
#        source:
#          any: true
#      - remark: IPv6 ACL
#        sequence: 20
#      name: ACL1v6
#    - aces:
#      - destination:
#          prefix: 2001:db8:3000::/36
#        grant: deny
#        protocol: ipv6
#        sequence: 10
#        source:
#          any: true
#     - destination:
#          host: 2001:db8:2000:ab::2
#        grant: permit
#        protocol: tcp
#        sequence: 20
#        source:
#          host: 2001:db8:2000:2::2
#      name: ACL2v6
#    afi: ipv6
#  - acls:
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: ip
#        sequence: 10
#        source:
#          any: true
#      - destination:
#          any: true
#        grant: deny
#        protocol: udp
#        sequence: 20
#        source:
#          any: true
#      name: ACL1v4
#    - aces:
#      - destination:
#          any: true
#        grant: permit
#        protocol: ahp
#        sequence: 10
#        source:
#          address: 192.0.2.0
#          wildcard_bits: 0.0.0.255
#      name: ACL2v4
#    afi: ipv4
#
# commands:
#  - no ip access-list ACL1v4
#  - no ip access-list ACL2v4
#  - no ipv6 access-list ACL1v6
#
# after:
#  - acls:
#    - aces:
#      - destination:
#          prefix: 2001:db8:3000::/36
#        grant: deny
#        protocol: ipv6
#        sequence: 10
#        source:
#          any: true
#      - destination:
#          host: 2001:db8:2000:ab::2
#        grant: permit
#        protocol: tcp
#        sequence: 20
#        source:
#          host: 2001:db8:2000:2::2
#      name: ACL2v6
#    afi: ipv6

# After state:
# ------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# ipv6 access-list ACL2v6
#  10 deny ipv6 any 2001:db8:3000::/36
#  20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128

# Using parsed

- name: Parse given config to structured data
  cisco.nxos.nxos_acls:
    running_config: |
      ip access-list ACL1v4
        50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin
      ipv6 access-list ACL1v6
        10 permit sctp any any
    state: parsed

# Task Output
# ------------
#
# parsed:
# - afi: ipv4
#   acls:
#     - name: ACL1v4
#       aces:
#         - grant: deny
#           destination:
#             address: 192.0.2.64
#             wildcard_bits: 0.0.0.255
#           source:
#             any: true
#             port_protocol:
#               lt: 55
#           protocol: tcp
#           protocol_options:
#             tcp:
#               ack: true
#               fin: true
#           sequence: 50
#
# - afi: ipv6
#   acls:
#     - name: ACL1v6
#       aces:
#         - grant: permit
#           sequence: 10
#           source:
#             any: true
#           destination:
#             prefix: 2001:db8:12::/32
#           protocol: sctp


# Using gathered:

# Before state:
# ------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# ip access-list ACL1v4
#  50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin
# ipv6 access-list ACL1v6
#  10 permit sctp any any

- name: Gather existing configuration
  cisco.nxos.nxos_acls:
    state: gathered

# Task Output
# -----------
#
# gathered:
# - afi: ipv4
#   acls:
#     - name: ACL1v4
#       aces:
#         - grant: deny
#           destination:
#             address: 192.0.2.64
#             wildcard_bits: 0.0.0.255
#           source:
#             any: true
#             port_protocol:
#               lt: 55
#           protocol: tcp
#           protocol_options:
#             tcp:
#               ack: true
#               fin: true
#           sequence: 50

# - afi: ipv6
#   acls:
#     - name: ACL1v6
#       aces:
#         - grant: permit
#           sequence: 10
#           source:
#             any: true
#           destination:
#             prefix: 2001:db8:12::/32
#           protocol: sctp


# Using rendered

- name: Render required configuration to be pushed to the device
  cisco.nxos.nxos_acls:
    config:
      - afi: ipv4
        acls:
          - name: ACL1v4
            aces:
              - grant: deny
                destination:
                  address: 192.0.2.64
                  wildcard_bits: 0.0.0.255
                source:
                  any: true
                  port_protocol:
                    lt: 55
                protocol: tcp
                protocol_options:
                  tcp:
                    ack: true
                    fin: true
                sequence: 50
      - afi: ipv6
        acls:
          - name: ACL1v6
            aces:
              - grant: permit
                sequence: 10
                source:
                  any: true
                destination:
                  prefix: '2001:db8:12::/32'
                protocol: sctp
    state: rendered


# Task Output
# -----------
#
# rendered:
#  ip access-list ACL1v4
#   50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin
#  ipv6 access-list ACL1v6
#   10 permit sctp any any

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

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

Ключ

Описание

after

dictionary

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

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

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

before

dictionary

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

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

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

commands

list / elements=string

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

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

Пример: ["ip access-list ACL1v4", "10 permit ip any any precedence critical log", "20 deny tcp any lt smtp host 192.0.2.64 ack fin"]

gathered

list / elements=string

Факты о сетевом ресурсе, собранные с удалённого устройства в виде структурированных данных.

Возвращается: когда state равно gathered

Пример: ["This output will always be in the same format as the module argspec.\n"]

parsed

list / elements=string

Собственная конфигурация устройства, переданная в параметре running_config и преобразованная в структурированные данные согласно спецификации аргументов модуля.

Возвращается: когда state равно parsed

Пример: ["This output will always be in the same format as the module argspec.\n"]

rendered

list / elements=string

Переданная в задаче конфигурация преобразована в собственный формат устройства (без подключения к устройству).

Возвращается: когда state равно rendered

Пример: ["ip access-list ACL1v4", "10 permit ip any any precedence critical log", "20 deny tcp any lt smtp host 192.0.2.64 ack fin"]

Авторы

  • Adharsh Srivats Rangarajan (@adharshsrivatsr)

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

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

© 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/nxos/nxos_acls_module.html

Spec-Zone.ru

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