Модуль cisco.nxos.nxos_static_routes — модуль ресурса статических маршрутов
Примечание
Этот модуль входит в коллекцию cisco.nxos (версия 11.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install cisco.nxos.
Чтобы использовать коллекцию в плейбуке, укажите: cisco.nxos.nxos_static_routes.
Добавлено в cisco.nxos 1.0.0
Краткое описание
- Этот модуль настраивает атрибуты статических маршрутов на платформах Cisco NX-OS и управляет ими.
Примечание
Этому модулю соответствует плагин действий.
Псевдонимы: static_routes
Параметры
Параметр | Описание |
|---|---|
config list / elements=dictionary | Список конфигураций статических маршрутов |
|
address_families list / elements=dictionary |
Словарь, указывающий семейство адресов, к которому относятся статические маршруты. |
|
afi string / обязательный |
Указывает индикатор семейства адресов верхнего уровня. Варианты:
|
|
routes list / elements=dictionary |
Словарь с конфигурациями статических маршрутов |
|
dest string / обязательный |
Префикс назначения статического маршрута Формат адреса: <адрес ipv4/v6>/<маска> Маска — число в диапазоне 0–32 для IPv4 и 0–128 для IPv6 |
|
next_hops list / elements=dictionary |
Сведения о следующем участке маршрута |
|
admin_distance integer |
Приоритет или административное расстояние маршрута (диапазон 1–255) |
|
dest_vrf string |
VRF назначения |
|
forward_router_address string |
IP-адрес маршрутизатора следующего перехода |
|
interface string |
Исходящий интерфейс. Для любого интерфейса, кроме «Null0», также необходимо настроить IP-адрес следующего перехода. |
|
route_name string |
Имя статического маршрута |
|
tag integer |
Значение тега маршрута (числовое) |
|
track integer |
Значение track (диапазон 1–512). Перед добавлением маршрута track должен быть настроен на устройстве. |
|
vrf string |
VRF, к которому относятся статические маршруты |
running_config string | Этот параметр используется только при состоянии parsed. Значением этого параметра должен быть вывод, полученный с устройства NX-OS при последовательном выполнении следующих команд: show running-config | include ‘^ip(v6* route’) и show running-config | section ‘^vrf context’. Состояние parsed считывает конфигурацию из параметра |
state string | Состояние, в котором должна остаться конфигурация Состояния rendered, gathered и parsed не вносят изменений на устройстве. Состояние rendered преобразует конфигурацию из параметра Состояние Состояние gathered получает текущую конфигурацию с устройства, преобразует ее в структурированные данные в соответствии со спецификацией аргументов модуля ресурса, а значение возвращает в ключе gathered результата. Состояние parsed считывает конфигурацию из параметра Варианты:
|
Примечания
Примечание
- Проверено на Nexus 9300v с NX-OS 9.3.6 в CML.
- Не поддерживается на Cisco MDS
- При настройке маршрута для несуществующей VRF эта VRF создается, и в нее добавляется маршрут.
- При удалении маршрутов для VRF удаляются все маршруты внутри VRF, но сама VRF не удаляется.
Примеры
# Using deleted - delete all
# Before state:
# -------------
#
# switch# show running-config | include '^ip(v6)* route'
# ip route 192.0.2.32/28 192.0.2.12 name new_route
# ip route 192.0.2.26/24 192.0.2.13 tag 12
# switch# show running-config | section '^vrf context'
- name: Delete all routes
cisco.nxos.nxos_static_routes:
state: deleted
# Task Output
# -----------
#
# before:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.0/24
# next_hops:
# - forward_router_address: 192.0.2.13
# tag: 12
# - dest: 192.0.2.32/28
# next_hops:
# - forward_router_address: 192.0.2.12
# route_name: new_route
# commands:
# - no ip route 192.0.2.0/24 192.0.2.13 tag 12
# - no ip route 192.0.2.32/28 192.0.2.12 name new_route
# after: []
# After state:
# ------------
# switch# show running-config | include '^ip(v6)* route'
# switch# show running-config | section '^vrf context'
# Using deleted - vrf based
# Before state:
# ------------
#
# switch# show running-config | include '^ip(v6)* route'
# ip route 192.0.2.16/28 192.0.2.24 name new_route
# ip route 192.0.2.80/28 192.0.2.26 tag 12
# switch# show running-config | section '^vrf context'
# vrf context trial_vrf
# ip route 192.0.2.64/28 192.0.2.22 tag 4
# ip route 192.0.2.64/28 192.0.2.23 name merged_route 1
# ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5
- name: Delete routes based on VRF
cisco.nxos.nxos_static_routes:
config:
- vrf: trial_vrf
state: deleted
# Task Output
# -----------
#
# before:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.64/28
# next_hops:
# - forward_router_address: 192.0.2.22
# tag: 4
# - admin_distance: 1
# forward_router_address: 192.0.2.23
# route_name: merged_route
# - afi: ipv6
# routes:
# - dest: '2200:10::/36'
# next_hops:
# - admin_distance: 5
# dest_vrf: dest
# forward_router_address: '2048:ae12::1'
# vrf: trial_vrf
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.16/28
# next_hops:
# - forward_router_address: 192.0.2.24
# route_name: new_route
# - dest: 192.0.2.80/28
# next_hops:
# - forward_router_address: 192.0.2.26
# tag: 12
# commands:
# - vrf context trial_vrf
# - no ip route 192.0.2.64/28 192.0.2.22 tag 4
# - no ip route 192.0.2.64/28 192.0.2.23 name merged_route 1
# - no ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5
# after:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.16/28
# next_hops:
# - forward_router_address: 192.0.2.24
# route_name: new_route
# - dest: 192.0.2.80/28
# next_hops:
# - forward_router_address: 192.0.2.26
# tag: 12
# After state:
# -----------
#
# switch# show running-config | include '^ip(v6)* route'
# ip route 192.0.2.16/28 192.0.2.24 name new_route
# ip route 192.0.2.80/28 192.0.2.26 tag 12
# switch# show running-config | section '^vrf context'
# vrf context trial_vrf
# Using deleted - afi based
# Before state:
# ------------
#
# switch# show running-config | include '^ip(v6)* route'
# ip route 192.0.2.16/28 192.0.2.24 name new_route
# ip route 192.0.2.80/28 192.0.2.26 tag 12
# switch# show running-config | section '^vrf context'
# vrf context trial_vrf
# ip route 192.0.2.64/28 192.0.2.22 tag 4
# ip route 192.0.2.64/28 192.0.2.23 name merged_route 1
# ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5
- name: Delete routes based on AFI in a VRF
cisco.nxos.nxos_static_routes:
config:
- vrf: trial_vrf
address_families:
- afi: ipv4
state: deleted
# Task Output
# -----------
#
# before:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.64/28
# next_hops:
# - forward_router_address: 192.0.2.22
# tag: 4
# - admin_distance: 1
# forward_router_address: 192.0.2.23
# route_name: merged_route
# - afi: ipv6
# routes:
# - dest: '2200:10::/36'
# next_hops:
# - admin_distance: 5
# dest_vrf: dest
# forward_router_address: '2048:ae12::1'
# vrf: trial_vrf
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.16/28
# next_hops:
# - forward_router_address: 192.0.2.24
# route_name: new_route
# - dest: 192.0.2.80/28
# next_hops:
# - forward_router_address: 192.0.2.26
# tag: 12
# commands:
# - vrf context trial_vrf
# - no ip route 192.0.2.64/28 192.0.2.22 tag 4
# - no ip route 192.0.2.64/28 192.0.2.23 name merged_route 1
# after:
# - address_families:
# - afi: ipv6
# routes:
# - dest: '2200:10::/36'
# next_hops:
# - admin_distance: 5
# dest_vrf: dest
# forward_router_address: '2048:ae12::1'
# vrf: trial_vrf
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.16/28
# next_hops:
# - forward_router_address: 192.0.2.24
# route_name: new_route
# - dest: 192.0.2.80/28
# next_hops:
# - forward_router_address: 192.0.2.26
# tag: 12
# After state:
# -----------
#
# switch# show running-config | include '^ip(v6)* route'
# ip route 192.0.2.16/28 192.0.2.24 name new_route
# ip route 192.0.2.80/28 192.0.2.26 tag 12
# switch# show running-config | section '^vrf context'
# vrf context trial_vrf
# ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5
# Using merged
# Before state:
# -------------
# switch# show running-config | include '^ip(v6)* route'
# switch# show running-config | section '^vrf context'
- name: Merge new static route configuration
cisco.nxos.nxos_static_routes:
config:
- vrf: trial_vrf
address_families:
- afi: ipv4
routes:
- dest: 192.0.2.64/24
next_hops:
- forward_router_address: 192.0.2.22
tag: 4
admin_distance: 2
- address_families:
- afi: ipv4
routes:
- dest: 192.0.2.16/24
next_hops:
- forward_router_address: 192.0.2.24
route_name: new_route
- afi: ipv6
routes:
- dest: '2001:db8::/64'
next_hops:
- interface: eth1/3
forward_router_address: '2001:db8::12'
state: merged
# Task Output
# -----------
#
# before:[]
# commands:
# - vrf context trial_vrf
# - ip route 192.0.2.64/24 192.0.2.22 tag 4 2
# - ip route 192.0.2.16/24 192.0.2.24 name new_route
# - ipv6 route 2001:db8::/64 Ethernet1/3 2001:db8::12
# after:
# - vrf: trial_vrf
# address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.64/24
# next_hops:
# - forward_router_address: 192.0.2.22
# tag: 4
# admin_distance: 2
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.16/24
# next_hops:
# - forward_router_address: 192.0.2.24
# route_name: new_route
# - afi: ipv6
# routes:
# - dest: 2001:db8::/64
# next_hops:
# - interface: eth1/3
# forward_router_address: 2
# After state:
# ------------
#
# switch# show running-config | include '^ip(v6)* route'
# ip route 192.0.2.16/24 192.0.2.24 name new_route
# ipv6 route 2001:db8::/64 Ethernet1/3 2001:db8::12
# switch# show running-config | section '^vrf context'
# vrf context trial_vrf
# ip route 192.0.2.0/24 192.0.2.22 tag 4 2
# Using overridden
# Before state:
# -------------
#
# switch# show running-config | include '^ip(v6)* route'
# ip route 192.0.2.16/28 192.0.2.24 name new_route
# ip route 192.0.2.80/28 192.0.2.26 tag 12
# switch# show running-config | section '^vrf context'
# vrf context trial_vrf
# ip route 192.0.2.64/28 192.0.2.22 tag 4
# ip route 192.0.2.64/28 192.0.2.23 name merged_route 1
- name: Overridden existing static route configuration with new configuration
cisco.nxos.nxos_static_routes:
config:
- vrf: trial_vrf
address_families:
- afi: ipv4
routes:
- dest: 192.0.2.16/28
next_hops:
- forward_router_address: 192.0.2.23
route_name: overridden_route1
admin_distance: 3
- forward_router_address: 192.0.2.45
route_name: overridden_route2
dest_vrf: destinationVRF
interface: Ethernet1/2
state: overridden
# Task Output
# -----------
#
# before:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.64/28
# next_hops:
# - forward_router_address: 192.0.2.22
# tag: 4
# - admin_distance: 1
# forward_router_address: 192.0.2.23
# route_name: merged_route
# vrf: trial_vrf
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.16/28
# next_hops:
# - forward_router_address: 192.0.2.24
# route_name: new_route
# - dest: 192.0.2.80/28
# next_hops:
# - forward_router_address: 192.0.2.26
# tag: 12
# commands:
# - no ip route 192.0.2.16/28 192.0.2.24 name new_route
# - no ip route 192.0.2.80/28 192.0.2.26 tag 12
# - vrf context trial_vrf
# - no ip route 192.0.2.64/28 192.0.2.22 tag 4
# - no ip route 192.0.2.64/28 192.0.2.23 name merged_route 1
# - ip route 192.0.2.16/28 192.0.2.23 name overridden_route1 3
# - ip route 192.0.2.16/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name overridden_route2
# after:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.16/28
# next_hops:
# - admin_distance: 3
# forward_router_address: 192.0.2.23
# route_name: overridden_route1
# - dest_vrf: destinationVRF
# forward_router_address: 192.0.2.45
# interface: Ethernet1/2
# route_name: overridden_route2
# vrf: trial_vrf
# After state:
# ------------
#
# switch# show running-config | include '^ip(v6)* route'
# switch# show running-config | section '^vrf context'
# vrf context trial_vrf
# ip route 192.0.2.16/28 192.0.2.23 name overridden_route1 3
# ip route 192.0.2.16/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name overridden_route2
# Using replaced
# Before state:
# ------------
#
# switch# show running-config | include '^ip(v6)* route'
# ip route 192.0.2.16/28 192.0.2.24 name new_route
# ip route 192.0.2.80/28 192.0.2.26 tag 12
# switch# show running-config | section '^vrf context'
# vrf context trial_vrf
# ip route 192.0.2.64/28 192.0.2.22 tag 4
# ip route 192.0.2.64/28 192.0.2.23 name merged_route 1
- name: Replaced the existing static configuration of a prefix with new configuration
cisco.nxos.nxos_static_routes:
config:
- address_families:
- afi: ipv4
routes:
- dest: 192.0.2.16/28
next_hops:
- forward_router_address: 192.0.2.23
route_name: replaced_route1
admin_distance: 3
- forward_router_address: 192.0.2.45
route_name: replaced_route2
dest_vrf: destinationVRF
interface: Ethernet1/2
state: replaced
# Task Output
# -----------
#
# before:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.64/28
# next_hops:
# - forward_router_address: 192.0.2.22
# tag: 4
# - admin_distance: 1
# forward_router_address: 192.0.2.23
# route_name: merged_route
# vrf: trial_vrf
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.16/28
# next_hops:
# - forward_router_address: 192.0.2.24
# route_name: new_route
# - dest: 192.0.2.80/28
# next_hops:
# - forward_router_address: 192.0.2.26
# tag: 12
# commands:
# - no ip route 192.0.2.16/28 192.0.2.24 name new_route
# - ip route 192.0.2.16/28 192.0.2.23 name replaced_route1 3
# - ip route 192.0.2.16/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2
# after:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.64/28
# next_hops:
# - forward_router_address: 192.0.2.22
# tag: 4
# - admin_distance: 1
# forward_router_address: 192.0.2.23
# route_name: merged_route
# vrf: trial_vrf
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.16/28
# next_hops:
# - admin_distance: 3
# forward_router_address: 192.0.2.23
# route_name: replaced_route1
# - dest_vrf: destinationVRF
# forward_router_address: 192.0.2.45
# interface: Ethernet1/2
# route_name: replaced_route2
# - dest: 192.0.2.80/28
# next_hops:
# - forward_router_address: 192.0.2.26
# tag: 12
# After state:
# ------------
#
# switch# show running-config | include '^ip(v6)* route'
# ip route 192.0.2.16/28 192.0.2.23 name replaced_route1 3
# ip route 192.0.2.16/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2
# ip route 192.0.2.80/28 192.0.2.26 tag 12
# switch# show running-config | section '^vrf context'
# vrf context trial_vrf
# ip route 192.0.2.64/28 192.0.2.22 tag 4
# ip route 192.0.2.64/28 192.0.2.23 name merged_route 1
# Using gathered
# Before state:
# -------------
#
# switch# show running-config | include '^ip(v6)* route'
# ipv6 route 2001:db8:12::/32 2001:db8::12
# switch# show running-config | section '^vrf context'
# vrf context Test
# ip route 192.0.2.48/28 192.0.2.13
# ip route 192.0.2.48/28 192.0.2.14 5
- name: Gather the existing configuration
cisco.nxos.nxos_static_routes:
state: gathered
# Task Output
# -----------
#
# gathered:
# - vrf: Test
# address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.48/28
# next_hops:
# - forward_router_address: 192.0.2.13
#
# - forward_router_address: 192.0.2.14
# admin_distance: 5
#
# - address_families:
# - afi: ipv6
# routes:
# - dest: 2001:db8:12::/32
# next_hops:
# - forward_router_address: 2001:db8::12
# Using rendered
- name: Render required configuration to be pushed to the device
cisco.nxos.nxos_static_routes:
config:
- address_families:
- afi: ipv4
routes:
- dest: 192.0.2.48/28
next_hops:
- forward_router_address: 192.0.2.13
- afi: ipv6
routes:
- dest: 2001:db8::/64
next_hops:
- interface: eth1/3
forward_router_address: 2001:db8::12
state: rendered
# Task Output
# -----------
#
# rendered:
# vrf context default
# ip route 192.0.2.48/28 192.0.2.13
# ipv6 route 2001:db8::/64 Ethernet1/3 2001:db8::12
# Using parsed
- name: Parse the config to structured data
cisco.nxos.nxos_static_routes:
state: parsed
running_config: |
ipv6 route 2002:db8:12::/32 2002:db8:12::1
vrf context Test
ip route 192.0.2.48/28 192.0.2.13
ip route 192.0.2.48/28 192.0.2.14 5
# Task Output
# -----------
#
# parsed:
# - vrf: Test
# address_families:
# - afi: ipv4
# routes:
# - dest: 192.0.2.48/28
# next_hops:
# - forward_router_address: 192.0.2.13
# - forward_router_address: 192.0.2.14
# admin_distance: 5
# - address_families:
# - afi: ipv6
# routes:
# - dest: 2002:db8:12::/32
# next_hops:
# - forward_router_address: 2002:db8:12::1
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
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 и преобразованная в структурированные данные согласно спецификации аргументов модуля. Возвращается: когда 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/nxos/nxos_static_routes_module.html