Модуль arista.eos.eos_prefix_lists — управление ресурсом списков префиксов
Примечание
Этот модуль входит в коллекцию arista.eos (версия 12.1.2).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install arista.eos.
Чтобы использовать ее в плейбуке, укажите: arista.eos.eos_prefix_lists.
Добавлено в arista.eos 2.2.0
Краткое описание
- Этот модуль настраивает атрибуты списков префиксов на платформах Arista EOS и управляет ими.
Примечание
Для этого модуля существует соответствующий модуль действий.
Псевдонимы: prefix_lists
Параметры
Параметр | Комментарии |
|---|---|
config list / elements=dictionary | Список словарей с параметрами списков префиксов |
|
afi string / обязательный |
Индикатор семейства адресов (AFI) для списка префиксов. Варианты:
|
|
prefix_lists list / elements=dictionary |
Список списков префиксов. |
|
entries list / elements=dictionary |
Список списков префиксов |
|
action string |
Действие, выполняемое для указанного пути Варианты:
|
|
address string |
Адрес IPv4/IPv6 в формате префикс-маска или адрес-длина маски |
|
match dictionary |
Сопоставление длины маски |
|
masklen integer |
Длина маски. |
|
operator string |
Равно/больше/меньше Варианты:
|
|
resequence dictionary |
Изменить последовательность элементов списка. |
|
default boolean |
Изменить последовательность, используя значения по умолчанию (10). Варианты:
|
|
start_seq integer |
Начальный номер последовательности. |
|
step integer |
Шаг увеличения номера последовательности. |
|
sequence integer |
Номер последовательности |
|
name string / обязательный |
Имя списка префиксов |
running_config string | Этот параметр используется только при состоянии parsed. Значением этого параметра должен быть вывод, полученный с устройства EOS при выполнении команды show running-config | section access-list. При состоянии parsed конфигурация считывается из параметра |
state string | Состояние, в котором должна остаться конфигурация. Варианты:
|
Примечания
Примечание
- Проверено на Arista EOS 4.24.6F
- Этот модуль работает с подключением
network_cli. См. параметры платформы EOS.
Примеры
# Using merged
# Before state
# veos#show running-config | section prefix-lists
# veos#
- name: Merge provided configuration with device configuration
arista.eos.eos_prefix_lists:
config:
- afi: "ipv4"
prefix_lists:
- name: "v401"
entries:
- sequence: 25
action: "deny"
address: "45.55.4.0/24"
- sequence: 100
action: "permit"
address: "11.11.2.0/24"
match:
masklen: 32
operator: "ge"
- name: "v402"
entries:
- action: "deny"
address: "10.1.1.0/24"
sequence: 10
match:
masklen: 32
operator: "ge"
- afi: "ipv6"
prefix_lists:
- name: "v601"
entries:
- sequence: 125
action: "deny"
address: "5000:1::/64"
# Task Output
# -------------
# before: {}
# commands:
# - ipv6 prefix-list v601
# - seq 125 deny 5000:1::/64
# - ip prefix-list v401
# - seq 25 deny 45.55.4.0/24
# - seq 100 permit 11.11.2.0/24 ge 32
# - ip prefix-list v402
# - seq 10 deny 10.1.1.0/24 ge 32
# after:
# - afi: ipv4
# prefix_lists:
# - entries:
# - action: deny
# address: 45.55.4.0/24
# sequence: 25
# - action: permit
# address: 11.11.2.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 100
# name: v401
# - entries:
# - action: deny
# address: 10.1.1.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 10
# name: v402
# - afi: ipv6
# prefix_lists:
# - entries:
# - action: deny
# address: 5000:1::/64
# sequence: 125
# name: v601
# After state:
# ------------
# veos#
# veos#show running-config | section prefix-list
# ip prefix-list v401
# seq 25 deny 45.55.4.0/24
# seq 100 permit 11.11.2.0/24 ge 32
# !
# ip prefix-list v402
# seq 10 deny 10.1.1.0/24 ge 32
# !
# ipv6 prefix-list v601
# seq 125 deny 5000:1::/64
# veos#
# Using merged:
# Failure scenario : 'merged' should not be used when an existing prefix-list (sequence number)
# is to be modified.
# veos#show running-config | section prefix-list
# ip prefix-list v401
# seq 25 deny 45.55.4.0/24
# seq 100 permit 11.11.2.0/24 ge 32
# !
# ip prefix-list v402
# seq 10 deny 10.1.1.0/24 ge 32
# !
# ipv6 prefix-list v601
# seq 125 deny 5000:1::/64
# veos#
- name: Merge provided configuration with device configuration
arista.eos.eos_prefix_lists:
config:
- afi: "ipv4"
prefix_lists:
- name: "v401"
entries:
- sequence: 25
action: "deny"
address: "45.55.4.0/24"
match:
masklen: 32
operator: "ge"
- sequence: 100
action: "permit"
address: "11.11.2.0/24"
match:
masklen: 32
operator: "ge"
- name: "v402"
entries:
- action: "deny"
address: "10.1.1.0/24"
sequence: 10
match:
masklen: 32
operator: "ge"
- afi: "ipv6"
prefix_lists:
- name: "v601"
entries:
- sequence: 125
action: "deny"
address: "5000:1::/64"
state: merged
# Task Output
# -------------
# changed: false
# invocation:
# module_args:
# config:
# - afi: ipv4
# prefix_lists:
# - entries:
# - action: deny
# address: 45.55.4.0/24
# match:
# masklen: 32
# operator: ge
# resequence:
# sequence: 25
# - action: permit
# address: 11.11.2.0/24
# match:
# masklen: 32
# operator: ge
# resequence:
# sequence: 100
# name: v401
# - entries:
# - action: deny
# address: 10.1.1.0/24
# match:
# masklen: 32
# operator: ge
# resequence:
# sequence: 10
# name: v402
# - afi: ipv6
# prefix_lists:
# - entries:
# - action: deny
# address: 5000:1::/64
# match:
# resequence:
# sequence: 125
# name: v601
# running_config:
# state: merged
# msg: Sequence number 25 is already present. Use replaced/overridden operation to change
# the configuration
# Using Replaced:
# Before state:
# veos#show running-config | section prefix-list
# ip prefix-list v401
# seq 25 deny 45.55.4.0/24
# seq 100 permit 11.11.2.0/24 ge 32
# !
# ip prefix-list v402
# seq 10 deny 10.1.1.0/24 ge 32
# !
# ipv6 prefix-list v601
# seq 125 deny 5000:1::/64
# veos#
- name: Replace Provided configuration with given configuration
arista.eos.eos_prefix_lists:
config:
- afi: "ipv4"
prefix_lists:
- name: "v401"
entries:
- sequence: 25
action: "deny"
address: "45.55.4.0/24"
match:
masklen: 32
operator: "ge"
- sequence: 200
action: "permit"
address: "200.11.2.0/24"
match:
masklen: 32
operator: "ge"
state: replaced
# Task Output
# -------------
# before:
# - afi: ipv4
# prefix_lists:
# - entries:
# - action: deny
# address: 45.55.4.0/24
# sequence: 25
# - action: permit
# address: 11.11.2.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 100
# name: v401
# - entries:
# - action: deny
# address: 10.1.1.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 10
# name: v402
# - afi: ipv6
# prefix_lists:
# - entries:
# - action: deny
# address: 5000:1::/64
# sequence: 125
# name: v601
# commands:
# - ip prefix-list v401
# - no seq 25
# - seq 25 deny 45.55.4.0/24 ge 32
# - seq 200 permit 200.11.2.0/24 ge 32
# - no seq 100
# - no ip prefix-list v402
# after:
# - afi: ipv4
# prefix_lists:
# - entries:
# - action: deny
# address: 45.55.4.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 25
# - action: permit
# address: 200.11.2.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 200
# name: v401
# - afi: ipv6
# prefix_lists:
# - entries:
# - action: deny
# address: 5000:1::/64
# sequence: 125
# name: v601
# After State:
# veos#show running-config | section prefix-list
# ip prefix-list v401
# seq 25 deny 45.55.4.0/24 ge 32
# seq 200 permit 200.11.2.0/24 ge 32
# !
# ipv6 prefix-list v601
# seq 125 deny 5000:1::/64
# veos#
#
#
# Using overridden:
# Before State:
# veos#show running-config | section prefix-list
# ip prefix-list v401
# seq 25 deny 45.55.4.0/24 ge 32
# seq 100 permit 11.11.2.0/24 ge 32
# seq 200 permit 200.11.2.0/24 ge 32
# !
# ip prefix-list v402
# seq 10 deny 10.1.1.0/24 ge 32
# !
# ipv6 prefix-list v601
# seq 125 deny 5000:1::/64
# veos#
- name: Override
arista.eos.eos_prefix_lists:
config:
- afi: "ipv4"
prefix_lists:
- name: "v401"
entries:
- sequence: 25
action: "deny"
address: "45.55.4.0/24"
- sequence: 300
action: "permit"
address: "30.11.2.0/24"
match:
masklen: 32
operator: "ge"
- name: "v403"
entries:
- action: "deny"
address: "10.1.1.0/24"
sequence: 10
state: overridden
# Task Output
# -------------
# before:
# - afi: ipv4
# prefix_lists:
# - entries:
# - action: deny
# address: 45.55.4.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 25
# - action: permit
# address: 11.11.2.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 100
# - action: permit
# address: 200.11.2.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 200
# name: v401
# - entries:
# - action: deny
# address: 10.1.1.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 10
# name: v402
# - afi: ipv6
# prefix_lists:
# - entries:
# - action: deny
# address: 5000:1::/64
# sequence: 125
# name: v601
# commands:
# - no ipv6 prefix-list v601
# - ip prefix-list v401
# - seq 25 deny 45.55.4.0/24
# - seq 300 permit 30.11.2.0/24 ge 32
# - no seq 100
# - no seq 200
# - ip prefix-list v403
# - seq 10 deny 10.1.1.0/24
# - no ip prefix-list v402
# after:
# - afi: ipv4
# prefix_lists:
# - entries:
# - action: deny
# address: 45.55.4.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 25
# - action: permit
# address: 30.11.2.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 300
# name: v401
# - entries:
# - action: deny
# address: 10.1.1.0/24
# sequence: 10
# name: v403
# After State
# veos#
# veos#show running-config | section prefix-list
# ip prefix-list v401
# seq 25 deny 45.55.4.0/24 ge 32
# seq 300 permit 30.11.2.0/24 ge 32
# !
# ip prefix-list v403
# seq 10 deny 10.1.1.0/24
# veos#
# Using deleted:
# Before State:
# veos#show running-config | section prefix-list
# ip prefix-list v401
# seq 25 deny 45.55.4.0/24 ge 32
# seq 100 permit 11.11.2.0/24 ge 32
# seq 300 permit 30.11.2.0/24 ge 32
# !
# ip prefix-list v402
# seq 10 deny 10.1.1.0/24 ge 32
# !
# ip prefix-list v403
# seq 10 deny 10.1.1.0/24
# !
# ipv6 prefix-list v601
# seq 125 deny 5000:1::/64
# veos#
- name: Delete device configuration
arista.eos.eos_prefix_lists:
config:
- afi: "ipv6"
state: deleted
# Task Output
# -------------
# before:
# - afi: ipv4
# prefix_lists:
# - entries:
# - action: deny
# address: 45.55.4.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 25
# - action: permit
# address: 11.11.2.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 100
# - action: permit
# address: 30.11.2.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 300
# name: v401
# - entries:
# - action: deny
# address: 10.1.1.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 10
# name: v402
# - entries:
# - action: deny
# address: 10.1.1.0/24
# sequence: 10
# name: v403
# - afi: ipv6
# prefix_lists:
# - entries:
# - action: deny
# address: 5000:1::/64
# sequence: 125
# name: v601
# commands:
# - no ipv6 prefix-list v601
# after:
# - afi: ipv4
# prefix_lists:
# - entries:
# - action: deny
# address: 45.55.4.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 25
# - action: permit
# address: 11.11.2.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 100
# - action: permit
# address: 30.11.2.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 300
# name: v401
# - entries:
# - action: deny
# address: 10.1.1.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 10
# name: v402
# - entries:
# - action: deny
# address: 10.1.1.0/24
# sequence: 10
# name: v403
# after State:
# veos#show running-config | section prefix-list
# ip prefix-list v401
# seq 25 deny 45.55.4.0/24 ge 32
# seq 100 permit 11.11.2.0/24 ge 32
# seq 300 permit 30.11.2.0/24 ge 32
# !
# ip prefix-list v402
# seq 10 deny 10.1.1.0/24 ge 32
# !
# ip prefix-list v403
# seq 10 deny 10.1.1.0/24
#
# Using deleted
# Before state:
# veos#show running-config | section prefix-list
# ip prefix-list v401
# seq 25 deny 45.55.4.0/24 ge 32
# seq 100 permit 11.11.2.0/24 ge 32
# seq 300 permit 30.11.2.0/24 ge 32
# !
# ip prefix-list v402
# seq 10 deny 10.1.1.0/24 ge 32
# !
# ip prefix-list v403
# seq 10 deny 10.1.1.0/24
# veos#
- name: Delete device configuration
arista.eos.eos_prefix_lists:
state: deleted
# Task Output
# -------------
# before:
# - afi: ipv4
# prefix_lists:
# - entries:
# - action: deny
# address: 45.55.4.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 25
# - action: permit
# address: 11.11.2.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 100
# - action: permit
# address: 30.11.2.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 300
# name: v401
# - entries:
# - action: deny
# address: 10.1.1.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 10
# name: v402
# - entries:
# - action: deny
# address: 10.1.1.0/24
# sequence: 10
# name: v403
# commands:
# - no ip prefix-list v401
# - no ip prefix-list v402
# - no ip prefix-list v403
# after: {}
# After State:
# veos#show running-config | section prefix-list
# veos#
# Using parsed:
# parse_prefix_lists.cfg
# ip prefix-list v401
# seq 25 deny 45.55.4.0/24
# seq 100 permit 11.11.2.0/24 ge 32
# !
# ip prefix-list v402
# seq 10 deny 10.1.1.0/24
# !
# ipv6 prefix-list v601
# seq 125 deny 5000:1::/64
#
- name: parse configs
arista.eos.eos_prefix_lists:
running_config: "{{ lookup('file', './parsed_prefix_lists.cfg') }}"
state: parsed
# Task Output
# -------------
# parsed:
# - afi: ipv4
# prefix_lists:
# - entries:
# - action: deny
# address: 45.55.4.0/24
# sequence: 25
# - action: permit
# address: 11.11.2.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 100
# name: v401
# - entries:
# - action: deny
# address: 10.1.1.0/24
# sequence: 10
# name: v402
# - afi: ipv6
# prefix_lists:
# - entries:
# - action: deny
# address: 5000:1::/64
# sequence: 125
# name: v601
# Using rendered:
- name: Render provided configuration
arista.eos.eos_prefix_lists:
config:
- afi: "ipv4"
prefix_lists:
- name: "v401"
entries:
- sequence: 25
action: "deny"
address: "45.55.4.0/24"
- sequence: 200
action: "permit"
address: "200.11.2.0/24"
match:
masklen: 32
operator: "ge"
- name: "v403"
entries:
- action: "deny"
address: "10.1.1.0/24"
sequence: 10
state: rendered
# Task Output
# -------------
# rendered:
# - ip prefix-list v401
# - seq 25 deny 45.55.4.0/24
# - seq 200 permit 200.11.2.0/24 ge 32
# - ip prefix-list v403
# - seq 10 deny 10.1.1.0/24
# using gathered:
# Device config:
# veos#show running-config | section prefix-list
# ip prefix-list v401
# seq 25 deny 45.55.4.0/24
# seq 100 permit 11.11.2.0/24 ge 32
# !
# ip prefix-list v402
# seq 10 deny 10.1.1.0/24 ge 32
# !
# ipv6 prefix-list v601
# seq 125 deny 5000:1::/64
# veos#
- name: gather configs
arista.eos.eos_prefix_lists:
state: gathered
# Task Output
# -------------
# gathered:
# - afi: ipv4
# prefix_lists:
# - entries:
# - action: deny
# address: 45.55.4.0/24
# sequence: 25
# - action: permit
# address: 11.11.2.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 100
# name: v401
# - entries:
# - action: deny
# address: 10.1.1.0/24
# match:
# masklen: 32
# operator: ge
# sequence: 10
# name: v402
# - afi: ipv6
# prefix_lists:
# - entries:
# - action: deny
# address: 5000:1::/64
# sequence: 125
# name: v601
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
after list / elements=string | Результирующая конфигурация после вызова модели. Возвращается: при изменении Пример: |
before list / elements=string | Конфигурация до вызова модели. Возвращается: всегда Пример: |
commands list / elements=string | Набор команд, отправленных на удаленное устройство. Возвращается: всегда Пример: |
gathered list / elements=string | Конфигурация в виде структурированных данных, преобразованная из работающей конфигурации, полученной с удаленного узла Возвращается: когда для Пример: |
parsed list / elements=string | Конфигурация в виде структурированных данных, преобразованная из значения параметра Возвращается: когда для Пример: |
rendered list / elements=string | Набор команд CLI, сформированных на основе значения параметра Возвращается: когда для Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/arista/eos/eos_prefix_lists_module.html