Модуль cisco.ios.ios_bfd_interfaces – модуль ресурсов для настройки BFD в интерфейсах.
Примечание
Этот модуль входит в коллекцию cisco.ios (версия 11.4.2).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install cisco.ios.
Чтобы использовать её в плейбуке, укажите: cisco.ios.ios_bfd_interfaces.
Добавлено в cisco.ios 11.3.0
Краткое описание
- Этот модуль управляет конфигурацией BFD в интерфейсах сетевых устройств Cisco IOS.
Параметры
Параметр | Комментарии |
|---|---|
config list / elements=dictionary | Список параметров интерфейса для настройки BFD. |
|
bfd boolean |
Включить или отключить BFD для интерфейса. Значение по умолчанию для устройства может повлиять на идемпотентность. Возможные значения:
|
|
echo boolean |
Использовать дополнительный механизм echo для обнаружения BFD. Возможные значения:
|
|
interval dictionary |
Интервал отправки пакетов BFD |
|
input integer |
Интервал между отправляемыми управляющими пакетами BFD: 50–9999 миллисекунд |
|
min_rx integer |
Минимально допустимый интервал приёма: 50–9999 миллисекунд |
|
multiplier integer |
Множитель обнаружения: 3–50 |
|
jitter boolean |
Включить джиттер интервала отправки BFD. Возможные значения:
|
|
local_address string |
Локальный адрес BFD. |
|
name string / обязательный |
Полное имя интерфейса, например GigabitEthernet0/2, loopback999. Короткие имена интерфейсов, например Gi0/2, Lo999, могут повлиять на идемпотентность. |
|
template string |
Шаблон BFD (может повлиять на другие параметры конфигурации BFD), Ansible не гарантирует корректное выполнение операций с состоянием. |
running_config string | Этот параметр используется только с состоянием parsed. Значением этого параметра должен быть вывод, полученный с устройства IOS XE при выполнении команды show running-config | section ^interface. Состояние parsed считывает конфигурацию из параметра |
state string | Состояние, в котором следует оставить конфигурацию Состояния rendered, gathered и parsed не вносят изменений на устройстве. Состояние rendered преобразует конфигурацию из параметра Состояние gathered получает текущую конфигурацию устройства и преобразует её в структурированные данные в формате, соответствующем argspec модуля ресурсов. Значение возвращается в ключе gathered в результате. Состояние parsed считывает конфигурацию из параметра Возможные значения:
|
Примечания
Примечание
- Тестирование выполнено в CML на Cisco IOSXE версии 17.3.
- Этот модуль работает с подключением
network_cli. См. https://docs.ansible.com/ansible/latest/network/user_guide/platform_ios.html - В примерах модуля используется плагин обратного вызова (stdout_callback = yaml) для вывода задач в формате YAML.
Примеры
# Using state: merged
# Before state:
# -------------
# router-ios#show running-config | section ^interface
# interface GigabitEthernet1
# ip address dhcp
# negotiation auto
# interface GigabitEthernet2
# no ip address
# shutdown
# negotiation auto
# interface GigabitEthernet3
# no ip address
# shutdown
# negotiation auto
# interface GigabitEthernet4
# no ip address
# shutdown
# negotiation auto
- name: Apply the provided BFD configuration to interfaces
cisco.ios.ios_bfd_interfaces:
config:
- name: GigabitEthernet1
bfd: true
jitter: false
interval:
input: 100
min_rx: 100
multiplier: 3
local_address: 10.0.1.2
template: ANSIBLE
- name: GigabitEthernet2
bfd: true
jitter: true
interval:
input: 100
min_rx: 100
multiplier: 3
- name: GigabitEthernet4
template: ANSIBLE_Tempalte
state: merged
# Commands Fired:
# ---------------
# after:
# - interval:
# input: 100
# min_rx: 100
# multiplier: 3
# jitter: false
# local_address: 10.0.1.2
# name: GigabitEthernet1
# - interval:
# input: 100
# min_rx: 100
# multiplier: 3
# name: GigabitEthernet2
# - name: GigabitEthernet3
# - name: GigabitEthernet4
# template: ANSIBLE_Tempalte
# before:
# - name: GigabitEthernet1
# - name: GigabitEthernet2
# - name: GigabitEthernet3
# - name: GigabitEthernet4
# changed: true
# commands:
# - interface GigabitEthernet1
# - bfd enable
# - bfd local-address 10.0.1.2
# - bfd interval 100 min_rx 100 multiplier 3
# - bfd template ANSIBLE
# - no bfd jitter
# - interface GigabitEthernet2
# - bfd enable
# - bfd jitter
# - bfd interval 100 min_rx 100 multiplier 3
# - interface GigabitEthernet4
# - bfd template ANSIBLE_Tempalte
# After state:
# ------------
# router-ios#show running-config | section ^interface
# interface GigabitEthernet1
# ip address dhcp
# negotiation auto
# bfd local-address 10.0.1.2
# bfd interval 100 min_rx 100 multiplier 3
# no bfd jitter
# interface GigabitEthernet2
# no ip address
# shutdown
# negotiation auto
# bfd interval 100 min_rx 100 multiplier 3
# interface GigabitEthernet3
# no ip address
# shutdown
# negotiation auto
# interface GigabitEthernet4
# no ip address
# shutdown
# negotiation auto
# bfd template ANSIBLE_Tempalte
# Using state: replaced
# Before state:
# -------------
# router-ios#show running-config | section ^interface
# interface GigabitEthernet1
# ip address dhcp
# negotiation auto
# bfd local-address 10.0.1.2
# bfd interval 100 min_rx 100 multiplier 3
# no bfd jitter
# interface GigabitEthernet2
# no ip address
# shutdown
# negotiation auto
# bfd interval 100 min_rx 100 multiplier 3
# interface GigabitEthernet3
# no ip address
# shutdown
# negotiation auto
# interface GigabitEthernet4
# no ip address
# shutdown
# negotiation auto
# bfd template ANSIBLE_Tempalte
- name: Replace BFD configuration for specified interfaces
cisco.ios.ios_bfd_interfaces:
config:
- name: GigabitEthernet1
bfd: true
echo: true
jitter: true
interval:
input: 100
min_rx: 100
multiplier: 3
local_address: 10.0.1.2
template: ANSIBLE
- name: GigabitEthernet2
bfd: true
echo: true
jitter: true
interval:
input: 100
min_rx: 100
multiplier: 3
- name: GigabitEthernet6
template: ANSIBLE_3Tempalte
state: replaced
# Commands Fired:
# ---------------
# "commands": [
# "interface GigabitEthernet1",
# "bfd enable",
# "bfd echo",
# "bfd jitter",
# "bfd local-address 10.0.1.2",
# "bfd interval 100 min_rx 100 multiplier 3",
# "bfd template ANSIBLE",
# "interface GigabitEthernet2",
# "bfd enable",
# "bfd echo",
# "bfd jitter",
# "bfd interval 100 min_rx 100 multiplier 3",
# "no bfd template OLD_TEMPLATE",
# "interface GigabitEthernet6",
# "bfd template ANSIBLE_3Tempalte"
# ]
# After state:
# ------------
# router-ios#show running-config | section ^interface
# interface GigabitEthernet1
# description Ansible UT interface 1
# no shutdown
# bfd enable
# bfd echo
# bfd jitter
# bfd local-address 10.0.1.2
# bfd interval 100 min_rx 100 multiplier 3
# bfd template ANSIBLE
# interface GigabitEthernet2
# description Ansible UT interface 2
# ip address dhcp
# bfd enable
# bfd echo
# bfd jitter
# bfd interval 100 min_rx 100 multiplier 3
# interface GigabitEthernet3
# description Ansible UT interface 3
# no ip address
# shutdown
# bfd jitter
# bfd local-address 10.0.1.2
# bfd interval 50 min_rx 50 multiplier 3
# interface GigabitEthernet6
# bfd template ANSIBLE_3Tempalte
# Using state: overridden
# Before state:
# -------------
# router-ios#show running-config | section ^interface
# interface GigabitEthernet1
# description Ansible UT interface 1
# no shutdown
# bfd local-address 10.0.0.1
# bfd interval 57 min_rx 66 multiplier 45
# interface GigabitEthernet2
# description Ansible UT interface 2
# ip address dhcp
# bfd template OLD_TEMPLATE
# interface GigabitEthernet3
# description Ansible UT interface 3
# no ip address
# shutdown
# bfd jitter
# bfd local-address 10.0.1.2
# bfd interval 50 min_rx 50 multiplier 3
- name: Override all BFD configuration with provided configuration
cisco.ios.ios_bfd_interfaces:
config:
- name: GigabitEthernet1
bfd: true
echo: true
jitter: true
interval:
input: 100
min_rx: 100
multiplier: 3
local_address: 10.0.1.2
template: ANSIBLE
- name: GigabitEthernet2
bfd: true
echo: true
jitter: true
interval:
input: 100
min_rx: 100
multiplier: 3
- name: GigabitEthernet6
template: ANSIBLE_3Tempalte
state: overridden
# Commands Fired:
# ---------------
# "commands": [
# "interface GigabitEthernet3",
# "no bfd jitter",
# "no bfd local-address 10.0.1.2",
# "no bfd interval 50 min_rx 50 multiplier 3",
# "interface GigabitEthernet1",
# "bfd enable",
# "bfd echo",
# "bfd jitter",
# "bfd local-address 10.0.1.2",
# "bfd interval 100 min_rx 100 multiplier 3",
# "bfd template ANSIBLE",
# "interface GigabitEthernet2",
# "bfd enable",
# "bfd echo",
# "bfd jitter",
# "bfd interval 100 min_rx 100 multiplier 3",
# "no bfd template OLD_TEMPLATE",
# "interface GigabitEthernet6",
# "bfd template ANSIBLE_3Tempalte"
# ]
# After state:
# ------------
# router-ios#show running-config | section ^interface
# interface GigabitEthernet1
# description Ansible UT interface 1
# no shutdown
# bfd enable
# bfd echo
# bfd jitter
# bfd local-address 10.0.1.2
# bfd interval 100 min_rx 100 multiplier 3
# bfd template ANSIBLE
# interface GigabitEthernet2
# description Ansible UT interface 2
# ip address dhcp
# bfd enable
# bfd echo
# bfd jitter
# bfd interval 100 min_rx 100 multiplier 3
# interface GigabitEthernet3
# description Ansible UT interface 3
# no ip address
# shutdown
# interface GigabitEthernet6
# bfd template ANSIBLE_3Tempalte
# Using state: deleted
# Before state:
# -------------
# router-ios#show running-config | section ^interface
# interface GigabitEthernet1
# description Ansible UT interface 1
# no shutdown
# bfd local-address 10.0.0.1
# bfd interval 57 min_rx 66 multiplier 45
# interface GigabitEthernet2
# description Ansible UT interface 2
# ip address dhcp
# bfd template OLD_TEMPLATE
# interface GigabitEthernet3
# description Ansible UT interface 3
# no ip address
# shutdown
# bfd jitter
# bfd local-address 10.0.1.2
# bfd interval 50 min_rx 50 multiplier 3
- name: Delete BFD configuration for specified interfaces
cisco.ios.ios_bfd_interfaces:
config:
- name: GigabitEthernet1
- name: GigabitEthernet2
state: deleted
# Commands Fired:
# ---------------
# "commands": [
# "interface GigabitEthernet1",
# "no bfd local-address 10.0.0.1",
# "no bfd interval 57 min_rx 66 multiplier 45",
# "interface GigabitEthernet2",
# "no bfd template OLD_TEMPLATE"
# ]
# After state:
# ------------
# router-ios#show running-config | section ^interface
# interface GigabitEthernet1
# description Ansible UT interface 1
# no shutdown
# interface GigabitEthernet2
# description Ansible UT interface 2
# ip address dhcp
# interface GigabitEthernet3
# description Ansible UT interface 3
# no ip address
# shutdown
# bfd jitter
# bfd local-address 10.0.1.2
# bfd interval 50 min_rx 50 multiplier 3
# Using state: gathered
# Before state:
# -------------
# router-ios#show running-config | section ^interface
# interface GigabitEthernet1
# description Ansible UT interface 1
# no shutdown
# bfd local-address 10.0.0.1
# bfd interval 57 min_rx 66 multiplier 45
# interface GigabitEthernet2
# description Ansible UT interface 2
# ip address dhcp
# bfd template OLD_TEMPLATE
# interface GigabitEthernet3
# description Ansible UT interface 3
# no ip address
# shutdown
# bfd jitter
# bfd local-address 10.0.1.2
# bfd interval 50 min_rx 50 multiplier 3
- name: Gather listed BFD interfaces config
cisco.ios.ios_bfd_interfaces:
state: gathered
# Module Execution Result:
# ------------------------
# "gathered": [
# {
# "name": "GigabitEthernet1",
# "local_address": "10.0.0.1",
# "interval": {
# "input": 57,
# "min_rx": 66,
# "multiplier": 45
# }
# },
# {
# "name": "GigabitEthernet2",
# "template": "OLD_TEMPLATE"
# },
# {
# "name": "GigabitEthernet3",
# "jitter": true,
# "local_address": "10.0.1.2",
# "interval": {
# "input": 50,
# "min_rx": 50,
# "multiplier": 3
# }
# }
# ]
# After state:
# -------------
# router-ios#show running-config | section ^interface
# interface GigabitEthernet1
# description Ansible UT interface 1
# no shutdown
# bfd local-address 10.0.0.1
# bfd interval 57 min_rx 66 multiplier 45
# interface GigabitEthernet2
# description Ansible UT interface 2
# ip address dhcp
# bfd template OLD_TEMPLATE
# interface GigabitEthernet3
# description Ansible UT interface 3
# no ip address
# shutdown
# bfd jitter
# bfd local-address 10.0.1.2
# bfd interval 50 min_rx 50 multiplier 3
# Using state: rendered
- name: Render the commands for provided configuration
cisco.ios.ios_bfd_interfaces:
config:
- name: GigabitEthernet1
local_address: 10.0.0.1
interval:
input: 57
min_rx: 66
multiplier: 45
- name: GigabitEthernet2
template: OLD_TEMPLATE
- name: GigabitEthernet3
jitter: true
local_address: 10.0.1.2
interval:
input: 50
min_rx: 50
multiplier: 3
state: rendered
# Module Execution Result:
# ------------------------
# "rendered": [
# "interface GigabitEthernet1",
# "bfd local-address 10.0.0.1",
# "bfd interval 57 min_rx 66 multiplier 45",
# "interface GigabitEthernet2",
# "bfd template OLD_TEMPLATE",
# "interface GigabitEthernet3",
# "bfd jitter",
# "bfd local-address 10.0.1.2",
# "bfd interval 50 min_rx 50 multiplier 3"
# ]
# Using state: parsed
# File: parsed.cfg
# ----------------
# interface GigabitEthernet1
# description Ansible UT interface 1
# no shutdown
# bfd local-address 10.0.0.1
# bfd interval 57 min_rx 66 multiplier 45
# interface GigabitEthernet2
# description Ansible UT interface 2
# ip address dhcp
# bfd template OLD_TEMPLATE
# interface GigabitEthernet3
# description Ansible UT interface 3
# no ip address
# shutdown
# no bfd jitter
# bfd local-address 10.0.1.2
# bfd interval 50 min_rx 50 multiplier 3
- name: Parse the provided configuration with the existing running configuration
cisco.ios.ios_bfd_interfaces:
running_config: "{{ lookup('file', 'parsed.cfg') }}"
state: parsed
# Module Execution Result:
# ------------------------
# "parsed": [
# {
# "name": "GigabitEthernet1",
# "local_address": "10.0.0.1",
# "interval": {
# "input": 57,
# "min_rx": 66,
# "multiplier": 45
# }
# },
# {
# "name": "GigabitEthernet2",
# "template": "OLD_TEMPLATE"
# },
# {
# "name": "GigabitEthernet3",
# "jitter": false,
# "local_address": "10.0.1.2",
# "interval": {
# "input": 50,
# "min_rx": 50,
# "multiplier": 3
# }
# }
# ]
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
after list / elements=string | Итоговая конфигурация после выполнения модуля. Возвращается: при наличии изменений Пример: |
before list / elements=string | Конфигурация до выполнения модуля. Возвращается: когда state равен Пример: |
commands list / elements=string | Набор команд, отправленных на удалённое устройство. Возвращается: когда state равен Пример: |
gathered list / elements=string | Факты о сетевом ресурсе, полученные с удалённого устройства в виде структурированных данных. Возвращается: когда state равен Пример: |
parsed list / elements=string | Нативная конфигурация устройства, указанная в параметре running_config и разобранная в структурированные данные согласно argspec модуля. Возвращается: когда state равен Пример: |
rendered list / elements=string | Конфигурация, указанная в задаче и преобразованная в нативный формат устройства (автономно). Возвращается: когда state равен Пример: |
Ссылки на коллекцию
© 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/ios/ios_bfd_interfaces_module.html