Spec-Zone.ru › Ansible

Модуль cisco.ios.ios_hsrp_interfaces — модуль ресурсов для настройки HSRP на интерфейсах.

Примечание

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

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

Для установки используйте: ansible-galaxy collection install cisco.ios.

Чтобы использовать модуль в плейбуке, укажите: cisco.ios.ios_hsrp_interfaces.

Добавлено в cisco.ios 10.1.0

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

Описание

  • Этот модуль обеспечивает декларативное управление конфигурацией HSRP на интерфейсе устройств Cisco IOS.

Примечание

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

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

Параметры

Параметр

Комментарии

config

list / elements=dictionary

Список параметров конфигурации HSP для добавления в интерфейс

bfd

boolean

Включить BFD для HSRP

Варианты:

  • false
  • true

delay

dictionary

Задержка инициализации HSRP

minimum

integer

Задержка не менее указанного времени

reload

integer

Задержка после перезагрузки

mac_refresh

integer

Обновлять кэш MAC-адресов на коммутаторе, периодически отправляя пакет с виртуального MAC-адреса

name

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

Полное имя интерфейса без номера логического модуля, например GigabitEthernet0/1.

redirect

dictionary

Конфигурация перенаправления

advertisement

dictionary

Сообщения объявления перенаправления (standby redirect advertisement authentication md5)

authentication

dictionary

Настройка аутентификации

encryption

string

Указать шифрование: 0 (без шифрования/по умолчанию) или 7 (скрытое)

key_chain

string

Указать связку ключей

key_string

string

Указать строку ключа

password_text

string

Текст пароля для открытого текста и строки ключа

time_out

integer

Указать тайм-аут

timers

dictionary

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

adv_timer

integer

Интервал объявления пассивного маршрутизатора в секундах

holddown_timer

integer

Интервал удержания пассивного маршрутизатора в секундах

standby_options

псевдонимы: standby_groups

list / elements=dictionary

Номер группы и параметры группы для резервного режима (HSRP)

authentication

dictionary

Настройка аутентификации

encryption

integer

Указать шифрование: 0 (без шифрования/по умолчанию) или 7 (скрытое)

key_chain

string

Указать связку ключей

key_string

string

Указать строку ключа

password_text

string

Текст пароля для открытого текста и строки ключа

time_out

integer

Указать тайм-аут

follow

string

Включить BFD для HSRP

group_name

string

Строка имени резервирования

group_no

integer

Номер группы

ip

list / elements=dictionary

Включить HSRP для IPv4 и задать виртуальный IP-адрес

secondary

boolean

Сделать этот IP-адрес вторичным виртуальным IP-адресом

Варианты:

  • false
  • true

virtual_ip

string

Виртуальный IP-адрес

ipv6

dictionary

Включить HSRP для IPv6 и задать IP-адрес

addresses

list / elements=string

Локальный для канала адрес IPv6 или префикс IPv6

autoconfig

boolean

Получить адрес с помощью автоконфигурации

Варианты:

  • false
  • true

mac_address

string

Виртуальный MAC-адрес

preempt

dictionary

Вытеснять активные маршрутизаторы с более низким приоритетом

delay

boolean

Подождать перед вытеснением

Варианты:

  • false
  • true

enabled

boolean

Включает вытеснение; задаёт отдельную команду `standby <grp_no> preempt`

Варианты:

  • false
  • true

minimum

integer

Задержка не менее указанного времени

reload

integer

Задержка после перезагрузки

sync

integer

Ожидать клиентов резервирования IP

priority

integer

Уровень приоритета (по умолчанию — 100)

По умолчанию: 100

timers

dictionary

Вытеснять активные маршрутизаторы с более низким приоритетом

hello_interval

integer

Интервал hello в секундах

hold_time

integer

Время удержания в секундах

msec

dictionary

Указать интервал hello в миллисекундах

hello_interval

integer

<15-999> Интервал hello в миллисекундах

hold_time

integer

<60-3000> Время удержания в миллисекундах

track

list / elements=dictionary

Отслеживание приоритета

decrement

integer

Уменьшение приоритета

shutdown

boolean

Отключить группу

Варианты:

  • false
  • true

track_no

integer

Номер отслеживаемого объекта

use_bia

dictionary

HSRP использует заводской адрес интерфейса (не работает с MAC-адресом)

scope

boolean

Параметр use-bia применяется ко всем группам на этом интерфейсе или субинтерфейсе

Варианты:

  • false
  • true

set

boolean

Задать use-bia

Варианты:

  • false
  • true

version

integer

Версия HSRP (если указан standby_options, по умолчанию используется версия 1)

Варианты:

  • 1
  • 2

running_config

string

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

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

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

state

string

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

Состояния rendered, gathered и parsed не вносят изменений на устройстве.

Состояние rendered преобразует конфигурацию в параметре config в платформенно-специфичные команды CLI, которые будут возвращены в ключе rendered в результатах выполнения. Для состояния rendered активное подключение к удалённому узлу не требуется.

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

Состояние parsed считывает конфигурацию из параметра running_config и преобразует её в формат JSON в соответствии с параметрами модуля ресурса; значение возвращается в ключе parsed в результатах выполнения. Значение параметра running_config должно иметь тот же формат, что и результат выполнения на устройстве команды show running-config | section ^interface. Для состояния parsed активное подключение к удалённому узлу не требуется.

Варианты:

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

Примечания

Примечание

  • Проверено на Cisco IOSXE версии 17.16.
  • Этот модуль работает с подключением network_cli. См. https://docs.ansible.com/ansible/latest/network/user_guide/platform_ios.html
  • В примерах модуля используется плагин обратного вызова (callback_result_format=yaml) для формирования вывода задачи в формате yaml.
  • Для обеспечения идемпотентности модуль считает, что значение version по умолчанию равно 1, поскольку оно подразумевается устройством и отсутствует в текущей конфигурации. Если при настройке не указано значение Priority, по умолчанию оно равно 100.

Примеры

# Using merged

# Before state:
# -------------
#
# Router#show running-config | section ^interface
# interface GigabitEthernet1
#  description Management interface do not change
#  ip address dhcp
#  negotiation auto
# interface GigabitEthernet2
#  no ip address
#  speed 1000
#  no negotiation auto
# interface GigabitEthernet3
#  no ip address
#  speed 1000
#  no negotiation auto
# interface GigabitEthernet4
#  no ip address


- name: Populate the device with HSRP interface configuration
  cisco.ios.hsrp_interfaces:
    state: merged
    config:
      - delay:
          minimum: 5555
          reload: 556
        mac_refresh: 45
        name: Vlan70
        redirect:
          advertisement:
            authentication:
              key_chain: HSRP_CHAIN
          timers:
            adv_timer: 10
            holddown_timer: 55
        standby_options:
          - authentication:
              encryption: 7
              key_string: 0123456789ABCDEF
            follow: MASTER_GROUP
            group_name: PRIMARY_GROUP
            group_no: 10
            ip:
              - secondary: true
                virtual_ip: 10.0.10.2
            preempt:
              delay: true
              enabled: true
              minimum: 100
              reload: 50
              sync: 30
            priority: 110
            timers:
              hold_time: 250
              msec:
                hello_interval: 200
            track:
              - decrement: 20
                track_no: 1
          - follow: MASTER_GROUP
            group_name: IPV6_GROUP
            group_no: 20
            ipv6:
              addresses:
                - '2001:db8:20::1/64'
              autoconfig: true
            mac_address: 0000.0000.0014
            priority: 120
        version: 2
      - delay:
          minimum: 100
          reload: 200
        name: Vlan100
        standby_options:
          - authentication:
              password_text: hello_secret
            group_name: BACKUP_GROUP
            group_no: 5
            ip:
              - virtual_ip: 192.168.1.1
            preempt:
              enabled: true
            priority: 150
            timers:
              hello_interval: 5
              hold_time: 15
            track:
              - decrement: 30
                track_no: 10
        version: 2
      - name: GigabitEthernet3
        standby_options:
          - group_no: 1
            ip:
              - virtual_ip: 172.16.1.1
            priority: 100
        version: 1
      - name: GigabitEthernet2
        standby_options:
          - authentication:
              key_chain: AUTH_CHAIN
            group_no: 2
            ip:
              - secondary: true
                virtual_ip: 172.16.2.1
            priority: 100
        version: 1


# Task Output
# -----------
#
# before:
# -   name: GigabitEthernet1
# -   name: GigabitEthernet2
# -   name: GigabitEthernet3
# -   name: GigabitEthernet4
# -   name: Vlan70
# -   name: Vlan100
# commands:
# - interface Vlan70
# - standby version 2
# - standby delay minimum 5555 reload 556
# - standby mac-refresh 45
# - standby redirect timers 10 55
# - standby redirect advertisement authentication md5 key-chain HSRP_CHAIN
# - standby 10 follow MASTER_GROUP
# - standby 10 name PRIMARY_GROUP
# - standby 10 preempt delay minimum 100 reload 50 sync 30
# - standby 10 priority 110
# - standby 10 authentication md5 key-string 7 0123456789ABCDEF
# - standby 10 ip 10.0.10.2 secondary
# - standby 10 track 1 decrement 20
# - standby 20 follow MASTER_GROUP
# - standby 20 mac-address 0000.0000.0014
# - standby 20 name IPV6_GROUP
# - standby 20 priority 120
# - standby 20 ipv6 autoconfig
# - standby 20 ipv6 2001:db8:20::1/64
# - interface Vlan100
# - standby version 2
# - standby delay minimum 100 reload 200
# - standby 5 name BACKUP_GROUP
# - standby 5 preempt
# - standby 5 priority 150
# - standby 5 authentication ********
# - standby 5 ip 192.168.1.1
# - standby 5 track 10 decrement 30
# - interface GigabitEthernet3
# - standby version 1
# - standby 1 priority 100
# - standby 1 ip 172.16.1.1
# - interface GigabitEthernet2
# - standby version 1
# - standby 2 priority 100
# - standby 2 authentication md5 key-chain AUTH_CHAIN
# - standby 2 ip 172.16.2.1 secondary
# after:
# -   name: GigabitEthernet1
# -   name: GigabitEthernet2
#     standby_options:
#     -   authentication:
#             key_chain: AUTH_CHAIN
#         group_no: 2
#         ip:
#         -   secondary: true
#             virtual_ip: 172.16.2.1
#         priority: 100
# -   name: GigabitEthernet3
#     standby_options:
#     -   group_no: 1
#         ip:
#         -   virtual_ip: 172.16.1.1
#         priority: 100
# -   name: GigabitEthernet4
# -   delay:
#         minimum: 5555
#         reload: 556
#     mac_refresh: 45
#     name: Vlan70
#     redirect:
#         advertisement:
#             authentication:
#                 key_chain: HSRP_CHAIN
#         timers:
#             adv_timer: 10
#             holddown_timer: 55
#     standby_options:
#     -   authentication:
#             encryption: 7
#             key_string: 0123456789ABCDEF
#         follow: MASTER_GROUP
#         group_name: PRIMARY_GROUP
#         group_no: 10
#         ip:
#         -   secondary: true
#             virtual_ip: 10.0.10.2
#         preempt:
#             delay: true
#             enabled: true
#             minimum: 100
#             reload: 50
#             sync: 30
#         priority: 110
#         track:
#         -   decrement: 20
#             track_no: 1
#     -   follow: MASTER_GROUP
#         group_name: IPV6_GROUP
#         group_no: 20
#         ipv6:
#             addresses:
#             - 2001:DB8:20::1/64
#             autoconfig: true
#         mac_address: 0000.0000.0014
#         priority: 120
#     version: 2
# -   delay:
#         minimum: 100
#         reload: 200
#     name: Vlan100
#     standby_options:
#     -   group_name: BACKUP_GROUP
#         group_no: 5
#         ip:
#         -   virtual_ip: 192.168.1.1
#         preempt:
#             enabled: true
#         priority: 150
#         track:
#         -   decrement: 30
#             track_no: 10
#     version: 2

# After state:
# ------------
#
# Router#show running-config | section ^interface
# interface GigabitEthernet1
#  ip address dhcp
#  negotiation auto
# !
# interface GigabitEthernet2
#  no ip address
#  standby 2 ip 172.16.2.1 secondary
#  standby 2 authentication md5 key-chain AUTH_CHAIN
#  shutdown
#  negotiation auto
# !
# interface GigabitEthernet3
#  no ip address
#  standby 1 ip 172.16.1.1
#  shutdown
#  negotiation auto
# !
# interface GigabitEthernet4
#  no ip address
#  shutdown
#  negotiation auto
# !
# interface Vlan70
#  description for test
#  no ip address
#  standby mac-refresh 45
#  standby redirect timers 10 55
#  standby delay minimum 5555 reload 556
#  standby redirect advertisement authentication md5 key-chain HSRP_CHAIN
#  standby version 2
#  standby 10 ip 10.0.10.2 secondary
#  standby 10 follow MASTER_GROUP
#  standby 10 priority 110
#  standby 10 preempt delay minimum 100 reload 50 sync 30
#  standby 10 authentication md5 key-string 7 0123456789ABCDEF
#  standby 10 name PRIMARY_GROUP
#  standby 10 track 1 decrement 20
#  standby 20 ipv6 autoconfig
#  standby 20 ipv6 2001:DB8:20::1/64
#  standby 20 follow MASTER_GROUP
#  standby 20 priority 120
#  standby 20 name IPV6_GROUP
#  standby 20 mac-address 0000.0000.0014
# !
# interface Vlan100
#  description for test
#  no ip address
#  standby delay minimum 100 reload 200
#  standby version 2
#  standby 5 ip 192.168.1.1
#  standby 5 priority 150
#  standby 5 preempt
#  standby 5 name BACKUP_GROUP
#  standby 5 track 10 decrement 30
# !


# Using replaced

# Before state:
# -------------
#
# Router#show running-config | section ^interface
# interface Loopback888
#  no ip address
# interface Loopback999
#  no ip address
# interface GigabitEthernet1
#  description Management interface do not change
#  ip address dhcp
#  negotiation auto
# interface GigabitEthernet2
#  no ip address
#  speed 1000
#  no negotiation auto
# interface GigabitEthernet3
#  no ip address
#  speed 1000
#  standby 22 ip 10.0.0.1 secondary
#  no negotiation auto
# interface GigabitEthernet4
#  no ip address
#  standby 0 priority 5
#  shutdown
#  negotiation auto

- name: Replaces device configuration of listed interfaces with provided configuration
  cisco.ios.ios_hsrp_interfaces:
    config:
      - name: GigabitEthernet3
        standby_groups:
          - group_no: 22
            ip:
              - virtual_ip: 10.0.0.1
                secondary: true
      - name: GigabitEthernet4
        standby_groups:
          - group_no: 0
            priority: 6
    state: replaced

# Task Output
# -----------
#
# before:
# - name: GigabitEthernet1
# - name: GigabitEthernet2
# - name: GigabitEthernet3
#     standby_groups:
#       - group_no: 22
#         ip:
#           - virtual_ip: 192.168.0.2
#             secondary: True
# - name: GigabitEthernet4
#     standby_groups:
#       - group_no: 0
#         priority: 6
# - name: Loopback999
# - name: Loopback888
# commands:
# - interface GigabitEthernet3
# - standby 22 ip 10.0.0.1 secondary
# - interface GigabitEthernet4
# - standby 0 priority 5
# after:
#   name: GigabitEthernet1
#   name: GigabitEthernet2
#   name: GigabitEthernet3
#     standby_groups:
#       - group_no: 22
#         ip:
#           - virtual_ip: 192.168.0.2
#             secondary: True
# - name: GigabitEthernet4
#     standby_groups:
#       - group_no: 0
#         priority: 6
# - name: Loopback999
# - name: Loopback888

# After state:
# ------------
#
# interface Loopback888
#  no ip address
# interface Loopback999
#  no ip address
# interface GigabitEthernet1
#  description Management interface do not change
#  ip address dhcp
#  negotiation auto
# interface GigabitEthernet2
#  no ip address
#  ip ospf network broadcast
#  ip ospf resync-timeout 10
#  ip ospf dead-interval 5
#  speed 1000
#  no negotiation auto
# interface GigabitEthernet3
#  no ip address
#  standby 22 ip 10.0.0.1 secondary
#  speed 1000
#  no negotiation auto
# interface GigabitEthernet4
#  description Auto_Cable_Testing_Ansible
#  no ip address
#  standby 0 priority 6
#  shutdown
#  negotiation auto

# Using overridden

# Before state:
# -------------
#
# interface Loopback888
#  no ip address
# interface Loopback999
#  no ip address
# interface GigabitEthernet1
#  description Management interface do not change
#  ip address dhcp
#  negotiation auto
# interface GigabitEthernet2
#  no ip address
#  ip ospf network broadcast
#  ip ospf resync-timeout 10
#  ip ospf dead-interval 5
#  speed 1000
#  no negotiation auto
# interface GigabitEthernet3
#  no ip address
#  standby 22 ip 10.0.0.1 secondary
#  speed 1000
#  no negotiation auto
# interface GigabitEthernet4
#  description Auto_Cable_Testing_Ansible
#  no ip address
#  standby 0 priority 6
#  shutdown
#  negotiation auto

- name: Override device configuration of all interfaces with provided configuration
  cisco.ios.ios_hsrp_interfaces:
    config:
      - name: GigabitEthernet4
        standby_groups:
          - group_no: 0
            priority: 10
    state: overridden

# Task Output
# -----------
# before:
# - name: GigabitEthernet1
# - name: GigabitEthernet2
# - name: GigabitEthernet3
#     standby_groups:
#       - group_no: 22
#         ip:
#           - virtual_ip: 192.168.0.2
#             secondary: True
# - name: GigabitEthernet4
#     standby_groups:
#       - group_no: 0
#         priority: 6
# - name: Loopback999
# - name: Loopback888
# commands:
# - interface GigabitEthernet3
# - no standby 22 ip 10.0.0.1 secondary
# - interface GigabitEthernet4
# - no standby 0 priority 6
# - standby 0 priority 10
# after:
# - name: GigabitEthernet1
# - name: GigabitEthernet2
# - name: GigabitEthernet3
# - name: GigabitEthernet4
#     standby_groups:
#       - group_no: 0
#         priority: 10
# - name: Loopback999
# - name: Loopback888

# After state:
# ------------
#
# router-ios#show running-config | section ^interface
# interface Loopback888
#  no ip address
# interface Loopback999
#  no ip address
# interface GigabitEthernet1
#  description Management interface do not change
#  ip address dhcp
#  negotiation auto
# interface GigabitEthernet2
#  no ip address
#  ip ospf network broadcast
#  ip ospf resync-timeout 10
#  ip ospf dead-interval 5
#  speed 1000
#  no negotiation auto
# interface GigabitEthernet3
#  no ip address
#  speed 1000
#  no negotiation auto
# interface GigabitEthernet4
#  description Auto_Cable_Testing_Ansible
#  no ip address
#  standby 0 priority 10
#  shutdown
#  negotiation auto

# Using deleted

# Before state:
# -------------
#
# router-ios#show running-config | section ^interface
# interface GigabitEthernet1
#  ip address dhcp
#  negotiation auto
# !
# interface GigabitEthernet2
#  no ip address
#  standby 2 ip 172.16.2.1 secondary
#  standby 2 authentication md5 key-chain AUTH_CHAIN
#  shutdown
#  negotiation auto
# !
# interface GigabitEthernet3
#  no ip address
#  standby 1 ip 172.16.1.1
#  shutdown
#  negotiation auto
# !
# interface GigabitEthernet4
#  no ip address
#  shutdown
#  negotiation auto
# !
# interface Vlan70
#  description for test
#  no ip address
#  standby mac-refresh 45
#  standby redirect timers 10 55
#  standby delay minimum 5555 reload 556
#  standby redirect advertisement authentication md5 key-chain HSRP_CHAIN
#  standby version 2
#  standby 10 ip 10.0.10.2 secondary
#  standby 10 follow MASTER_GROUP
#  standby 10 priority 110
#  standby 10 preempt delay minimum 100 reload 50 sync 30
#  standby 10 authentication md5 key-string 7 0123456789ABCDEF
#  standby 10 name PRIMARY_GROUP
#  standby 10 track 1 decrement 20
#  standby 20 ipv6 autoconfig
#  standby 20 ipv6 2001:DB8:20::1/64
#  standby 20 follow MASTER_GROUP
#  standby 20 priority 120
#  standby 20 name IPV6_GROUP
#  standby 20 mac-address 0000.0000.0014
# !
# interface Vlan100
#  description for test
#  no ip address
#  standby delay minimum 100 reload 200
#  standby version 2
#  standby 5 ip 192.168.1.1
#  standby 5 priority 150
#  standby 5 preempt
#  standby 5 name BACKUP_GROUP
#  standby 5 track 10 decrement 30


- name: "Delete attributes of given interfaces (NOTE: This won't delete the interfaces)"
  cisco.ios.ios_hsrp_interfaces:
    state: deleted

# Task Output
# -----------
#
# before:
# -   name: GigabitEthernet1
# -   name: GigabitEthernet2
#     standby_options:
#     -   authentication:
#             key_chain: AUTH_CHAIN
#         group_no: 2
#         ip:
#         -   secondary: true
#             virtual_ip: 172.16.2.1
#         priority: 100
# -   name: GigabitEthernet3
#     standby_options:
#     -   group_no: 1
#         ip:
#         -   virtual_ip: 172.16.1.1
#         priority: 100
# -   name: GigabitEthernet4
# -   delay:
#         minimum: 5555
#         reload: 556
#     mac_refresh: 45
#     name: Vlan70
#     redirect:
#         advertisement:
#             authentication:
#                 key_chain: HSRP_CHAIN
#         timers:
#             adv_timer: 10
#             holddown_timer: 55
#     standby_options:
#     -   authentication:
#             encryption: 7
#             key_string: 0123456789ABCDEF
#         follow: MASTER_GROUP
#         group_name: PRIMARY_GROUP
#         group_no: 10
#         ip:
#         -   secondary: true
#             virtual_ip: 10.0.10.2
#         preempt:
#             delay: true
#             enabled: true
#             minimum: 100
#             reload: 50
#             sync: 30
#         priority: 110
#         track:
#         -   decrement: 20
#             track_no: 1
#     -   follow: MASTER_GROUP
#         group_name: IPV6_GROUP
#         group_no: 20
#         ipv6:
#             addresses:
#             - 2001:DB8:20::1/64
#             autoconfig: true
#         mac_address: 0000.0000.0014
#         priority: 120
#     version: 2
# -   delay:
#         minimum: 100
#         reload: 200
#     name: Vlan100
#     standby_options:
#     -   group_name: BACKUP_GROUP
#         group_no: 5
#         ip:
#         -   virtual_ip: 192.168.1.1
#         preempt:
#             enabled: true
#         priority: 150
#         track:
#         -   decrement: 30
#             track_no: 10
#     version: 2
# commands:
# - interface GigabitEthernet2
# - no standby version 1
# - no standby 2
# - interface GigabitEthernet3
# - no standby version 1
# - no standby 1
# - interface Vlan70
# - no standby version 2
# - no standby delay minimum 5555 reload 556
# - no standby mac-refresh 45
# - no standby redirect timers 10 55
# - no standby redirect advertisement authentication md5 key-chain HSRP_CHAIN
# - no standby 10
# - no standby 20
# - no standby version 2
# - interface Vlan100
# - no standby version 2
# - no standby delay minimum 100 reload 200
# - no standby 5
# - no standby version 2
# after:
# -   name: GigabitEthernet1
# -   name: GigabitEthernet2
# -   name: GigabitEthernet3
# -   name: GigabitEthernet4
# -   name: Vlan70
# -   name: Vlan100

# After 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
# !
# interface Vlan70
#  description for test
#  no ip address
# !
# interface Vlan100
#  description for test
#  no ip address
# !

# Using gathered

# Before state:
# -------------
# router-ios#show running-config | section ^interface
# interface GigabitEthernet1
#  ip address dhcp
#  negotiation auto
# !
# interface GigabitEthernet2
#  no ip address
#  standby 2 ip 172.16.2.1 secondary
#  standby 2 authentication md5 key-chain AUTH_CHAIN
#  shutdown
#  negotiation auto
# !
# interface GigabitEthernet3
#  no ip address
#  standby 1 ip 172.16.1.1
#  shutdown
#  negotiation auto
# !
# interface GigabitEthernet4
#  no ip address
#  shutdown
#  negotiation auto
# !
# interface Vlan70
#  description for test
#  no ip address
#  standby mac-refresh 45
#  standby redirect timers 10 55
#  standby delay minimum 5555 reload 556
#  standby redirect advertisement authentication md5 key-chain HSRP_CHAIN
#  standby version 2
#  standby 10 ip 10.0.10.2 secondary
#  standby 10 follow MASTER_GROUP
#  standby 10 priority 110
#  standby 10 preempt delay minimum 100 reload 50 sync 30
#  standby 10 authentication md5 key-string 7 0123456789ABCDEF
#  standby 10 name PRIMARY_GROUP
#  standby 10 track 1 decrement 20
#  standby 20 ipv6 autoconfig
#  standby 20 ipv6 2001:DB8:20::1/64
#  standby 20 follow MASTER_GROUP
#  standby 20 priority 120
#  standby 20 name IPV6_GROUP
#  standby 20 mac-address 0000.0000.0014
# !
# interface Vlan100
#  description for test
#  no ip address
#  standby delay minimum 100 reload 200
#  standby version 2
#  standby 5 ip 192.168.1.1
#  standby 5 priority 150
#  standby 5 preempt
#  standby 5 name BACKUP_GROUP
#  standby 5 track 10 decrement 30

- name: Gather facts for hsrp interfaces
  cisco.ios.ios_hsrp_interfaces:
    state: gathered

# Task Output
# -----------
#
# gathered:
# -   name: GigabitEthernet1
# -   name: GigabitEthernet2
#     standby_options:
#     -   authentication:
#             key_chain: AUTH_CHAIN
#         group_no: 2
#         ip:
#         -   secondary: true
#             virtual_ip: 172.16.2.1
#         priority: 100
# -   name: GigabitEthernet3
#     standby_options:
#     -   group_no: 1
#         ip:
#         -   virtual_ip: 172.16.1.1
#         priority: 100
# -   name: GigabitEthernet4
# -   delay:
#         minimum: 5555
#         reload: 556
#     mac_refresh: 45
#     name: Vlan70
#     redirect:
#         advertisement:
#             authentication:
#                 key_chain: HSRP_CHAIN
#         timers:
#             adv_timer: 10
#             holddown_timer: 55
#     standby_options:
#     -   authentication:
#             encryption: 7
#             key_string: 0123456789ABCDEF
#         follow: MASTER_GROUP
#         group_name: PRIMARY_GROUP
#         group_no: 10
#         ip:
#         -   secondary: true
#             virtual_ip: 10.0.10.2
#         preempt:
#             delay: true
#             enabled: true
#             minimum: 100
#             reload: 50
#             sync: 30
#         priority: 110
#         track:
#         -   decrement: 20
#             track_no: 1
#     -   follow: MASTER_GROUP
#         group_name: IPV6_GROUP
#         group_no: 20
#         ipv6:
#             addresses:
#             - 2001:DB8:20::1/64
#             autoconfig: true
#         mac_address: 0000.0000.0014
#         priority: 120
#     version: 2
# -   delay:
#         minimum: 100
#         reload: 200
#     name: Vlan100
#     standby_options:
#     -   group_name: BACKUP_GROUP
#         group_no: 5
#         ip:
#         -   virtual_ip: 192.168.1.1
#         preempt:
#             enabled: true
#         priority: 150
#         track:
#         -   decrement: 30
#             track_no: 10
#     version: 2

# Using rendered

- name: Render the commands for provided configuration
  cisco.ios.ios_hsrp_interfaces:
    config:
      - delay:
          minimum: 5555
          reload: 556
        mac_refresh: 45
        name: Vlan70
        redirect:
          advertisement:
            authentication:
              key_chain: HSRP_CHAIN
          timers:
            adv_timer: 10
            holddown_timer: 55
        standby_options:
          - authentication:
              encryption: 7
              key_string: 0123456789ABCDEF
            follow: MASTER_GROUP
            group_name: PRIMARY_GROUP
            group_no: 10
            ip:
              - virtual_ip: 10.0.10.1
              - secondary: true
                virtual_ip: 10.0.10.2
              - secondary: true
                virtual_ip: 10.0.10.3
            mac_address: 0000.0c07.ac0a
            preempt:
              delay: true
              enabled: true
              minimum: 100
              reload: 50
              sync: 30
            priority: 110
            timers:
              hold_time: 250
              msec:
                hello_interval: 200
            track:
              - decrement: 20
                track_no: 1
              - shutdown: true
                track_no: 2
          - follow: MASTER_GROUP
            group_name: IPV6_GROUP
            group_no: 20
            ipv6:
              addresses:
                - 2001:db8:10::1/64
                - 2001:db8:20::1/64
              autoconfig: true
            mac_address: 0000.0c07.ac14
            priority: 120
        version: 2
      - delay:
          minimum: 100
          reload: 200
        name: Vlan100
        standby_options:
          - authentication:
              password_text: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER
            group_name: BACKUP_GROUP
            group_no: 5
            ip:
              - virtual_ip: 192.168.1.1
            preempt:
              enabled: true
            priority: 150
            timers:
              hello_interval: 5
              hold_time: 15
            track:
              - decrement: 30
                track_no: 10
        version: 2
      - name: GigabitEthernet3
        standby_options:
          - group_no: 1
            ip:
              - virtual_ip: 172.16.1.1
            priority: 100
        use_bia:
          set: true
      - name: GigabitEthernet2
        standby_options:
          - authentication:
              key_chain: AUTH_CHAIN
            group_no: 2
            ip:
              - secondary: true
                virtual_ip: 172.16.2.1
            priority: 100
    state: rendered

# Task Output
# -----------
#
# rendered:
# - interface Vlan70
# - standby version 2
# - standby delay minimum 5555 reload 556
# - standby mac-refresh 45
# - standby redirect timers 10 55
# - standby redirect advertisement authentication md5 key-chain HSRP_CHAIN
# - standby 10 follow MASTER_GROUP
# - standby 10 mac-address 0000.0c07.ac0a
# - standby 10 name PRIMARY_GROUP
# - standby 10 preempt delay minimum 100 reload 50 sync 30
# - standby 10 priority 110
# - standby 10 authentication md5 key-string 7 0123456789ABCDEF
# - standby 10 ip 10.0.10.1
# - standby 10 ip 10.0.10.2 secondary
# - standby 10 ip 10.0.10.3 secondary
# - standby 10 track 1 decrement 20
# - standby 10 track 2 shutdown
# - standby 20 follow MASTER_GROUP
# - standby 20 mac-address 0000.0c07.ac14
# - standby 20 name IPV6_GROUP
# - standby 20 priority 120
# - standby 20 ipv6 autoconfig
# - standby 20 ipv6 2001:db8:10::1/64
# - standby 20 ipv6 2001:db8:20::1/64
# - interface Vlan100
# - standby version 2
# - standby delay minimum 100 reload 200
# - standby 5 name BACKUP_GROUP
# - standby 5 preempt
# - standby 5 priority 150
# - standby 5 authentication ********
# - standby 5 ip 192.168.1.1
# - standby 5 track 10 decrement 30
# - interface GigabitEthernet3
# - standby version 1
# - standby use-bia scope interface
# - standby 1 priority 100
# - standby 1 ip 172.16.1.1
# - interface GigabitEthernet2
# - standby version 1
# - standby 2 priority 100
# - standby 2 authentication md5 key-chain AUTH_CHAIN
# - standby 2 ip 172.16.2.1 secondary

# Using parsed

# File: parsed.cfg
# ----------------
#
# interface Vlan70
#  no ip address
#  standby mac-refresh 45
#  standby redirect timers 10 55
#  standby delay minimum 5555 reload 556
#  standby redirect advertisement authentication md5 key-chain HSRP_CHAIN
#  standby version 2
#  standby 10 ip 10.0.10.1
#  standby 10 ip 10.0.10.2 secondary
#  standby 10 ip 10.0.10.3 secondary
#  standby 10 follow MASTER_GROUP
#  standby 10 timers msec 200 250
#  standby 10 priority 110
#  standby 10 preempt delay minimum 100 reload 50 sync 30
#  standby 10 authentication md5 key-string 7 0123456789ABCDEF
#  standby 10 name PRIMARY_GROUP
#  standby 10 mac-address 0000.0c07.ac0a
#  standby 10 track 1 decrement 20
#  standby 10 track 2 shutdown
#  standby 20 ipv6 2001:db8:10::1/64
#  standby 20 ipv6 2001:db8:20::1/64
#  standby 20 ipv6 autoconfig
#  standby 20 follow MASTER_GROUP
#  standby 20 priority 120
#  standby 20 name IPV6_GROUP
#  standby 20 mac-address 0000.0c07.ac14

# interface Vlan100
#  no ip address
#  standby bfd
#  standby delay minimum 100 reload 200
#  standby version 2
#  standby 5 ip 192.168.1.1
#  standby 5 timers 5 15
#  standby 5 priority 150
#  standby 5 preempt
#  standby 5 authentication hello_secret
#  standby 5 name BACKUP_GROUP
#  standby 5 track 10 decrement 30

# interface GigabitEthernet3
#  standby use-bia
#  standby 1 ip 172.16.1.1
#  standby 1 priority 100

# interface GigabitEthernet2
#  standby follow VLAN70_GROUP
#  standby 2 ip 172.16.2.1 secondary
#  standby 2 authentication md5 key-chain AUTH_CHAIN

# - name: Parse the provided configuration
#   cisco.ios.ios_hsrp_interfaces:
#     running_config: "{{ lookup('file', 'parsed.cfg') }}"
#     state: parsed

# Task Output
# -----------
#
# parsed:
# -   delay:
#         minimum: 5555
#         reload: 556
#     mac_refresh: 45
#     name: Vlan70
#     redirect:
#         advertisement:
#             authentication:
#                 key_chain: HSRP_CHAIN
#         timers:
#             adv_timer: 10
#             holddown_timer: 55
#     standby_options:
#     -   authentication:
#             encryption: 7
#             key_string: 0123456789ABCDEF
#         follow: MASTER_GROUP
#         group_name: PRIMARY_GROUP
#         group_no: 10
#         ip:
#         -   virtual_ip: 10.0.10.1
#         -   secondary: true
#             virtual_ip: 10.0.10.2
#         -   secondary: true
#             virtual_ip: 10.0.10.3
#         mac_address: 0000.0c07.ac0a
#         preempt:
#             delay: true
#             enabled: true
#             minimum: 100
#             reload: 50
#             sync: 30
#         priority: 110
#         timers:
#             hold_time: 250
#             msec:
#                 hello_interval: 200
#         track:
#         -   decrement: 20
#             track_no: 1
#         -   shutdown: true
#             track_no: 2
#     -   follow: MASTER_GROUP
#         group_name: IPV6_GROUP
#         group_no: 20
#         ipv6:
#             addresses:
#             - 2001:db8:10::1/64
#             - 2001:db8:20::1/64
#             autoconfig: true
#         mac_address: 0000.0c07.ac14
#         priority: 120
#     version: 2
# -   delay:
#         minimum: 100
#         reload: 200
#     name: Vlan100
#     standby_options:
#     -   authentication:
#             password_text: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER
#         group_name: BACKUP_GROUP
#         group_no: 5
#         ip:
#         -   virtual_ip: 192.168.1.1
#         preempt:
#             enabled: true
#         priority: 150
#         timers:
#             hello_interval: 5
#             hold_time: 15
#         track:
#         -   decrement: 30
#             track_no: 10
#     version: 2
# -   name: GigabitEthernet3
#     standby_options:
#     -   group_no: 1
#         ip:
#         -   virtual_ip: 172.16.1.1
#         priority: 100
#     use_bia:
#         set: true
# -   name: GigabitEthernet2
#     standby_options:
#     -   authentication:
#             key_chain: AUTH_CHAIN
#         group_no: 2
#         ip:
#         -   secondary: true
#             virtual_ip: 172.16.2.1
#         priority: 100

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

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

Ключ

Описание

after

dictionary

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

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

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

before

dictionary

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

Возвращается: когда state имеет значение merged, replaced, overridden, deleted или purged

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

commands

list / elements=string

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

Возвращается: когда state имеет значение merged, replaced, overridden, deleted или purged

Пример: ["standby 22 ip 10.0.0.1 secondary", "standby 0 priority 5", "standby mac-refresh 21"]

gathered

list / elements=string

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

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

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

parsed

list / elements=string

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

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

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

rendered

list / elements=string

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

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

Пример: ["standby 22 ip 10.0.0.1 secondary", "standby 0 priority 5", "standby mac-refresh 21"]

Авторы

  • Sagar Paul (@KB-perByte)
  • Nikhil Bhasin (@nickbhasin)

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

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

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

Spec-Zone.ru

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