Spec-Zone.ru › Ansible

Модуль 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 для использования со статическими маршрутами

Варианты:

  • "ipv4"
  • "ipv6"

routes

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

Настройка статического маршрута

dest

строка

Назначение статического маршрута, включая префикс

metric

целое число

Значение метрики для статического маршрута

next_hop

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

Следующий узел назначения

forward_router_address

строка

Список следующих узлов

vrf

строка

Имя виртуального маршрутизатора и шлюза (VRF)

running_config

строка

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

Значение этого параметра должно соответствовать выводу с устройства Junos, полученного при выполнении команды show routing-options.

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

state

строка

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

Варианты:

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

Примечания

Примечание

  • Этот модуль требует, чтобы служба 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

строка

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

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

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

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

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

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

Пример: ["command 1", "command 2", "command 3"]

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

Пример: ["<nc:protocols xmlns:nc=\"urn:ietf:params:xml:ns:netconf:base:1.0\">"]

Авторы

  • Daniel Mellado (@dmellado)

Ссылки на сборку

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

© 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

Spec-Zone.ru

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