Spec-Zone.ru › Ansible

Модуль cisco.nxos.nxos_bgp_global — модуль ресурсов глобальной конфигурации BGP.

Примечание

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

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

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

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

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

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

Описание

  • Этот модуль управляет глобальной конфигурацией BGP на устройствах под управлением Cisco NX-OS.

Примечание

Для этого модуля имеется соответствующий модуль действий.

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

Параметры

Параметр

Комментарии

config

dictionary

Список конфигураций процессов BGP.

affinity_group

dictionary

Настроить группу affinity.

group_id

integer

Идентификатор группы affinity.

as_number

string

Номер автономной системы маршрутизатора.

bestpath

dictionary

Определить алгоритм выбора пути bestpath по умолчанию.

always_compare_med

boolean

Сравнивать MED для путей из разных AS.

Варианты:

  • false
  • true

as_path

dictionary

AS-Path.

ignore

boolean

Игнорировать AS-Path при выборе bestpath.

Варианты:

  • false
  • true

multipath_relax

boolean

Ослабить ограничение AS-Path при выборе нескольких путей.

Варианты:

  • false
  • true

compare_neighborid

boolean

Если доступно больше путей, чем указано в конфигурации max path, использовать neighborid для разрешения равенства.

Варианты:

  • false
  • true

compare_routerid

boolean

Сравнивать идентификаторы маршрутизаторов для идентичных путей EBGP.

Варианты:

  • false
  • true

cost_community_ignore

boolean

Игнорировать сообщества стоимости при выборе bestpath.

Варианты:

  • false
  • true

igp_metric_ignore

boolean

Игнорировать метрику IGP для следующего узла при выборе bestpath.

Варианты:

  • false
  • true

med

dictionary

MED

confed

boolean

Сравнивать MED только для путей, исходящих из конфедерации.

Варианты:

  • false
  • true

missing_as_worst

boolean

Считать отсутствующий MED наибольшим значением MED.

Варианты:

  • false
  • true

non_deterministic

boolean

Не всегда выбирать путь с лучшим MED среди путей из одной AS.

Варианты:

  • false
  • true

cluster_id

string

Настроить идентификатор кластера Route Reflector.

confederation

dictionary

Параметры конфедерации AS.

identifier

string

Задать AS конфедерации домена маршрутизации.

peers

list / elements=string

AS соседей в конфедерации BGP.

disable_policy_batching

dictionary

Отключить пакетную оценку исходящей политики для соседа.

ipv4

dictionary

Параметры семейства адресов IPv4.

prefix_list

string

Имя применяемого списка префиксов.

ipv6

dictionary

Параметры семейства адресов IPv6.

prefix_list

string

Имя применяемого списка префиксов.

nexthop

boolean

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

Варианты:

  • false
  • true

set

boolean

Настроить пакетную обработку политик.

Варианты:

  • false
  • true

dynamic_med_interval

integer

Задает интервал подавления изменений MED.

enforce_first_as

boolean

Проверять, что AS соседа является первой AS в атрибуте AS-PATH (EBGP).

Варианты:

  • false
  • true

enhanced_error

boolean

Включить расширенную обработку ошибок BGP.

Варианты:

  • false
  • true

fabric_soo

string

Идентификатор источника сайта фабрики.

fast_external_fallover

boolean

Немедленно сбрасывать сеанс, если соединение с непосредственно подключенным соседом BGP разрывается.

Варианты:

  • false
  • true

flush_routes

boolean

Удалять маршруты из RIB при контролируемом перезапуске.

Варианты:

  • false
  • true

graceful_restart

dictionary

Настроить функцию Graceful Restart.

helper

boolean

Настроить режим помощника Graceful Restart.

Варианты:

  • false
  • true

restart_time

integer

Максимальное время перезапуска, объявляемое соседям.

set

boolean

Включить graceful-restart.

Варианты:

  • false
  • true

stalepath_time

integer

Максимальное время хранения устаревших маршрутов перезапускающегося соседа.

graceful_shutdown

dictionary

Корректное выключение протокола BGP.

activate

dictionary

Отправлять сообщество graceful-shutdown для всех маршрутов.

route_map

string

Применить route-map для изменения исходящих атрибутов.

set

boolean

Активировать graceful-shutdown.

Варианты:

  • false
  • true

aware

boolean

Понижать предпочтительность маршрутов с сообществом graceful-shutdown.

Варианты:

  • false
  • true

isolate

dictionary

Изолировать этот маршрутизатор с точки зрения BGP.

include_local

boolean

Отозвать локальные и удаленные маршруты BGP.

Варианты:

  • false
  • true

set

boolean

Отозвать удаленные маршруты BGP, чтобы изолировать этот маршрутизатор.

Варианты:

  • false
  • true

log_neighbor_changes

boolean

Записывать в журнал сообщения о подключении и отключении соседа.

Варианты:

  • false
  • true

maxas_limit

integer

Разрешить атрибут AS-PATH от соседа EBGP с ограничением на число AS.

neighbor_down

dictionary

Обрабатывать событие отключения соседа BGP по различным причинам.

fib_accelerate

boolean

Ускорить обновление аппаратных таблиц для смежностей IP/IPv6 соседа.

Варианты:

  • false
  • true

neighbors

list / elements=dictionary

Настроить соседей BGP.

bfd

dictionary

Двунаправленное быстрое обнаружение для соседа.

multihop

dictionary

Многоинтервальный сеанс.

interval

dictionary

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

min_rx_interval

integer

Минимальный интервал приема.

multiplier

integer

Множитель обнаружения.

tx_interval

integer

Интервал передачи в миллисекундах.

set

boolean

Включить многоинтервальный BFD.

Варианты:

  • false
  • true

set

boolean

Включить BFD для этого соседа.

Варианты:

  • false
  • true

singlehop

boolean

Одноинтервальный сеанс.

Варианты:

  • false
  • true

bmp_activate_server

integer

Указать идентификатор сервера для активации мониторинга BMP для узла-соседа.

capability

dictionary

Возможности.

suppress_4_byte_as

boolean

Подавлять возможность поддержки 4-байтового номера AS.

Варианты:

  • false
  • true

description

string

Описание конкретного соседа.

disable_connected_check

boolean

Отключить проверку непосредственного подключения соседа.

Варианты:

  • false
  • true

dont_capability_negotiate

boolean

Не согласовывать возможности с этим соседом.

Варианты:

  • false
  • true

dscp

string

Задать значение DSCP для TCP-транспорта.

dynamic_capability

boolean

Динамическая поддержка возможностей

Варианты:

  • false
  • true

ebgp_multihop

integer

Указать TTL для многошагового подключения удаленного соседа.

graceful_shutdown

dictionary

Режим graceful shutdown для этого соседа.

activate

dictionary

Отправлять сообщество graceful shutdown.

route_map

string

Применить route-map для изменения атрибутов исходящих маршрутов.

set

boolean

Включить activate.

Варианты:

  • false
  • true

inherit

dictionary

Наследовать шаблон.

peer

string

Шаблон соседа для наследования.

peer_session

string

Шаблон сеанса соседа для наследования.

local_as

string

Указать номер локальной AS для соседа eBGP.

Устарело. Используйте вместо этого local_as_config; факты всегда будут отображать сведения о local_as как часть local_as_config as_number.

Этот параметр устарел и будет удален в одном из выпусков после 2027-01-01.

local_as_config

dictionary

Параметры номера локальной автономной системы.

as_number

string

Задать номер локальной AS для соседа eBGP.

dual_as

boolean

Подключаться, используя номер локальной AS или фактический номер AS.

Варианты:

  • false
  • true

no_prepend

boolean

Не добавлять номер локальной AS в начало обновлений от соседа eBGP.

Варианты:

  • false
  • true

replace_as

boolean

Добавлять в начало обновлений для соседа eBGP только номер локальной AS.

Варианты:

  • false
  • true

log_neighbor_changes

dictionary

Записывать в журнал сообщения о подключении и отключении соседа.

disable

boolean

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

Варианты:

  • false
  • true

set

boolean

Включить log-neighbor-changes.

Варианты:

  • false
  • true

low_memory

dictionary

Поведение при нехватке памяти.

exempt

boolean

Не отключать этого соседа при нехватке памяти.

Варианты:

  • false
  • true

neighbor_address

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

IP-адрес/префикс соседа или интерфейса.

neighbor_affinity_group

dictionary

Настроить группу affinity.

group_id

integer

Идентификатор группы affinity.

password

dictionary

Настроить пароль для соседа.

encryption

integer

Значение 0 указывает, что пароль соседа не зашифрован.

Значение 3 указывает, что далее будет указан пароль соседа, зашифрованный с помощью 3DES.

Значение 7 указывает, что далее будет указан пароль соседа, зашифрованный с помощью Cisco Type 7.

key

string

Пароль для аутентификации.

path_attribute

list / elements=dictionary

Необязательная фильтрация атрибутов пути BGP.

action

string

Действие.

Варианты:

  • "discard"
  • "treat-as-withdraw"

range

dictionary

Диапазон атрибута пути.

end

integer

Конечное значение диапазона атрибута пути.

start

integer

Начальное значение диапазона атрибута пути.

type

integer

Тип атрибута пути

peer_type

string

Тип соседа

Варианты:

  • "fabric-border-leaf"
  • "fabric-external"

remote_as

string

Указать номер автономной системы соседа.

remote_as_route_map

string

Route-map для сопоставления номера AS узла-пира с префиксом.

remove_private_as

dictionary

Удалить номер частной AS из исходящих обновлений.

all

boolean

Все.

Варианты:

  • false
  • true

replace_as

boolean

Заменить.

Варианты:

  • false
  • true

set

boolean

Удалить частную AS.

Варианты:

  • false
  • true

shutdown

boolean

Административно отключить этого соседа.

Варианты:

  • false
  • true

timers

dictionary

Настроить таймеры keepalive и hold.

holdtime

integer

Время ожидания (секунды).

keepalive

integer

Интервал keepalive (секунды).

transport

dictionary

Транспортное соединение BGP.

connection_mode

dictionary

Указать тип подключения.

passive

boolean

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

Варианты:

  • false
  • true

ttl_security

dictionary

Включить механизм защиты TTL.

hops

integer

Указать количество переходов до удаленного узла-пира.

update_source

string

Указать источник сеанса BGP и обновлений.

nexthop

dictionary

Параметры разрешения адреса следующего перехода.

suppress_default_resolution

boolean

Запретить использование маршрута по умолчанию для разрешения адреса следующего перехода.

Варианты:

  • false
  • true

rd

dictionary

Вторичный идентификатор маршрута (RD) для пограничного шлюза VXLAN multisite.

dual

boolean

Создать вторичный RD для всех VRF и L2VNI.

Варианты:

  • false
  • true

id

integer

Указать 2-байтовое значение идентификатора.

reconnect_interval

integer

Настроить интервал повторного подключения.

router_id

string

Указать IP-адрес, используемый в качестве идентификатора маршрутизатора.

shutdown

boolean

Административно отключить протокол BGP.

Варианты:

  • false
  • true

suppress_fib_pending

boolean

Анонсировать узлам-пирам только маршруты, установленные в аппаратуре.

Варианты:

  • false
  • true

timers

dictionary

Настроить таймеры, связанные с BGP.

bestpath_limit

dictionary

Настроить тайм-аут для выбора первого наилучшего пути после перезапуска.

always

boolean

Настроить параметр update-delay-always.

Варианты:

  • false
  • true

timeout

integer

Тайм-аут Bestpath (секунды).

bgp

dictionary

Настройка интервалов keepalive и holdtime для BGP.

holdtime

integer

Интервал удержания (секунды).

keepalive

integer

Интервал keepalive (секунды).

prefix_peer_timeout

integer

Тайм-аут Prefix Peer (секунды).

prefix_peer_wait

integer

Настройка таймера ожидания для Prefix Peer.

vrfs

list / elements=dictionary

Конфигурации контекста виртуального маршрутизатора.

allocate_index

integer

Настройка allocate-index.

bestpath

dictionary

Определение алгоритма выбора маршрута bestpath по умолчанию.

always_compare_med

boolean

Сравнивать MED для маршрутов из разных AS.

Варианты:

  • false
  • true

as_path

dictionary

AS-Path.

ignore

boolean

Игнорировать AS-Path при выборе bestpath.

Варианты:

  • false
  • true

multipath_relax

boolean

Ослабить ограничение AS-Path при выборе нескольких путей.

Варианты:

  • false
  • true

compare_neighborid

boolean

Если доступно больше путей, чем задано в параметре max path, использовать neighborid для разрешения равенства.

Варианты:

  • false
  • true

compare_routerid

boolean

Сравнивать router-id для идентичных маршрутов EBGP.

Варианты:

  • false
  • true

cost_community_ignore

boolean

Игнорировать сообщества стоимости при выборе bestpath.

Варианты:

  • false
  • true

igp_metric_ignore

boolean

Игнорировать метрику IGP для следующего перехода при выборе bestpath.

Варианты:

  • false
  • true

med

dictionary

MED

confed

boolean

Сравнивать MED только для маршрутов, полученных из конфедерации.

Варианты:

  • false
  • true

missing_as_worst

boolean

Считать отсутствующий MED наибольшим значением MED.

Варианты:

  • false
  • true

non_deterministic

boolean

Не всегда выбирать маршрут с лучшим MED среди маршрутов из одной AS.

Варианты:

  • false
  • true

cluster_id

string

Настройка Cluster-ID отражателя маршрутов.

confederation

dictionary

Параметры конфедерации AS.

identifier

string

Задать AS конфедерации домена маршрутизации.

peers

list / elements=string

AS соседей в конфедерации BGP.

graceful_restart

dictionary

Настройка функции Graceful Restart.

helper

boolean

Настройка режима Graceful Restart Helper.

Варианты:

  • false
  • true

restart_time

integer

Максимальное время перезапуска, объявляемое соседям.

set

boolean

Включить graceful-restart.

Варианты:

  • false
  • true

stalepath_time

integer

Максимальное время хранения устаревших маршрутов перезапускающегося соседа.

local_as

string

Указать local-as для этой VRF.

log_neighbor_changes

boolean

Записывать сообщение о событии подключения или отключения соседа.

Варианты:

  • false
  • true

maxas_limit

integer

Разрешить атрибут AS-PATH от соседа EBGP с ограничением количества AS.

neighbor_down

dictionary

Обработка события отключения соседа BGP по различным причинам.

fib_accelerate

boolean

Ускорить обновление аппаратных записей для смежностей IP/IPv6 соседа.

Варианты:

  • false
  • true

neighbors

list / elements=dictionary

Настроить соседей BGP.

bfd

dictionary

Двунаправленное быстрое обнаружение для соседа.

multihop

dictionary

Многохоповая сессия.

interval

dictionary

Настройка параметров интервала сессии BFD.

min_rx_interval

integer

Минимальный интервал приема.

multiplier

integer

Множитель обнаружения.

tx_interval

integer

Интервал передачи в миллисекундах.

set

boolean

Включить многохоповый BFD.

Варианты:

  • false
  • true

set

boolean

Включить BFD для этого соседа.

Варианты:

  • false
  • true

singlehop

boolean

Однохоповая сессия.

Варианты:

  • false
  • true

bmp_activate_server

integer

Указать идентификатор сервера для активации мониторинга BMP для соседа.

capability

dictionary

Возможности.

suppress_4_byte_as

boolean

Не объявлять возможность 4-байтовой AS.

Варианты:

  • false
  • true

description

string

Описание конкретного соседа.

disable_connected_check

boolean

Отключить проверку непосредственного подключения соседа.

Варианты:

  • false
  • true

dont_capability_negotiate

boolean

Не согласовывать возможности с этим соседом.

Варианты:

  • false
  • true

dscp

string

Задать значение DSCP для TCP-транспорта.

dynamic_capability

boolean

Динамические возможности

Варианты:

  • false
  • true

ebgp_multihop

integer

Указать TTL для многохопового подключения к удаленному соседу.

graceful_shutdown

dictionary

Graceful shutdown для этого соседа.

activate

dictionary

Отправлять сообщество graceful-shutdown.

route_map

string

Применить route-map для изменения атрибутов исходящих маршрутов.

set

boolean

Включить активацию.

Варианты:

  • false
  • true

inherit

dictionary

Наследовать шаблон.

peer

string

Шаблон узла для наследования.

peer_session

string

Шаблон peer-session для наследования.

local_as

string

Указать номер local-as для соседа eBGP.

Устарело. Используйте вместо этого local_as_config; в фактических данных информация local_as всегда будет отображаться как часть local_as_config в поле as_number.

Этот параметр устарел и будет удален в одном из выпусков после 2027-01-01.

local_as_config

dictionary

Параметры номера локальной автономной системы.

as_number

string

Задать номер local-as для соседа eBGP.

dual_as

boolean

Подключаться, используя либо номер local-as, либо фактический номер AS.

Варианты:

  • false
  • true

no_prepend

boolean

Не добавлять номер local-as к обновлениям от соседа eBGP.

Варианты:

  • false
  • true

replace_as

boolean

Добавлять к обновлениям для соседа eBGP только номер local-as.

Варианты:

  • false
  • true

log_neighbor_changes

dictionary

Записывать сообщения о событиях подключения и отключения соседа.

disable

boolean

Отключить запись событий подключения и отключения соседа.

Варианты:

  • false
  • true

set

boolean

Задать log-neighbor-changes.

Варианты:

  • false
  • true

low_memory

dictionary

Поведение при нехватке памяти.

exempt

boolean

Не отключать этого соседа при нехватке памяти.

Варианты:

  • false
  • true

neighbor_address

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

IP-адрес/префикс соседа или интерфейса.

neighbor_affinity_group

dictionary

Настроить группу affinity.

group_id

integer

Идентификатор группы affinity.

password

dictionary

Настроить пароль для соседа.

encryption

integer

Значение 0 указывает на незашифрованный пароль соседа.

Значение 3 указывает, что далее будет указан пароль соседа, зашифрованный с помощью 3DES.

Значение 7 указывает, что далее будет указан пароль соседа, зашифрованный методом Cisco типа 7.

key

string

Пароль аутентификации.

path_attribute

list / elements=dictionary

Необязательная фильтрация атрибутов пути BGP.

action

string

Действие.

Варианты:

  • "discard"
  • "treat-as-withdraw"

range

dictionary

Диапазон атрибута пути.

end

integer

Конечное значение диапазона атрибута пути.

start

integer

Начальное значение диапазона атрибута пути.

type

integer

Тип атрибута пути

peer_type

string

Тип соседнего узла

Варианты:

  • "fabric-border-leaf"
  • "fabric-external"

remote_as

string

Указать номер автономной системы соседа.

remote_as_route_map

string

Route-map для сопоставления номера AS соседнего узла с префиксом.

remove_private_as

dictionary

Удалить частный номер AS из исходящих обновлений.

all

boolean

Все.

Варианты:

  • false
  • true

replace_as

boolean

Заменить.

Варианты:

  • false
  • true

set

boolean

Удалить частный номер AS.

Варианты:

  • false
  • true

shutdown

boolean

Административно отключить этого соседа.

Варианты:

  • false
  • true

timers

dictionary

Настроить таймеры keepalive и hold.

holdtime

integer

Время удержания (секунды).

keepalive

integer

Интервал keepalive (секунды).

transport

dictionary

Транспортное соединение BGP.

connection_mode

dictionary

Указать тип соединения.

passive

boolean

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

Варианты:

  • false
  • true

ttl_security

dictionary

Включить механизм безопасности TTL.

hops

integer

Указать количество переходов до удаленного узла.

update_source

string

Указать источник сеанса BGP и обновлений.

reconnect_interval

integer

Настроить интервал повторного подключения.

router_id

string

Указать IP-адрес, используемый в качестве router-id.

timers

dictionary

Настроить таймеры BGP.

bestpath_limit

dictionary

Настроить тайм-аут для первого bestpath после перезапуска.

always

boolean

Настроить параметр update-delay-always.

Варианты:

  • false
  • true

timeout

integer

Тайм-аут bestpath (секунды).

bgp

dictionary

Настроить различные интервалы keepalive и holdtime для BGP.

holdtime

integer

Время удержания (секунды).

keepalive

integer

Интервал keepalive (секунды).

prefix_peer_timeout

integer

Тайм-аут соседа префикса (секунды).

prefix_peer_wait

integer

Настроить таймер ожидания для соседа префикса.

vrf

string

Имя VRF.

running_config

string

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

Значением этого параметра должен быть вывод, полученный с устройства NX-OS при выполнении команды show running-config | section ‘^router bgp’.

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

state

string

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

Состояние purged удаляет все конфигурации BGP с целевого устройства. Используйте это состояние с осторожностью.

Состояние deleted удаляет только атрибуты BGP, которыми управляет этот модуль, и не удаляет процесс BGP полностью. Таким образом, сохраняются конфигурации, связанные с семейством адресов, в контексте BGP.

При выполнении состояний deleted и replaced будет возвращена ошибка, если под соседом или в контексте VRF, который требуется удалить, присутствуют строки конфигурации семейства адресов. Для предварительной очистки используйте модули cisco.nxos.nxos_bgp_af или cisco.nxos.nxos_bgp_neighbor_af.

Состояния merged и replaced завершатся ошибкой, если BGP уже настроен с номером ASN, отличным от указанного в задаче. В таких случаях удалите существующий процесс BGP с помощью состояния purged и продолжите выполнение.

Состояния replaced и overridden работают в этом модуле одинаково.

Подробнее см. примеры.

Варианты:

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

Примечания

Примечание

  • Проверено на NX-OS 9.3.6.
  • Не поддерживается для Cisco MDS
  • Этот модуль работает с подключениями network_cli и httpapi.

Примеры

# Using merged

# Before state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# Nexus9000v#

- name: Merge the provided configuration with the existing running configuration
  cisco.nxos.nxos_bgp_global:
    config:
      as_number: 65563
      router_id: 192.168.1.1
      bestpath:
        as_path:
          multipath_relax: true
        compare_neighborid: true
        cost_community_ignore: true
      confederation:
        identifier: 42
        peers:
          - 65020
          - 65030
          - 65040
      log_neighbor_changes: true
      maxas_limit: 20
      neighbors:
        - neighbor_address: 192.168.1.100
          neighbor_affinity_group:
            group_id: 160
          bmp_activate_server: 1
          remote_as: 65563
          description: NBR-1
          low_memory:
            exempt: true
        - neighbor_address: 192.168.1.101
          remote_as: 65563
          password:
            encryption: 7
            key: 12090404011C03162E
      neighbor_down:
        fib_accelerate: true
      vrfs:
        - vrf: site-1
          allocate_index: 5000
          local_as: 200
          log_neighbor_changes: true
          neighbors:
            - neighbor_address: 198.51.100.1
              description: site-1-nbr-1
              password:
                encryption: 3
                key: 13D4D3549493D2877B1DC116EE27A6BE
              remote_as: 65562
            - neighbor_address: 198.51.100.2
              remote_as: 65562
              description: site-1-nbr-2
        - vrf: site-2
          local_as: 300
          log_neighbor_changes: true
          neighbors:
            - neighbor_address: 203.0.113.2
              description: site-2-nbr-1
              password:
                encryption: 3
                key: AF92F4C16A0A0EC5BDF56CF58BC030F6
              remote_as: 65568
          neighbor_down:
            fib_accelerate: true

# Task output:
# ------------
# before: {}
#
# commands:
#  - router bgp 65563
#  - bestpath as-path multipath-relax
#  - bestpath compare-neighborid
#  - bestpath cost-community ignore
#  - confederation identifier 42
#  - log-neighbor-changes
#  - maxas-limit 20
#  - neighbor-down fib-accelerate
#  - router-id 192.168.1.1
#  - confederation peers 65020 65030 65040
#  - neighbor 192.168.1.100
#  - remote-as 65563
#  - affinity-group 160
#  - bmp-activate-server 1
#  - description NBR-1
#  - low-memory exempt
#  - neighbor 192.168.1.101
#  - remote-as 65563
#  - password 7 12090404011C03162E
#  - vrf site-1
#  - allocate-index 5000
#  - local-as 200
#  - log-neighbor-changes
#  - neighbor 198.51.100.1
#  - remote-as 65562
#  - description site-1-nbr-1
#  - password 3 13D4D3549493D2877B1DC116EE27A6BE
#  - neighbor 198.51.100.2
#  - remote-as 65562
#  - description site-1-nbr-2
#  - vrf site-2
#  - local-as 300
#  - log-neighbor-changes
#  - neighbor-down fib-accelerate
#  - neighbor 203.0.113.2
#  - remote-as 65568
#  - description site-2-nbr-1
#  - password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6
#
# after:
#    as_number: '65563'
#    bestpath:
#      as_path:
#        multipath_relax: true
#      compare_neighborid: true
#      cost_community_ignore: true
#    confederation:
#      identifier: '42'
#      peers:
#      - '65020'
#      - '65030'
#      - '65040'
#    log_neighbor_changes: true
#    maxas_limit: 20
#    neighbor_down:
#      fib_accelerate: true
#    neighbors:
#    - bmp_activate_server: 1
#      description: NBR-1
#      low_memory:
#        exempt: true
#      neighbor_address: 192.168.1.100
#      neighbor_affinity_group:
#        group_id: 160
#      remote_as: '65563'
#    - neighbor_address: 192.168.1.101
#      password:
#        encryption: 7
#        key: 12090404011C03162E
#      remote_as: '65563'
#    router_id: 192.168.1.1
#    vrfs:
#    - allocate_index: 5000
#      local_as: '200'
#      log_neighbor_changes: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 198.51.100.1
#        password:
#          encryption: 3
#          key: 13D4D3549493D2877B1DC116EE27A6BE
#        remote_as: '65562'
#      - description: site-1-nbr-2
#        neighbor_address: 198.51.100.2
#        remote_as: '65562'
#      vrf: site-1
#    - local_as: '300'
#      log_neighbor_changes: true
#      neighbor_down:
#        fib_accelerate: true
#      neighbors:
#      - description: site-2-nbr-1
#        neighbor_address: 203.0.113.2
#        password:
#          encryption: 3
#          key: AF92F4C16A0A0EC5BDF56CF58BC030F6
#        remote_as: '65568'
#      vrf: site-2


# After state:
# ------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65563
#   router-id 192.168.1.1
#   confederation identifier 42
#   confederation peers 65020 65030 65040
#   bestpath as-path multipath-relax
#   bestpath cost-community ignore
#   bestpath compare-neighborid
#   neighbor-down fib-accelerate
#   maxas-limit 20
#   log-neighbor-changes
#   neighbor 192.168.1.100
#     low-memory exempt
#     bmp-activate-server 1
#     remote-as 65563
#     description NBR-1
#     affinity-group 160
#   neighbor 192.168.1.101
#     remote-as 65563
#     password 7 12090404011C03162E
#   vrf site-1
#     local-as 200
#     log-neighbor-changes
#     allocate-index 5000
#     neighbor 198.51.100.1
#       remote-as 65562
#       description site-1-nbr-1
#       password 3 13D4D3549493D2877B1DC116EE27A6BE
#     neighbor 198.51.100.2
#       remote-as 65562
#       description site-1-nbr-2
#   vrf site-2
#     local-as 300
#     neighbor-down fib-accelerate
#     log-neighbor-changes
#     neighbor 203.0.113.2
#       remote-as 65568
#       description site-2-nbr-1
#       password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6

# Using replaced

# Before state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65563
#   router-id 192.168.1.1
#   confederation identifier 42
#   confederation peers 65020 65030 65040
#   bestpath as-path multipath-relax
#   bestpath cost-community ignore
#   bestpath compare-neighborid
#   neighbor-down fib-accelerate
#   maxas-limit 20
#   log-neighbor-changes
#   neighbor 192.168.1.100
#     low-memory exempt
#     bmp-activate-server 1
#     remote-as 65563
#     description NBR-1
#     affinity-group 160
#   neighbor 192.168.1.101
#     remote-as 65563
#     password 7 12090404011C03162E
#   vrf site-1
#     local-as 200
#     log-neighbor-changes
#     allocate-index 5000
#     neighbor 198.51.100.1
#       remote-as 65562
#       description site-1-nbr-1
#       password 3 13D4D3549493D2877B1DC116EE27A6BE
#     neighbor 198.51.100.2
#       remote-as 65562
#       description site-1-nbr-2
#   vrf site-2
#     local-as 300
#     neighbor-down fib-accelerate
#     log-neighbor-changes
#     neighbor 203.0.113.2
#       remote-as 65568
#       description site-2-nbr-1
#       password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6

- name: Replace BGP configuration with provided configuration
  cisco.nxos.nxos_bgp_global:
    config:
      as_number: 65563
      router_id: 192.168.1.1
      bestpath:
        compare_neighborid: true
        cost_community_ignore: true
      confederation:
        identifier: 42
        peers:
          - 65020
          - 65030
          - 65050
      maxas_limit: 40
      neighbors:
        - neighbor_address: 192.168.1.100
          neighbor_affinity_group:
            group_id: 160
          bmp_activate_server: 1
          remote_as: 65563
          description: NBR-1
          low_memory:
            exempt: true
      neighbor_down:
        fib_accelerate: true
      vrfs:
        - vrf: site-2
          local_as: 300
          log_neighbor_changes: true
          neighbors:
            - neighbor_address: 203.0.113.2
              password:
                encryption: 7
                key: 12090404011C03162E
          neighbor_down:
            fib_accelerate: true
    state: replaced

# Task output:
# ------------
#  before:
#    as_number: '65563'
#    bestpath:
#      as_path:
#        multipath_relax: true
#      compare_neighborid: true
#      cost_community_ignore: true
#    confederation:
#      identifier: '42'
#      peers:
#      - '65020'
#      - '65030'
#      - '65040'
#    log_neighbor_changes: true
#    maxas_limit: 20
#    neighbor_down:
#      fib_accelerate: true
#    neighbors:
#    - bmp_activate_server: 1
#      description: NBR-1
#      low_memory:
#        exempt: true
#      neighbor_address: 192.168.1.100
#      neighbor_affinity_group:
#        group_id: 160
#      remote_as: '65563'
#    - neighbor_address: 192.168.1.101
#      password:
#        encryption: 7
#        key: 12090404011C03162E
#      remote_as: '65563'
#    router_id: 192.168.1.1
#    vrfs:
#    - allocate_index: 5000
#      local_as: '200'
#      log_neighbor_changes: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 198.51.100.1
#        password:
#          encryption: 3
#          key: 13D4D3549493D2877B1DC116EE27A6BE
#        remote_as: '65562'
#      - description: site-1-nbr-2
#        neighbor_address: 198.51.100.2
#        remote_as: '65562'
#      vrf: site-1
#    - local_as: '300'
#      log_neighbor_changes: true
#      neighbor_down:
#        fib_accelerate: true
#      neighbors:
#      - description: site-2-nbr-1
#        neighbor_address: 203.0.113.2
#        password:
#          encryption: 3
#          key: AF92F4C16A0A0EC5BDF56CF58BC030F6
#        remote_as: '65568'
#      vrf: site-2
#
# commands:
#  - router bgp 65563
#  - no bestpath as-path multipath-relax
#  - no log-neighbor-changes
#  - maxas-limit 40
#  - no confederation peers 65020 65030 65040
#  - confederation peers 65020 65030 65050
#  - no neighbor 192.168.1.101
#  - vrf site-2
#  - neighbor 203.0.113.2
#  - no remote-as 65568
#  - no description site-2-nbr-1
#  - password 7 12090404011C03162E
#  - no vrf site-1

#  after:
#    as_number: '65563'
#    bestpath:
#      compare_neighborid: true
#      cost_community_ignore: true
#    confederation:
#      identifier: '42'
#      peers:
#      - '65020'
#      - '65030'
#      - '65050'
#    maxas_limit: 40
#    neighbor_down:
#      fib_accelerate: true
#    neighbors:
#    - bmp_activate_server: 1
#      description: NBR-1
#      low_memory:
#        exempt: true
#      neighbor_address: 192.168.1.100
#      neighbor_affinity_group:
#        group_id: 160
#      remote_as: '65563'
#    router_id: 192.168.1.1
#    vrfs:
#    - local_as: '300'
#      log_neighbor_changes: true
#      neighbor_down:
#        fib_accelerate: true
#      neighbors:
#      - neighbor_address: 203.0.113.2
#        password:
#          encryption: 7
#          key: 12090404011C03162E
#      vrf: site-2
#
# After state:
# ------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65563
#   router-id 192.168.1.1
#   confederation identifier 42
#   confederation peers 65020 65030 65050
#   bestpath cost-community ignore
#   bestpath compare-neighborid
#   neighbor-down fib-accelerate
#   maxas-limit 40
#   neighbor 192.168.1.100
#     low-memory exempt
#     bmp-activate-server 1
#     remote-as 65563
#     description NBR-1
#     affinity-group 160
#   vrf site-2
#     local-as 300
#     neighbor-down fib-accelerate
#     log-neighbor-changes
#     neighbor 203.0.113.2
#       password 7 12090404011C03162E

# Using deleted

# Before state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65563
#   router-id 192.168.1.1
#   confederation identifier 42
#   confederation peers 65020 65030 65040
#   bestpath as-path multipath-relax
#   bestpath cost-community ignore
#   bestpath compare-neighborid
#   neighbor-down fib-accelerate
#   maxas-limit 20
#   log-neighbor-changes
#   address-family ipv4 unicast
#     default-metric 400
#     suppress-inactive
#     default-information originate
#   address-family ipv6 multicast
#     wait-igp-convergence
#     redistribute eigrp eigrp-1 route-map site-1-rmap
#   neighbor 192.168.1.100
#     low-memory exempt
#     bmp-activate-server 1
#     remote-as 65563
#     description NBR-1
#     affinity-group 160
#   neighbor 192.168.1.101
#     remote-as 65563
#     password 7 12090404011C03162E
#   vrf site-1
#     local-as 200
#     log-neighbor-changes
#     allocate-index 5000
#     address-family ipv4 multicast
#       maximum-paths 40
#       dampen-igp-metric 1200
#     neighbor 198.51.100.1
#       remote-as 65562
#       description site-1-nbr-1
#       password 3 13D4D3549493D2877B1DC116EE27A6BE
#     neighbor 198.51.100.2
#       remote-as 65562
#       description site-1-nbr-2
#   vrf site-2
#     local-as 300
#     neighbor-down fib-accelerate
#     log-neighbor-changes
#     neighbor 203.0.113.2
#       remote-as 65568
#       description site-1-nbr-1
#       password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6

- name: Delete BGP configurations handled by this module
  cisco.nxos.nxos_bgp_global:
    state: deleted

# Task output:
# ------------

# before:
#    as_number: '65563'
#    bestpath:
#      as_path:
#        multipath_relax: true
#      compare_neighborid: true
#      cost_community_ignore: true
#    confederation:
#      identifier: '42'
#      peers:
#      - '65020'
#      - '65030'
#      - '65040'
#    log_neighbor_changes: true
#    maxas_limit: 20
#    neighbor_down:
#      fib_accelerate: true
#    neighbors:
#    - bmp_activate_server: 1
#      description: NBR-1
#      low_memory:
#        exempt: true
#      neighbor_address: 192.168.1.100
#      neighbor_affinity_group:
#        group_id: 160
#      remote_as: '65563'
#    - neighbor_address: 192.168.1.101
#      password:
#        encryption: 7
#        key: 12090404011C03162E
#      remote_as: '65563'
#    router_id: 192.168.1.1
#    vrfs:
#    - allocate_index: 5000
#      local_as: '200'
#      log_neighbor_changes: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 198.51.100.1
#        password:
#          encryption: 3
#          key: 13D4D3549493D2877B1DC116EE27A6BE
#        remote_as: '65562'
#      - description: site-1-nbr-2
#        neighbor_address: 198.51.100.2
#        remote_as: '65562'
#      vrf: site-1
#    - local_as: '300'
#      log_neighbor_changes: true
#      neighbor_down:
#        fib_accelerate: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 203.0.113.2
#        password:
#          encryption: 3
#          key: AF92F4C16A0A0EC5BDF56CF58BC030F6
#        remote_as: '65568'
#      vrf: site-2
#
# commands:
#   - router bgp 65563
#   - no bestpath as-path multipath-relax
#   - no bestpath compare-neighborid
#   - no bestpath cost-community ignore
#   - no confederation identifier 42
#   - no log-neighbor-changes
#   - no maxas-limit 20
#   - no neighbor-down fib-accelerate
#   - no router-id 192.168.1.1
#   - no confederation peers 65020 65030 65040
#   - no neighbor 192.168.1.100
#   - no neighbor 192.168.1.101
#   - no vrf site-1
#   - no vrf site-2
#
#  after:
#    as_number: '65563'
#
# After state:
# ------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65563
#   address-family ipv4 unicast
#     default-metric 400
#     suppress-inactive
#     default-information originate
#   address-family ipv6 multicast
#     wait-igp-convergence
#     redistribute eigrp eigrp-1 route-map site-1-rmap
#

# Using purged

# Before state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65563
#   router-id 192.168.1.1
#   confederation identifier 42
#   confederation peers 65020 65030 65040
#   bestpath as-path multipath-relax
#   bestpath cost-community ignore
#   bestpath compare-neighborid
#   neighbor-down fib-accelerate
#   maxas-limit 20
#   log-neighbor-changes
#   address-family ipv4 unicast
#     default-metric 400
#     suppress-inactive
#     default-information originate
#   address-family ipv6 multicast
#     wait-igp-convergence
#     redistribute eigrp eigrp-1 route-map site-1-rmap
#   neighbor 192.168.1.100
#     low-memory exempt
#     bmp-activate-server 1
#     remote-as 65563
#     description NBR-1
#     affinity-group 160
#   neighbor 192.168.1.101
#     remote-as 65563
#     password 7 12090404011C03162E
#   vrf site-1
#     local-as 200
#     log-neighbor-changes
#     allocate-index 5000
#     address-family ipv4 multicast
#       maximum-paths 40
#       dampen-igp-metric 1200
#     neighbor 198.51.100.1
#       remote-as 65562
#       description site-1-nbr-1
#       password 3 13D4D3549493D2877B1DC116EE27A6BE
#     neighbor 198.51.100.2
#       remote-as 65562
#       description site-1-nbr-2
#   vrf site-2
#     local-as 300
#     neighbor-down fib-accelerate
#     log-neighbor-changes
#     neighbor 203.0.113.2
#       remote-as 65568
#       description site-1-nbr-1
#       password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6

- name: Purge all BGP configurations from the device
  cisco.nxos.nxos_bgp_global:
    state: purged

# Task output:
# ------------

# before:
#    as_number: '65563'
#    bestpath:
#      as_path:
#        multipath_relax: true
#      compare_neighborid: true
#      cost_community_ignore: true
#    confederation:
#      identifier: '42'
#      peers:
#      - '65020'
#      - '65030'
#      - '65040'
#    log_neighbor_changes: true
#    maxas_limit: 20
#    neighbor_down:
#      fib_accelerate: true
#    neighbors:
#    - bmp_activate_server: 1
#      description: NBR-1
#      low_memory:
#        exempt: true
#      neighbor_address: 192.168.1.100
#      neighbor_affinity_group:
#        group_id: 160
#      remote_as: '65563'
#    - neighbor_address: 192.168.1.101
#      password:
#        encryption: 7
#        key: 12090404011C03162E
#      remote_as: '65563'
#    router_id: 192.168.1.1
#    vrfs:
#    - allocate_index: 5000
#      local_as: '200'
#      log_neighbor_changes: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 198.51.100.1
#        password:
#          encryption: 3
#          key: 13D4D3549493D2877B1DC116EE27A6BE
#        remote_as: '65562'
#      - description: site-1-nbr-2
#        neighbor_address: 198.51.100.2
#        remote_as: '65562'
#      vrf: site-1
#    - local_as: '300'
#      log_neighbor_changes: true
#      neighbor_down:
#        fib_accelerate: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 203.0.113.2
#        password:
#          encryption: 3
#          key: AF92F4C16A0A0EC5BDF56CF58BC030F6
#        remote_as: '65568'
#      vrf: site-2
#
# commands:
#   - no router bgp 65563
#
#  after: {}
#
# After state:
# ------------
# Nexus9000v# show running-config | section "^router bgp"
# Nexus9000v#

# Using rendered

- name: Render platform specific configuration lines (without connecting to the device)
  cisco.nxos.nxos_bgp_global:
    config:
      as_number: 65563
      router_id: 192.168.1.1
      bestpath:
        as_path:
          multipath_relax: true
        compare_neighborid: true
        cost_community_ignore: true
      confederation:
        identifier: 42
        peers:
          - 65020
          - 65030
          - 65040
      log_neighbor_changes: true
      maxas_limit: 20
      neighbors:
        - neighbor_address: 192.168.1.100
          neighbor_affinity_group:
            group_id: 160
          bmp_activate_server: 1
          remote_as: 65563
          description: NBR-1
          low_memory:
            exempt: true
        - neighbor_address: 192.168.1.101
          remote_as: 65563
          password:
            encryption: 7
            key: 12090404011C03162E
      neighbor_down:
        fib_accelerate: true
      vrfs:
        - vrf: site-1
          allocate_index: 5000
          local_as: 200
          log_neighbor_changes: true
          neighbors:
            - neighbor_address: 198.51.100.1
              description: site-1-nbr-1
              password:
                encryption: 3
                key: 13D4D3549493D2877B1DC116EE27A6BE
              remote_as: 65562
            - neighbor_address: 198.51.100.2
              remote_as: 65562
              description: site-1-nbr-2
        - vrf: site-2
          local_as: 300
          log_neighbor_changes: true
          neighbors:
            - neighbor_address: 203.0.113.2
              description: site-1-nbr-1
              password:
                encryption: 3
                key: AF92F4C16A0A0EC5BDF56CF58BC030F6
              remote_as: 65568
          neighbor_down:
            fib_accelerate: true

# Task output:
# ------------
# rendered:
#   - router bgp 65563
#   - bestpath as-path multipath-relax
#   - bestpath compare-neighborid
#   - bestpath cost-community ignore
#   - confederation identifier 42
#   - log-neighbor-changes
#   - maxas-limit 20
#   - neighbor-down fib-accelerate
#   - router-id 192.168.1.1
#   - confederation peers 65020 65030 65040
#   - neighbor 192.168.1.100
#   - remote-as 65563
#   - affinity-group 160
#   - bmp-activate-server 1
#   - description NBR-1
#   - low-memory exempt
#   - neighbor 192.168.1.101
#   - remote-as 65563
#   - password 7 12090404011C03162E
#   - vrf site-1
#   - allocate-index 5000
#   - local-as 200
#   - log-neighbor-changes
#   - neighbor 198.51.100.1
#   - remote-as 65562
#   - description site-1-nbr-1
#   - password 3 13D4D3549493D2877B1DC116EE27A6BE
#   - neighbor 198.51.100.2
#   - remote-as 65562
#   - description site-1-nbr-2
#   - vrf site-2
#   - local-as 300
#   - log-neighbor-changes
#   - neighbor-down fib-accelerate
#   - neighbor 203.0.113.2
#   - remote-as 65568
#   - description site-1-nbr-1
#   - password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6

# Using parsed

# parsed.cfg
# ------------
# router bgp 65563
#   router-id 192.168.1.1
#   confederation identifier 42
#   confederation peers 65020 65030 65040
#   bestpath as-path multipath-relax
#   bestpath cost-community ignore
#   bestpath compare-neighborid
#   neighbor-down fib-accelerate
#   maxas-limit 20
#   log-neighbor-changes
#   neighbor 192.168.1.100
#     low-memory exempt
#     bmp-activate-server 1
#     remote-as 65563
#     description NBR-1
#     affinity-group 160
#   neighbor 192.168.1.101
#     remote-as 65563
#     password 7 12090404011C03162E
#   vrf site-1
#     local-as 200
#     log-neighbor-changes
#     allocate-index 5000
#     neighbor 198.51.100.1
#       remote-as 65562
#       description site-1-nbr-1
#       password 3 13D4D3549493D2877B1DC116EE27A6BE
#     neighbor 198.51.100.2
#       remote-as 65562
#       description site-1-nbr-2
#   vrf site-2
#     local-as 300
#     neighbor-down fib-accelerate
#     log-neighbor-changes
#     neighbor 203.0.113.2
#       remote-as 65568
#       description site-1-nbr-1
#       password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6

- name: Parse externally provided BGP config
  cisco.nxos.nxos_bgp_global:
    running_config: "{{ lookup('file', 'parsed.cfg') }}"
    state: parsed

# Task output:
# ------------
#  parsed:
#    as_number: '65563'
#    bestpath:
#      as_path:
#        multipath_relax: true
#      compare_neighborid: true
#      cost_community_ignore: true
#    confederation:
#      identifier: '42'
#      peers:
#      - '65020'
#      - '65030'
#      - '65040'
#    log_neighbor_changes: true
#    maxas_limit: 20
#    neighbor_down:
#      fib_accelerate: true
#    neighbors:
#    - bmp_activate_server: 1
#      description: NBR-1
#      low_memory:
#        exempt: true
#      neighbor_address: 192.168.1.100
#      neighbor_affinity_group:
#        group_id: 160
#      remote_as: '65563'
#    - neighbor_address: 192.168.1.101
#      password:
#        encryption: 7
#        key: 12090404011C03162E
#      remote_as: '65563'
#    router_id: 192.168.1.1
#    vrfs:
#    - allocate_index: 5000
#      local_as: '200'
#      log_neighbor_changes: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 198.51.100.1
#        password:
#          encryption: 3
#          key: 13D4D3549493D2877B1DC116EE27A6BE
#        remote_as: '65562'
#      - description: site-1-nbr-2
#        neighbor_address: 198.51.100.2
#        remote_as: '65562'
#      vrf: site-1
#    - local_as: '300'
#      log_neighbor_changes: true
#      neighbor_down:
#        fib_accelerate: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 203.0.113.2
#        password:
#          encryption: 3
#          key: AF92F4C16A0A0EC5BDF56CF58BC030F6
#        remote_as: '65568'
#      vrf: site-2

# Using gathered

# existing config
#
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65563
#   router-id 192.168.1.1
#   confederation identifier 42
#   confederation peers 65020 65030 65050
#   bestpath cost-community ignore
#   bestpath compare-neighborid
#   neighbor-down fib-accelerate
#   maxas-limit 40
#   neighbor 192.168.1.100
#     low-memory exempt
#     bmp-activate-server 1
#     remote-as 65563
#     description NBR-1
#     affinity-group 160
#   vrf site-1
#   vrf site-2
#     local-as 300
#     neighbor-down fib-accelerate
#     log-neighbor-changes
#     neighbor 203.0.113.2
#       password 7 12090404011C03162E

- name: Gather BGP facts using gathered
  cisco.nxos.nxos_bgp_global:
    state: gathered

# Task output:
# ------------
#  gathered:
#    as_number: '65563'
#    bestpath:
#      compare_neighborid: true
#      cost_community_ignore: true
#    confederation:
#      identifier: '42'
#      peers:
#      - '65020'
#      - '65030'
#      - '65050'
#    maxas_limit: 40
#    neighbor_down:
#      fib_accelerate: true
#    neighbors:
#    - bmp_activate_server: 1
#      description: NBR-1
#      low_memory:
#        exempt: true
#      neighbor_address: 192.168.1.100
#      neighbor_affinity_group:
#        group_id: 160
#      remote_as: '65563'
#    router_id: 192.168.1.1
#    vrfs:
#    - vrf: site-1
#    - local_as: '300'
#      log_neighbor_changes: true
#      neighbor_down:
#        fib_accelerate: true
#      neighbors:
#      - neighbor_address: 203.0.113.2
#        password:
#          encryption: 7
#          key: 12090404011C03162E
#      vrf: site-2

# Remove a neighbor having AF configurations with state replaced (will fail)

# Before state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65536
#   log-neighbor-changes
#   maxas-limit 20
#   router-id 198.51.100.2
#   neighbor 203.0.113.2
#     address-family ipv4 unicast
#       next-hop-self
#     remote-as 65538
#     affinity-group 160
#     description NBR-1
#     low-memory exempt
#   neighbor 192.0.2.1
#     remote-as 65537
#     password 7 12090404011C03162E

- name: Remove a neighbor having AF configurations (should fail)
  cisco.nxos.nxos_bgp_global:
    config:
      as_number: 65536
      router_id: 198.51.100.2
      maxas_limit: 20
      log_neighbor_changes: true
      neighbors:
        - neighbor_address: 192.0.2.1
          remote_as: 65537
          password:
            encryption: 7
            key: 12090404011C03162E
    state: replaced

# Task output:
# ------------
# fatal: [Nexus9000v]: FAILED! => changed=false
#    msg: Neighbor 203.0.113.2 has address-family configurations.
#         Please use the nxos_bgp_neighbor_af module to remove those first.

# Remove a VRF having AF configurations with state replaced (will fail)

# Before state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65536
#   log-neighbor-changes
#   maxas-limit 20
#   router-id 198.51.100.2
#   neighbor 192.0.2.1
#     remote-as 65537
#     password 7 12090404011C03162E
#   vrf site-1
#     address-family ipv4 unicast
#       default-information originate
#     neighbor 203.0.113.2
#       remote-as 65538
#       affinity-group 160
#       description NBR-1
#       low-memory exempt
#   vrf site-2
#     neighbor-down fib-accelerate

- name: Remove a VRF having AF configurations (should fail)
  cisco.nxos.nxos_bgp_global:
    config:
      as_number: 65536
      router_id: 198.51.100.2
      maxas_limit: 20
      log_neighbor_changes: true
      neighbors:
        - neighbor_address: 192.0.2.1
          remote_as: 65537
          password:
            encryption: 7
            key: 12090404011C03162E
      vrfs:
        - vrf: site-2
          neighbor_down:
            fib_accelerate: true
    state: replaced

# Task output:
# ------------
# fatal: [Nexus9000v]: FAILED! => changed=false
#    msg: VRF site-1 has address-family configurations.
#         Please use the nxos_bgp_af module to remove those first.

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

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

Ключ

Описание

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

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

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

Пример: ["router bgp 65563", "maxas-limit 20", "router-id 192.168.1.1", "confederation peers 65020 65030 65040", "neighbor 192.168.1.100", "remote-as 65563", "affinity-group 160", "bmp-activate-server 1", "description NBR-1", "low-memory exempt", "vrf site-1", "log-neighbor-changes", "neighbor 198.51.100.1", "remote-as 65562", "description site-1-nbr-1", "password 3 13D4D3549493D2877B1DC116EE27A6BE"]

gathered

dictionary

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

Возвращается: если state равен gathered

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

parsed

dictionary

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

Возвращается: если state равен parsed

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

rendered

list / elements=string

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

Возвращается: если state равен rendered

Пример: ["router bgp 65563", "maxas-limit 20", "router-id 192.168.1.1"]

Авторы

  • Nilashish Chakraborty (@NilashishC)

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

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

© 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_bgp_global_module.html

Spec-Zone.ru

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