junipernetworks.junos.junos_hostname 模块 – 管理 Junos 设备上的主机名服务器配置。
注意
此模块是 junipernetworks.junos 集合(版本 9.1.0)的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install junipernetworks.junos
。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。
要在剧本中使用它,请指定:junipernetworks.junos.junos_hostname
。
junipernetworks.junos 2.9.0 中的新增功能
概要
此模块管理运行 Junos 的设备上的主机名配置。
要求
执行此模块的主机需要以下要求。
ncclient (>=v0.6.4)
xmltodict (>=0.12.0)
参数
参数 |
注释 |
---|---|
系统主机名配置的字典。 |
|
指定主机名。 |
|
此选项仅与状态parsed一起使用。 此选项的值应该是通过执行命令 show system hostname 从 Junos 设备收到的输出。 状态 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"
# }
#
返回值
常见的返回值记录在 此处,以下是此模块特有的字段
键 |
描述 |
---|---|
生成的配置模型调用。 已返回:当发生更改时 示例: |
|
模型调用之前的配置。 已返回:始终 示例: |
|
推送到远程设备的命令集。 已返回:始终 示例: |