junipernetworks.junos.junos_lldp_global 模块 – LLDP 资源模块

注意

此模块是 junipernetworks.junos 集合(版本 9.1.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了这个集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install junipernetworks.junos。您需要其他要求才能使用此模块,请参阅 要求 以了解详细信息。

要在 playbook 中使用它,请指定:junipernetworks.junos.junos_lldp_global

junipernetworks.junos 1.0.0 中的新增功能

概要

  • 此模块管理 Juniper JUNOS 设备上的链路层发现协议 (LLDP) 属性。

要求

在执行此模块的主机上需要以下要求。

  • ncclient (>=v0.6.4)

参数

参数

注释

config

字典

链路层发现协议属性配置的列表

address

字符串

此参数从 LLDP 设置管理地址。

enabled

布尔值

此参数是用于启用或禁用 LLDP 的布尔值。

选择

  • false

  • true

hold_multiplier

整数

指定在丢弃 LLDP 信息之前保持 LLDP 信息的秒数。乘数值与 interval 值结合使用。

interval

整数

发送 LLDP 通告的频率(以秒为单位)。

transmit_delay

整数

指定在本地系统发生更改后设备等待多长时间才向邻居发送通告。

running_config

字符串

此选项仅与状态 _parsed_ 一起使用。

此选项的值应是通过执行命令 **show protocols lldp** 从 Junos 设备收到的输出。

状态 _parsed_ 从 running_config 选项读取配置,并根据资源模块的 argspec 将其转换为 Ansible 结构化数据,然后该值将返回到结果中的 _parsed_ 键中

state

字符串

模块完成后配置的状态。

选择

  • "merged" ←(默认)

  • "replaced"

  • "deleted"

  • "gathered"

  • "rendered"

  • "parsed"

说明

注意

  • 此模块要求在被管理的远程设备上启用 netconf 系统服务。

  • 已针对 vSRX JUNOS 版本 18.4R1 进行测试。

  • 此模块与连接 netconf 一起使用。请参阅 Junos OS 平台选项

示例

# Using merged
# Before state:
# -------------
# user@junos01# # show protocols lldp
#
- name: Merge provided configuration with device configuration
  junipernetworks.junos.junos_lldp_global:
    config:
      interval: 10000
      address: 10.1.1.1
      transmit_delay: 400
      hold_multiplier: 10
    state: merged

# After state:
# -------------
# user@junos01# show protocols lldp
# management-address 10.1.1.1;
# advertisement-interval 10000;
# transmit-delay 400;
# hold-multiplier 10;

# Using replaced
# Before state:
# -------------
# user@junos01# show protocols lldp
# management-address 10.1.1.1;
# advertisement-interval 10000;
# transmit-delay 400;
# hold-multiplier 10;

- name: Replace provided configuration with device configuration
  junipernetworks.junos.junos_lldp_global:
    config:
      address: 20.2.2.2
      hold_multiplier: 30
      enabled: false
    state: replaced

# After state:
# -------------
# user@junos01# show protocols lldp
# disable;
# management-address 20.2.2.2;
# hold-multiplier 30;

# Using deleted
# Before state:
# -------------
# user@junos01# show protocols lldp
# management-address 20.2.2.2;
# hold-multiplier 30;

- name: Delete lldp configuration (this will by default remove all lldp configuration)
  junipernetworks.junos.junos_lldp_global:
    state: deleted

# After state:
# -------------
# user@junos01# # show protocols lldp
#
#
# Using gathered
# Before state:
# ------------
#
# ansible@cm123456tr21# show protocols lldp
# management-address 10.1.1.1;
# advertisement-interval 10000;
# transmit-delay 400;
# hold-multiplier 10;
# interface ge-0/0/1;
# interface ge-0/0/2 {
#     disable;
# }
- name: Gather junos lldp_global as in given arguments
  junipernetworks.junos.junos_lldp_global:
    state: gathered
# Task Output (redacted)
# -----------------------
#
# "gathered": {
#         "address": "10.1.1.1",
#         "hold_multiplier": 10,
#         "interval": 10000,
#         "transmit_delay": 400
#     }
# After state:
# ------------
#
# ansible@cm123456tr21# show protocols lldp
# management-address 10.1.1.1;
# advertisement-interval 10000;
# transmit-delay 400;
# hold-multiplier 10;
# interface ge-0/0/1;
# interface ge-0/0/2 {
#     disable;
# }
# Using rendered
- name: Render platform specific xml from task input using rendered state
  junipernetworks.junos.junos_lldp_global:
    config:
      interval: 10000
      address: 10.1.1.1
      transmit_delay: 400
      hold_multiplier: 10
    state: rendered
# Task Output (redacted)
# -----------------------
# "rendered": "<nc:protocols
#     xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
#     <nc:lldp>
#         <nc:management-address>10.1.1.1</nc:management-address>
#         <nc:advertisement-interval>10000</nc:advertisement-interval>
#         <nc:transmit-delay>400</nc:transmit-delay>
#         <nc:hold-multiplier>10</nc:hold-multiplier>
#         <nc:disable delete="delete"/>
#     </nc:lldp>
# </nc:protocols>"
#
# 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">
#         <protocols>
#             <ospf>
#                 <area>
#                     <name>0.0.0.0</name>
#                     <interface>
#                         <name>ge-0/0/0.0</name>
#                     </interface>
#                 </area>
#             </ospf>
#             <lldp>
#                 <management-address>10.1.1.1</management-address>
#                 <advertisement-interval>10000</advertisement-interval>
#                 <transmit-delay>400</transmit-delay>
#                 <hold-multiplier>10</hold-multiplier>
#                 <interface>
#                     <name>ge-0/0/1</name>
#                 </interface>
#                 <interface>
#                     <name>ge-0/0/2</name>
#                     <disable/>
#                 </interface>
#             </lldp>
#         </protocols>
#     </configuration>
# </rpc-reply>
# - name: Convert lldp global config to argspec without connecting to the appliance
#   junipernetworks.junos.junos_lldp_global:
#     running_config: "{{ lookup('file', './parsed.cfg') }}"
#     state: parsed
# Task Output (redacted)
# -----------------------
# "parsed": {
#         "address": "10.1.1.1",
#         "hold_multiplier": 10,
#         "interval": 10000,
#         "transmit_delay": 400
#     }

返回值

通用返回值记录在此处,以下是此模块特有的字段

描述

after

字典

模块完成后作为结构化数据的配置。

返回:当发生更改时

示例: "返回的 配置 将始终 采用 上述参数 相同的格式。\n"

before

字典

模块调用之前作为结构化数据的配置。

返回:始终

示例: "返回的 配置 将始终 采用 上述参数 相同的格式。\n"

commands

列表 / 元素=字符串

推送到远程设备的命令集。

返回:始终

示例: ["<nc:protocols xmlns:nc=\"urn:ietf:params:xml:ns:netconf:base:1.0\"> <nc:lldp> <nc:management-address>10.1.1.1</nc:management-address> <nc:advertisement-interval>10000</nc:advertisement-interval> <nc:transmit-delay>400</nc:transmit-delay> <nc:hold-multiplier>10</nc:hold-multiplier> <nc:disable delete=\"delete\"/> </nc:lldp> </nc:protocols>", "xml 2", "xml 3"]

作者

  • Ganesh Nalawade (@ganeshrn)