Модуль junipernetworks.junos.junos_static_routes — Модуль ресурса статических маршрутов
Примечание
Этот модуль входит в коллекцию junipernetworks.junos (версия 8.0.0).
Эта коллекция, возможно, уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Чтобы установить ее, используйте: ansible-galaxy collection install junipernetworks.junos. Для использования этого модуля требуются дополнительные зависимости, см. Требования для получения подробной информации.
Чтобы использовать его в книге задач, укажите: junipernetworks.junos.junos_static_routes.
Новая в junipernetworks.junos 1.0.0
Описание
- Этот модуль предоставляет средства декларативного управления статическими маршрутами на устройствах Juniper JUNOS.
Псевдонимы: static_routes
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- ncclient (>=v0.6.4)
- xmltodict (>=0.12)
Параметры
Параметр | Комментарии |
|---|---|
config список / элементы=словарь | Словарь опций статических маршрутов |
|
address_families список / элементы=словарь |
Семейство адресов для использования со статическими маршрутами |
|
afi строка / обязательно |
afi для использования со статическими маршрутами Варианты:
|
|
routes список / элементы=словарь |
Настройка статического маршрута |
|
dest строка |
Назначение статического маршрута, включая префикс |
|
metric целое число |
Значение метрики для статического маршрута |
|
next_hop список / элементы=словарь |
Следующий узел назначения |
|
forward_router_address строка |
Список следующих узлов |
|
vrf строка |
Имя виртуального маршрутизатора и шлюза (VRF) |
running_config строка | Этот параметр используется только со значением parsed. Значение этого параметра должно соответствовать выводу с устройства Junos, полученного при выполнении команды show routing-options. Состояние parsed считывает конфигурацию из параметра |
state строка | Состояние, в котором должна оставаться конфигурация Варианты:
|
Примечания
Примечание
- Этот модуль требует, чтобы служба netconf была включена на управляемом устройстве.
- Этот модуль работает с подключением
netconf. См. документацию по платформам Junos OS. - Проверено на JunOS v18.4R1
Примеры
# Using deleted
# Before state
# ------------
#
# admin# show routing-options
# static {
# route 192.168.47.0/24 next-hop 172.16.1.2;
# route 192.168.16.0/24 next-hop 172.16.1.2;
# }
- name: Delete provided configuration (default operation is merge)
junipernetworks.junos.junos_static_routes:
config:
- address_families:
- afi: ipv4
routes:
- dest: 192.168.16.0/24
next_hop:
- forward_router_address: 172.16.1.2
state: deleted
# Task Output
# -----------
# before:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.168.47.0/24
# next_hop:
# - forward_router_address: 172.16.1.2
# - dest: 192.168.16.0/24
# next_hop:
# - forward_router_address: 172.16.1.2
# commands:
# - '<nc:routing-options
# xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"><nc:static><nc:route
# delete="delete"><nc:name>192.168.16.0/24</nc:name></nc:route></nc:static></nc:routing-options>'
# - '<nc:routing-instances xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"/>'
# after:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.168.47.0/24
# next_hop:
# - forward_router_address: 172.16.1.2
# After state:
# ------------
#
# admin# show routing-options
# static {
# route 192.168.47.0/24 next-hop 172.16.1.2;
# }
# Using merged
# Before state
# ------------
#
# admin# show routing-options
# static {
# route 192.168.47.0/24 next-hop 172.16.1.2;
# }
- name: Merge provided configuration with device configuration (default operation
is merge)
junipernetworks.junos.junos_static_routes:
config:
- address_families:
- afi: ipv4
routes:
- dest: 192.168.16.0/24
next_hop:
- forward_router_address: 172.16.1.2
state: merged
# Task Output
# -----------
# before:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.168.47.0/24
# next_hop:
# - forward_router_address: 172.16.1.2
# commands:
# - '<nc:routing-options
# xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"><nc:static><nc:route><nc:name>192.168.16.0/24</nc:name>
# <nc:next-hop>172.16.1.2</nc:next-hop></nc:route></nc:static></nc:routing-options>'
# - '<nc:routing-instances xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"/>'
# after:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.168.47.0/24
# next_hop:
# - forward_router_address: 172.16.1.2
# - dest: 192.168.16.0/24
# next_hop:
# - forward_router_address: 172.16.1.2
# After state:
# ------------
#
# admin# show routing-options
# static {
# route 192.168.47.0/24 next-hop 172.16.1.2;
# route 192.168.16.0/24 next-hop 172.16.1.2;
# }
# Using overridden
# Before state
# ------------
#
# admin# show routing-options
# static {
# route 192.168.47.0/24 next-hop 172.16.1.2;
# route 192.168.16.0/24 next-hop 172.16.1.2;
# }
- name: Override running configuration with provided configuration (default operation
is merge)
junipernetworks.junos.junos_static_routes:
config:
- address_families:
- afi: ipv4
routes:
- dest: 192.168.16.0/24
next_hop:
- forward_router_address: 172.16.0.1
state: overridden
# Task Output:
# ------------
# before:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.168.47.0/24
# next_hop:
# - forward_router_address: 172.16.1.2
# - dest: 192.168.16.0/24
# next_hop:
# - forward_router_address: 172.16.1.2
# commands:
# - >-
# <nc:routing-options
# xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"><nc:static><nc:route
# delete="delete"><nc:name>192.168.47.0/24</nc:name></nc:route><nc:route
# delete="delete"><nc:name>192.168.16.0/24</nc:name></nc:route></nc:static><nc:static><nc:route><nc:name>192.168.16.0/24</nc:name><nc:next-hop>172.16.0.1</nc:next-hop></nc:route></nc:static></nc:routing-options>
# - '<nc:routing-instances xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"/>'
# after:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.168.16.0/24
# next_hop:
# - forward_router_address: 172.16.0.1
# After state:
# ------------
#
# admin# show routing-options
# static {
# route 192.168.16.0/24 next-hop 172.16.0.1;
# }
# Using replaced
# Before state
# ------------
#
# admin# show routing-options
# static {
# route 192.168.47.0/24 next-hop 172.16.1.2;
# route 192.168.16.0/24 next-hop 172.16.1.2;
# }
- name: Replace provided configuration with device configuration (default operation
is merge)
junipernetworks.junos.junos_static_routes:
config:
- address_families:
- afi: ipv4
routes:
- dest: 192.168.47.0/24
next_hop:
- forward_router_address: 10.200.16.2
state: replaced
# Task Output:
# ------------
# before:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.168.47.0/24
# next_hop:
# - forward_router_address: 172.16.1.2
# - dest: 192.168.16.0/24
# next_hop:
# - forward_router_address: 172.16.1.2
# commands:
# - >-
# <nc:routing-options
# xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"><nc:static><nc:route
# delete="delete"><nc:name>192.168.47.0/24</nc:name></nc:route></nc:static><nc:static><nc:route><nc:name>192.168.47.0/24</nc:name><nc:next-hop>10.200.16.2</nc:next-hop></nc:route></nc:static></nc:routing-options>
# - '<nc:routing-instances xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"/>'
# after:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.168.16.0/24
# next_hop:
# - forward_router_address: 172.16.1.2
# - dest: 192.168.47.0/24
# next_hop:
# - forward_router_address: 10.200.16.2
# After state:
# ------------
#
# admin# show routing-options
# static {
# route 192.168.47.0/24 next-hop 10.200.16.2;
# route 192.168.16.0/24 next-hop 172.16.1.2;
# }
# Using gathered to gather static route facts from the device
# Before state
# ------------
# admin# show routing-options
# static {
# route 192.168.16.0/24 next-hop 172.16.1.2;
# route 192.168.47.0/24 next-hop 10.200.16.2;
# }
- name: Gather static routes facts from the device using junos_static_routes module
junipernetworks.junos.junos_static_routes:
state: gathered
# Task output:
# ------------
# gathered:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.168.16.0/24
# next_hop:
# - forward_router_address: 172.16.1.2
# - dest: 192.168.47.0/24
# next_hop:
# - forward_router_address: 10.200.16.2
# Using rendered
- name: Render platform specific commands (without connecting to the device)
junipernetworks.junos.junos_static_routes:
config:
- address_families:
- afi: ipv4
routes:
- dest: 192.168.16.0/24
next_hop:
- forward_router_address: 172.16.1.2
state: rendered
# Task output:
# ------------
# rendered:
# - '<nc:routing-options
# xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"><nc:static><nc:route><nc:name>192.168.16.0/24</nc:name>
# <nc:next-hop>172.16.1.2</nc:next-hop></nc:route></nc:static></nc:routing-options>'
# Using parsed
# parsed.cfg
# ------------
# <?xml version="1.0" encoding="UTF-8"?>
# <rpc-reply message-id="urn:uuid:0cadb4e8-5bba-47f4-986e-72906227007f">
# <configuration changed-seconds="1590139550" changed-localtime="2020-05-22 09:25:50 UTC">
# <version>18.4R1-S2.4</version>
# <routing-options>
# <static>
# <route>
# <name>192.168.16.0/24</name>
# <next-hop>172.16.1.2</next-hop>
# <next-hop>172.16.1.3</next-hop>
# </route>
# <route>
# <name>192.168.47.0/24</name>
# <next-hop>10.200.16.2</next-hop>
# </route>
# </static>
# </routing-options>
# </configuration>
# </rpc-reply>
- name: Parsed running config (without connecting to the device)
junipernetworks.junos.junos_static_routes:
running_config: "{{ lookup('file', 'parsed.cfg') }}"
state: parsed
# Task output:
# ------------
# parsed:
# - address_families:
# - afi: ipv4
# routes:
# - dest: 192.168.16.0/24
# next_hop:
# - forward_router_address: '[''172.16.1.2'', ''172.16.1.3'']'
# - dest: 192.168.47.0/24
# next_hop:
# - forward_router_address: 10.200.16.2
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:
Ключ | Описание |
|---|---|
after строка | Вызов результата модели конфигурации. Возвращается: при изменении Пример: |
before строка | Конфигурация перед вызовом модели. Возвращается: всегда Пример: |
commands список / элементы=строка | Набор команд, отправленных на удаленное устройство. Возвращается: всегда Пример: |
gathered список / элементы=строка | Данные о сетевом ресурсе, собранные с удаленного устройства в виде структурированных данных. Возвращается: при state равен Пример: |
parsed список / элементы=строка | Родная конфигурация устройства, предоставленная в параметре running_config, разобранная в структурированные данные согласно параметрам аргументов модуля. Возвращается: при state равен Пример: |
rendered список / элементы=строка | Предоставленная конфигурация в задаче, отрендеренная в формате устройства (офлайн). Возвращается: при state равен Пример: |
Ссылки на сборку
© 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/junipernetworks/junos/junos_static_routes_module.html