Spec-Zone.ru › Ansible

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

Примечание

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

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

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

Чтобы использовать её в playbook, укажите: 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

Маска подсети.

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

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

Choices:

  • false
  • true

alternate_address

boolean

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

Choices:

  • false
  • true

conversion_error

boolean

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

Choices:

  • false
  • true

dod_host_prohibited

boolean

Хост запрещен

Choices:

  • false
  • true

dod_net_prohibited

boolean

Сеть запрещена

Choices:

  • false
  • true

echo

boolean

Эхо (ping)

Choices:

  • false
  • true

echo_reply

boolean

Ответ эхо

Choices:

  • false
  • true

echo_request

boolean

Запрос эхо (ping)

Choices:

  • false
  • true

general_parameter_problem

boolean

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

Choices:

  • false
  • true

host_isolated

boolean

Хост изолирован

Choices:

  • false
  • true

host_precedence_unreachable

boolean

Хост недоступен для приоритета

Choices:

  • false
  • true

host_redirect

boolean

Перенаправление хоста

Choices:

  • false
  • true

host_tos_redirect

boolean

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

Choices:

  • false
  • true

host_tos_unreachable

boolean

Хост недоступен для TOS

Choices:

  • false
  • true

host_unknown

boolean

Хост неизвестен

Choices:

  • false
  • true

host_unreachable

boolean

Хост недоступен

Choices:

  • false
  • true

information_reply

boolean

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

Choices:

  • false
  • true

information_request

boolean

Запросы информации

Choices:

  • false
  • true

mask_reply

boolean

Ответы маски

Choices:

  • false
  • true

mask_request

boolean

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

Choices:

  • false
  • true

message_code

integer

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

message_type

integer

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

mobile_redirect

boolean

Перенаправление мобильного хоста

Choices:

  • false
  • true

net_redirect

boolean

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

Choices:

  • false
  • true

net_tos_redirect

boolean

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

Choices:

  • false
  • true

net_tos_unreachable

boolean

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

Choices:

  • false
  • true

net_unreachable

boolean

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

Choices:

  • false
  • true

network_unknown

boolean

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

Choices:

  • false
  • true

no_room_for_option

boolean

Требуется параметр, но места нет

Choices:

  • false
  • true

option_missing

boolean

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

Choices:

  • false
  • true

packet_too_big

boolean

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

Choices:

  • false
  • true

parameter_problem

boolean

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

Choices:

  • false
  • true

port_unreachable

boolean

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

Choices:

  • false
  • true

precedence_unreachable

boolean

Превышение допустимого уровня приоритета

Choices:

  • false
  • true

protocol_unreachable

boolean

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

Choices:

  • false
  • true

reassembly_timeout

boolean

Превышение времени ожидания повторной сборки

Choices:

  • false
  • true

redirect

boolean

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

Choices:

  • false
  • true

router_advertisement

boolean

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

Choices:

  • 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

Traceroute

Варианты:

  • 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

Запрос Multicast Listener Discovery.

Варианты:

  • false
  • true

mld_reduction

boolean

Сокращение Multicast Listener Discovery.

Варианты:

  • false
  • true

mld_report

boolean

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

Choices:

  • false
  • true

mldv2

boolean

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

Choices:

  • false
  • true

nd_na

boolean

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

Choices:

  • false
  • true

nd_ns

boolean

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

Choices:

  • false
  • true

next_header

boolean

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

Choices:

  • false
  • true

no_admin

boolean

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

Choices:

  • false
  • true

no_route

boolean

Нет маршрута к назначению.

Choices:

  • false
  • true

packet_too_big

boolean

Пакет слишком большой.

Choices:

  • false
  • true

parameter_option

boolean

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

Choices:

  • false
  • true

parameter_problem

boolean

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

Choices:

  • false
  • true

port_unreachable

boolean

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

Choices:

  • false
  • true

reassembly_timeout

boolean

Превышено время ожидания сборки.

Choices:

  • false
  • true

renum_command

boolean

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

Choices:

  • false
  • true

renum_result

boolean

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

Choices:

  • false
  • true

renum_seq_number

boolean

Сброс номера последовательности переименования маршрутизатора.

Choices:

  • false
  • true

router_advertisement

boolean

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

Choices:

  • false
  • true

router_renumbering

boolean

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

Choices:

  • false
  • true

router_solicitation

boolean

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

Choices:

  • false
  • true

telemetry_path

boolean

Включен IPT.

Choices:

  • false
  • true

telemetry_queue

boolean

Поток интереса для BDC/HDC.

Choices:

  • false
  • true

time_exceeded

boolean

Все истекшие время.

Choices:

  • false
  • true

unreachable

boolean

Все недоступные.

Choices:

  • false
  • true

igmp

dictionary

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

dvmrp

boolean

Distance Vector Multicast Routing Protocol

Choices:

  • false
  • true

host_query

boolean

Запрос узла

Choices:

  • false
  • true

host_report

boolean

Отчет узла

Choices:

  • false
  • true

tcp

dictionary

Флаги TCP.

ack

boolean

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

Choices:

  • false
  • true

established

boolean

Сопоставление установленных соединений

Choices:

  • false
  • true

fin

boolean

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

Choices:

  • false
  • true

psh

boolean

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

Choices:

  • false
  • true

rst

boolean

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

Choices:

  • false
  • true

syn

boolean

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

Choices:

  • false
  • true

urg

boolean

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

Choices:

  • false
  • true

remark

string

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

sequence

integer

Порядковый номер.

source

dictionary

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

address

string

Исходный сетевой адрес.

any

boolean

Любой исходный адрес.

Choices:

  • 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 в соответствии с argspec модуля ресурса, а значение затем возвращается в ключе 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

словарь

Результат вызова модели конфигурации.

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

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

before

словарь

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

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

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

commands

список / элементы=строка

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

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

Пример: ["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

список / элементы=строка

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

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

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

parsed

список / элементы=строка

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

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

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

rendered

список / элементы=строка

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

Возвращается: когда 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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/cisco/nxos/nxos_acls_module.html

Spec-Zone.ru

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