Spec-Zone.ru › Ansible

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

Примечание

Этот модуль входит в коллекцию cisco.nxos (версия 8.1.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

Настройка группы соответствия.

group_id

integer

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

as_number

string

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

bestpath

dictionary

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

always_compare_med

boolean

Сравнивать MED на путях от разных AS.

Варианты:

  • false
  • true

as_path

dictionary

AS-путь.

ignore

boolean

Игнорировать AS-путь при выборе лучшего пути.

Варианты:

  • false
  • true

multipath_relax

boolean

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

Варианты:

  • false
  • true

compare_neighborid

boolean

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

Варианты:

  • false
  • true

compare_routerid

boolean

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

Варианты:

  • false
  • true

cost_community_ignore

boolean

Игнорировать сообщества стоимости при выборе лучшего пути.

Варианты:

  • false
  • true

igp_metric_ignore

boolean

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

Варианты:

  • 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

Группировка на основе nexthop.

Варианты:

  • 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

Местоположение узла в Fabric.

fast_external_fallover

boolean

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

Варианты:

  • false
  • true

flush_routes

boolean

Очистить маршруты в RIB при контролируемой перезагрузке.

Варианты:

  • false
  • true

graceful_restart

dictionary

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

helper

boolean

Настроить функциональность режима Graceful Restart Helper.

Варианты:

  • false
  • true

restart_time

integer

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

set

boolean

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

Варианты:

  • false
  • true

stalepath_time

integer

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

graceful_shutdown

dictionary

Graceful-shutdown для протокола 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 для изоляции этого маршрутизатора.

Choices:

  • false
  • true

log_neighbor_changes

boolean

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

Choices:

  • false
  • true

maxas_limit

integer

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

neighbor_down

dictionary

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

fib_accelerate

boolean

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

Choices:

  • false
  • true

neighbors

list / elements=dictionary

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

bfd

dictionary

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

multihop

dictionary

Многоходовой сеанс.

interval

dictionary

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

min_rx_interval

integer

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

multiplier

integer

Обнаружить множитель.

tx_interval

integer

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

set

boolean

Установить BFD многоходовой.

Choices:

  • false
  • true

set

boolean

Установить BFD для этого соседа.

Choices:

  • false
  • true

singlehop

boolean

Одноходовой сеанс.

Choices:

  • false
  • true

bmp_activate_server

integer

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

capability

dictionary

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

suppress_4_byte_as

boolean

Подавить возможность 4-байтного AS.

Choices:

  • false
  • true

description

string

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

disable_connected_check

boolean

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

Choices:

  • false
  • true

dont_capability_negotiate

boolean

Не договариваться о возможностях с этим соседом.

Choices:

  • false
  • true

dscp

string

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

dynamic_capability

boolean

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

Choices:

  • false
  • true

ebgp_multihop

integer

Укажите многоходовое TTL для удаленного узла.

graceful_shutdown

dictionary

Плавно завершить работу для этого соседа.

activate

dictionary

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

route_map

string

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

set

boolean

Установить activate.

Choices:

  • false
  • true

inherit

dictionary

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

peer

string

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

peer_session

string

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

local_as

string

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

log_neighbor_changes

dictionary

Сообщение журнала для события поднятия/падения соседа.

disable

boolean

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

Choices:

  • false
  • true

set

boolean

Установить log-neighbor-changes.

Choices:

  • false
  • true

low_memory

dictionary

Поведение в ситуациях с малым объемом памяти.

exempt

boolean

Не закрывать этого узла при низком уровне памяти.

Choices:

  • false
  • true

neighbor_address

string / required

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

neighbor_affinity_group

dictionary

Настроить группу соответствий.

group_id

integer

ID группы соответствий.

password

dictionary

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

encryption

integer

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

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

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

key

string

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

path_attribute

list / elements=dictionary

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

action

string

Действие.

Choices:

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

range

dictionary

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

end

integer

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

start

integer

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

type

integer

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

peer_type

string

Соседний интерфейс

Choices:

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

remote_as

string

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

remote_as_route_map

string

Карта маршрутов для сопоставления номера AS соседа префикса.

remove_private_as

dictionary

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

all

boolean

Все.

Choices:

  • false
  • true

replace_as

boolean

Заменить.

Choices:

  • false
  • true

set

boolean

Удалить частный AS.

Choices:

  • false
  • true

shutdown

boolean

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

Choices:

  • false
  • true

timers

dictionary

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

holdtime

integer

Таймаут ожидания (секунды).

keepalive

integer

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

transport

dictionary

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

connection_mode

dictionary

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

passive

boolean

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

Choices:

  • false
  • true

ttl_security

dictionary

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

hops

integer

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

update_source

string

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

nexthop

dictionary

Параметры разрешения Nexthop.

suppress_default_resolution

boolean

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

Choices:

  • false
  • true

rd

dictionary

Вторичный отличительный маршрутизатор для пограничного шлюза vxlan multisite.

dual

boolean

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

Choices:

  • false
  • true

id

integer

Укажите 2-байтовое значение для ID.

reconnect_interval

integer

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

router_id

string

Укажите IP-адрес для использования в качестве router-id.

shutdown

boolean

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

Choices:

  • false
  • true

suppress_fib_pending

boolean

Объявлять только маршруты, запрограммированные в оборудовании, пирам.

Choices:

  • false
  • true

timers

dictionary

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

bestpath_limit

dictionary

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

always

boolean

Настройка параметра update-delay-always.

Choices:

  • false
  • true

timeout

integer

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

bgp

dictionary

Настройка различных keepalive и holdtimes BGP.

holdtime

integer

Holdtime (секунды).

keepalive

integer

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

prefix_peer_timeout

integer

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

prefix_peer_wait

integer

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

vrfs

list / elements=dictionary

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

allocate_index

integer

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

bestpath

dictionary

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

always_compare_med

boolean

Сравнивать MED на путях от разных AS.

Choices:

  • false
  • true

as_path

dictionary

AS-Path.

ignore

boolean

Игнорировать AS-Path при выборе лучшего пути.

Choices:

  • false
  • true

multipath_relax

boolean

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

Choices:

  • false
  • true

compare_neighborid

boolean

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

Choices:

  • false
  • true

compare_routerid

boolean

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

Choices:

  • false
  • true

cost_community_ignore

boolean

Игнорировать сообщества затрат при выборе лучшего пути.

Choices:

  • false
  • true

igp_metric_ignore

boolean

Игнорировать метрику IGP для next-hop при выборе лучшего пути.

Choices:

  • false
  • true

med

dictionary

MED

confed

boolean

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

Choices:

  • false
  • true

missing_as_worst

boolean

Рассматривать отсутствующий MED как наибольший MED.

Choices:

  • false
  • true

non_deterministic

boolean

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

Choices:

  • false
  • true

cluster_id

string

Настроить Route Reflector Cluster-ID.

confederation

dictionary

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

identifier

string

Установить AS конфедерации маршрутного домена.

peers

list / elements=string

Пир-AS в конфедерации BGP.

graceful_restart

dictionary

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

helper

boolean

Настроить функциональность режима Graceful Restart Helper.

Choices:

  • false
  • true

restart_time

integer

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

set

boolean

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

Choices:

  • false
  • true

stalepath_time

integer

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

local_as

string

Указать local-as для этого vrf.

log_neighbor_changes

boolean

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

Choices:

  • false
  • true

maxas_limit

integer

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

neighbor_down

dictionary

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

fib_accelerate

boolean

Ускорить обновления оборудования для IP/IPv6 соединений для соседа.

Choices:

  • false
  • true

neighbors

list / elements=dictionary

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

bfd

dictionary

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

multihop

dictionary

Многоходовый сеанс.

interval

dictionary

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

min_rx_interval

integer

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

multiplier

integer

Обнаружить множитель.

tx_interval

integer

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

set

boolean

Установить BFD multihop.

Choices:

  • false
  • true

set

boolean

Установить BFD для этого соседа.

Choices:

  • false
  • true

singlehop

boolean

Сеанс single-hop.

Choices:

  • false
  • true

bmp_activate_server

integer

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

capability

dictionary

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

suppress_4_byte_as

boolean

Подавить возможность 4-байтного AS.

Choices:

  • false
  • true

description

string

Описание, специфичное для соседа.

disable_connected_check

boolean

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

Choices:

  • false
  • true

dont_capability_negotiate

boolean

Не вести переговоры о возможностях с этим соседом.

Choices:

  • false
  • true

dscp

string

Установить значение dscp для tcp-транспорта.

dynamic_capability

boolean

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

Choices:

  • false
  • true

ebgp_multihop

integer

Укажите многоходовое TTL для удаленного пира.

graceful_shutdown

dictionary

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

activate

dictionary

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

route_map

string

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

set

boolean

Установить activate.

Choices:

  • false
  • true

inherit

dictionary

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

peer

string

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

peer_session

string

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

local_as

string

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

log_neighbor_changes

dictionary

Сообщение журнала для события перехода соседа вверх/вниз.

disable

boolean

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

Choices:

  • false
  • true

set

boolean

Установить log-neighbor-changes.

Choices:

  • false
  • true

low_memory

dictionary

Поведение в ситуациях с низким объёмом памяти.

exempt

boolean

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

Choices:

  • false
  • true

neighbor_address

string / required

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

neighbor_affinity_group

dictionary

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

group_id

integer

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

password

dictionary

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

encryption

integer

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

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

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

key

string

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

path_attribute

list / elements=dictionary

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

action

string

Действие.

Choices:

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

range

dictionary

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

end

integer

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

start

integer

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

type

integer

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

peer_type

string

Соседний интерфейс

Choices:

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

remote_as

string

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

remote_as_route_map

string

Маршрутная карта для сопоставления номера AS соседа префикса.

remove_private_as

dictionary

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

all

boolean

Все.

Choices:

  • false
  • true

replace_as

boolean

Заменить.

Choices:

  • false
  • true

set

boolean

Удалить частный AS.

Choices:

  • false
  • true

shutdown

boolean

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

Choices:

  • false
  • true

timers

dictionary

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

holdtime

integer

Holdtime (секунды).

keepalive

integer

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

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

Настройка различных таймеров bgp keepalive и holdtime.

holdtime

integer

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

keepalive

integer

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

prefix_peer_timeout

integer

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

prefix_peer_wait

integer

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

vrf

string

Имя VRF.

running_config

string

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

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

Состояние parsed считывает конфигурацию из параметра running_config и преобразует её в структурированные данные Ansible в соответствии с argspec модуля ресурса, а затем возвращает значение в ключе 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, чем тот, который указан в задаче. В таких случаях используйте состояние purged для удаления существующего процесса BGP и дальнейших действий.

Состояния 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

словарь

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

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

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

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

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

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

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

словарь

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

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

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

parsed

словарь

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

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

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

rendered

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

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

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

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

Авторы

  • Nilashish Chakraborty (@NilashishC)

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

  • Система отслеживания ошибок
  • Репозиторий (источники)

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

Spec-Zone.ru

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