Модуль junipernetworks.junos.junos_vlans — модуль ресурса VLAN
Примечание
Этот модуль является частью коллекции junipernetworks.junos (версия 8.0.0).
Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install junipernetworks.junos. Для использования этого модуля потребуются дополнительные зависимости, см. Требования для получения подробной информации.
Для использования в плейбуке укажите: junipernetworks.junos.junos_vlans.
Добавлена в junipernetworks.junos 1.0.0
Обзор
- Этот модуль создаёт и управляет конфигурацией VLAN на устройствах с операционной системой Junos OS.
Псевдонимы: vlans
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- ncclient (>=v0.6.4)
Параметры
Параметр | Комментарии |
|---|---|
config список / элементы=словарь | Словарь опций VLAN |
|
description строка |
Текстовое описание VLAN |
|
l3_interface строка |
Имя логического интерфейса 3-го уровня. |
|
name строка / обязательный |
Имя VLAN. |
|
vlan_id целое число |
Идентификатор VLAN IEEE 802.1q (1..4094). |
running_config строка | Этот параметр используется только со значением parsed. Значение этого параметра должно быть результатом выполнения команды show vlans на устройстве Junos. Значение parsed считывает конфигурацию из параметра |
state строка | Состояние конфигурации после выполнения модуля. Доступные значения:
|
Примечания
Примечание
- Этот модуль требует, чтобы служба netconf была включена на управляемом удалённом устройстве.
- Проверено на Junos OS 18.4R1
- Этот модуль работает с подключением
netconf. - См. Опции платформы Junos OS.
Примеры
# Using merged
#
# Before state
# ------------
#
# vagrant@vsrx# show vlans
#
# [edit]
- name: Merge provided Junos vlans config with running-config
junipernetworks.junos.junos_vlans:
config:
- name: vlan1
vlan_id: 1
- name: vlan2
vlan_id: 2
l3_interface: irb.12
state: merged
#
# -------------------------
# Module Execution Result
# -------------------------
# "after": [
# {
# "name": "vlan1",
# "vlan_id": 1
# },
# {
# "l3_interface": "irb.12",
# "name": "vlan2",
# "vlan_id": 2
# }
# ],
# "before": [],
# "changed": true,
# "commands": [
# "<nc:vlans xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">"
# "<nc:vlan><nc:name>vlan1</nc:name><nc:vlan-id>1</nc:vlan-id></nc:vlan>"
# "<nc:vlan><nc:name>vlan2</nc:name><nc:vlan-id>2</nc:vlan-id><nc:l3-interface>irb.12</nc:l3-interface>"
# "</nc:vlan></nc:vlans>"
# ]
# After state
# -----------
#
# vagrant@vsrx# show vlans
# vlan1 {
# vlan-id 1;
# }
# vlan2 {
# vlan-id 2;
# l3-interface irb.12;
# }
# Using replaced
#
# Before state
# ------------
#
# vagrant@vsrx# show vlans
# vlan1 {
# vlan-id 1;
# }
# vlan2 {
# vlan-id 2;
# l3-interface irb.12;
# }
- name: Replace Junos vlans running-config with the provided config
junipernetworks.junos.junos_vlans:
config:
- name: vlan1
vlan_id: 11
l3_interface: irb.10
- name: vlan2
vlan_id: 2
state: replaced
# -------------------------
# Module Execution Result
# -------------------------
# "after": [
# {
# "l3_interface": "irb.10",
# "name": "vlan1",
# "vlan_id": 11
# },
# {
# "name": "vlan2",
# "vlan_id": 2
# }
# ],
# "before": [
# {
# "name": "vlan1",
# "vlan_id": 1
# },
# {
# "l3_interface": "irb.12",
# "name": "vlan2",
# "vlan_id": 2
# }
# ],
# "changed": true,
# "commands": [
# "<nc:vlans xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">"
# "<nc:vlan delete="delete"><nc:name>vlan1</nc:name></nc:vlan>"
# "<nc:vlan delete="delete"><nc:name>vlan2</nc:name></nc:vlan>"
# "<nc:vlan><nc:name>vlan1</nc:name><nc:vlan-id>11</nc:vlan-id>"
# "<nc:l3-interface>irb.10</nc:l3-interface></nc:vlan><nc:vlan>"
# "<nc:name>vlan2</nc:name><nc:vlan-id>2</nc:vlan-id></nc:vlan></nc:vlans>"
# ]
# After state
# -----------
#
# vagrant@vsrx# show vlans
# vlan1 {
# vlan-id 11;
# l3-interface irb.10;
# }
# vlan2 {
# vlan-id 2;
# }
#
# Using overridden
#
# Before state
# ------------
#
# vagrant@vsrx# show vlans
# vlan1 {
# vlan-id 11;
# l3-interface irb.10;
# }
# vlan2 {
# vlan-id 2;
# }
- name: Override Junos running-config with provided config
junipernetworks.junos.junos_vlans:
config:
- name: vlan3
vlan_id: 3
l3_interface: irb.13
state: overridden
# -------------------------
# Module Execution Result
# -------------------------
# "after": [
# {
# "l3_interface": "irb.13",
# "name": "vlan3",
# "vlan_id": 3
# }
# ],
# "before": [
# {
# "l3_interface": "irb.10",
# "name": "vlan1",
# "vlan_id": 11
# },
# {
# "name": "vlan2",
# "vlan_id": 2
# }
# ],
# "changed": true,
# "commands": [
# "<nc:vlans xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">"
# "<nc:vlan delete="delete"><nc:name>vlan1</nc:name></nc:vlan><nc:vlan delete="delete">"
# "<nc:name>vlan2</nc:name></nc:vlan><nc:vlan><nc:name>vlan3</nc:name><nc:vlan-id>3</nc:vlan-id>"
# "<nc:l3-interface>irb.13</nc:l3-interface></nc:vlan></nc:vlans>"
# ]
# After state
# -----------
#
# vagrant@vsrx# show vlans
# vlan3 {
# vlan-id 3;
# l3-interface irb.13;
# }
#
# Using deleted
#
# Before state
# ------------
#
# vagrant@vsrx# show vlans
# vlan3 {
# vlan-id 3;
# l3-interface irb.13;
# }
- name: Delete specific vlan
junipernetworks.junos.junos_vlans:
config:
- name: vlan3
state: deleted
# -------------------------
# Module Execution Result
# -------------------------
# "after": [],
# "changed": true,
# "commands": [
# "<nc:vlans xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
# "<nc:vlan delete="delete"><nc:name>vlan3</nc:name></nc:vlan></nc:vlans>"
# ]
# After state
# -----------
#
# vagrant@vsrx# show vlans
# vlan1 {
# vlan-id 11;
# l3-interface irb.10;
# }
# vlan2 {
# vlan-id 2;
# }
- name: Gather running vlans configuration
junipernetworks.junos.junos_vlans:
state: gathered
#
# -------------------------
# Module Execution Result
# -------------------------
# "gathered": [
# {
# "l3_interface": "irb.10",
# "name": "vlan1",
# "vlan_id": 11
# },
# {
# "name": "vlan2",
# "vlan_id": 2
# }
# ],
# "changed": false,
#
# Using rendered
#
# Before state
# ------------
#
- name: Render xml for provided facts.
junipernetworks.junos.junos_vlans:
config:
- name: vlan1
vlan_id: 1
- name: vlan2
vlan_id: 2
l3_interface: irb.12
state: rendered
#
# -------------------------
# Module Execution Result
# -------------------------
# "rendered": [
# "<nc:vlans xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">"
# "<nc:vlan><nc:name>vlan1</nc:name><nc:vlan-id>1</nc:vlan-id></nc:vlan>"
# "<nc:vlan><nc:name>vlan2</nc:name><nc:vlan-id>2</nc:vlan-id><nc:l3-interface>irb.12</nc:l3-interface>"
# "</nc:vlan></nc:vlans>"
# ]
# 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>
# <vlans>
# <vlan>
# <name>vlan1</name>
# <vlan-id>1</vlan-id>
# </vlan>
# <vlan>
# <name>vlan2</name>
# <vlan-id>2</vlan-id>
# <l3-interface>irb.12</l3-interface>
# </vlan>
# </vlans>
# </configuration>
# </rpc-reply>
- name: Parse routing instance running config
junipernetworks.junos.junos_vlans:
running_config: "{{ lookup('file', './parsed.cfg') }}"
state: parsed
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "parsed": [
# {
# "name": "vlan1",
# "vlan_id": 1
# },
# {
# "l3_interface": "irb.12",
# "name": "vlan2",
# "vlan_id": 2
# }
# ]
#
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
after список / элементы=строка | Конфигурация в структурированном формате после выполнения модуля. Возвращается: при изменении Пример: |
before список / элементы=строка | Конфигурация в структурированном формате до вызова модуля. Возвращается: всегда Пример: |
commands список / элементы=строка | Набор команд, переданных на удалённое устройство. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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_vlans_module.html