junipernetworks.junos.junos_hostname 模块 – 管理 Junos 设备上的主机名服务器配置。
注意
此模块是 junipernetworks.junos 集合 (版本 9.1.0) 的一部分。
如果您正在使用 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install junipernetworks.junos
。您需要其他要求才能使用此模块,有关详细信息,请参见 要求。
要在 playbook 中使用它,请指定: junipernetworks.junos.junos_hostname
。
junipernetworks.junos 2.9.0 中的新增功能
摘要
此模块管理运行 Junos 的设备上的主机名配置。
要求
执行此模块的主机需要以下要求。
ncclient (>=v0.6.4)
xmltodict (>=0.12.0)
参数
参数 |
注释 |
---|---|
系统主机名配置的字典。 |
|
指定主机名。 |
|
此选项仅与 state *parsed* 一起使用。 此选项的值应为通过执行命令 **show system hostname** 从 Junos 设备接收到的输出。 state *parsed* 从 |
|
配置应保留的状态。 状态 *rendered*、*gathered* 和 *parsed* 不会对设备进行任何更改。 状态 *rendered* 将 对于此模块,状态 *merged*、*replaced* 和 *overridden* 的行为相同。 状态 *gathered* 将获取设备的运行配置,并根据资源模块 argspec 将其转换为结构化数据,该值将返回到结果中的 *gathered* 键中。 状态 *parsed* 从 选项
|
备注
注意
此模块要求在被管理的设备上启用 netconf 系统服务。
此模块与连接
netconf
配合使用。请参阅 Junos OS 平台选项。
针对 JunOS v18.4R1 进行了测试
示例
# Using merged
#
# Before state
# ------------
#
# vagrant@vsrx# show system hostname
#
# [edit]
- name: Merge provided HOSTNAME configuration into running configuration.
junipernetworks.junos.junos_hostname:
config:
hostname: 'vsrx-18.4R1'
state: merged
#
# -------------------------
# Module Execution Result
# -------------------------
# "after": {
# "hostname": "vsrx-18.4R1"
# },
# "before": {},
# "changed": true,
# "commands": [
# "<nc:system xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
# "<nc:host-name>vsrx-18.4R1</nc:host-name></nc:system>"
# ]
# After state
# -----------
#
# [email protected]# show system host-name
# host-name vsrx-18.4R1;
#
# Using replaced
#
# Before state
# ------------
#
# [email protected]# show system host-name
# host-name vsrx-18.4R1;
#
# [edit]
- name: Replaced target config with provided config.
junipernetworks.junos.junos_hostname:
config:
hostname: 'vsrx-12'
state: replaced
#
# -------------------------
# Module Execution Result
# -------------------------
# "after": {
# "hostname": "vsrx-12"
# },
# "before": {
# "hostname": "vsrx-18.4R1"
# },
# "changed": true,
# "commands": [
# "<nc:system xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
# "<nc:host-name>vsrx-12</nc:host-name></nc:system>"
# ]
# After state
# -----------
#
# [email protected]# show system host-name
# host-name vsrx-12;
#
# Using overridden
#
# Before state
# ------------
#
# [email protected]# show system host-name
# host-name vsrx-18.4R1;
#
# [edit]
- name: Replaced target config with provided config.
junipernetworks.junos.junos_hostname:
config:
hostname: 'vsrx-12'
state: overridden
#
# -------------------------
# Module Execution Result
# -------------------------
# "after": {
# "hostname": "vsrx-12"
# },
# "before": {
# "hostname": "vsrx-18.4R1"
# },
# "changed": true,
# "commands": [
# "<nc:system xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
# "<nc:host-name>vsrx-12</nc:host-name></nc:system>"
# ]
# After state
# -----------
#
# [email protected]# show system host-name
# host-name vsrx-12;
#
# Using deleted
#
# Before state
# ------------
#
# [email protected]# show system host-name
# host-name vsrx-12;
#
- name: Delete running HOSTNAME global configuration
junipernetworks.junos.junos_hostname:
config:
state: deleted
#
# -------------------------
# Module Execution Result
# -------------------------
# "after": {},
# "before": {
# "hostname": "vsrx-12"
# },
# "changed": true,
# "commands": [
# "<nc:system xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
# <nc:host-name delete="delete"/></nc:system>"
# ]
# After state
# -----------
#
# vagrant@vsrx# show system ntp
#
# [edit]
# Using gathered
#
# Before state
# ------------
#
# [email protected]# show system host-name
# host-name vsrx-12;
#
- name: Gather running HOSTNAME global configuration
junipernetworks.junos.junos_hostname:
state: gathered
#
# -------------------------
# Module Execution Result
# -------------------------
# "gathered": {
# "hostname": "vsrx-12",
# },
# "changed": false,
# Using rendered
#
# Before state
# ------------
#
- name: Render xml for provided facts.
junipernetworks.junos.junos_hostname:
config:
boot_server: '78.46.194.186'
state: rendered
#
# -------------------------
# Module Execution Result
# -------------------------
# "rendered": [
# "<nc:system xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">"
# "<nc:host-name>78.46.194.186</nc:host-name></nc:system>"
# ]
#
# 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>
# <system xmlns="http://yang.juniper.net/junos-es/conf/system">
# <host-name>vsrx-18.4R1</host-name>
# </system>
# </configuration>
# </rpc-reply>
#
- name: Parse HOSTNAME running config
junipernetworks.junos.junos_hostname:
running_config: "{{ lookup('file', './parsed.cfg') }}"
state: parsed
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "parsed": {
# "hostname": "vsrx-18.4R1"
# }
#
返回值
常用的返回值已在 此处 记录,以下是此模块特有的字段
键 |
描述 |
---|---|
生成的配置模型调用。 返回:发生更改时 示例: |
|
模型调用之前的配置。 返回:始终返回 示例: |
|
推送到远程设备的命令集。 返回:始终返回 示例: |