junipernetworks.junos.junos_config 模块 – 管理运行 Juniper JUNOS 的设备上的配置
注意
此模块是 junipernetworks.junos 集合 (版本 9.1.0) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install junipernetworks.junos
。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在剧本中使用它,请指定:junipernetworks.junos.junos_config
。
junipernetworks.junos 1.0.0 中的新增功能
概要
此模块提供了一个实现,用于处理 Juniper JUNOS 设备上运行的活动配置。它提供了一组参数,用于加载配置、执行回滚操作和清除设备上的活动配置。
要求
执行此模块的主机需要以下要求。
ncclient (>=v0.5.2)
参数
参数 |
注释 |
---|---|
此参数将导致模块在进行任何更改之前创建远程设备当前 选项
|
|
这是一个包含与备份文件路径相关的可配置选项的字典对象。仅当 |
|
此参数指定备份文件将保存的配置格式。如果未指定此参数,模块将使用“set”格式。 选项
|
|
此选项提供以目录名结尾的路径,其中将存储备份配置文件。如果目录不存在,则将首先创建它,文件名要么是 |
|
用于存储备份配置的文件名。如果未给出文件名,它将基于主机名、当前时间和日期以 <hostname>_config.<current-date>@<current-time> 格式生成。 |
|
此参数将检查语法的正确性;不应用更改。 请注意,此参数可用于确认通过 commit confirmed 操作完成的已验证配置 选项
|
|
默认值: |
|
默认值: |
|
此参数将在远程设备上执行 commit 操作。它可用于确认之前的提交。 选项
|
|
此参数接受要推送到远程设备的 |
|
请注意,此参数应被视为已弃用。要实现等效功能,请将 update 参数设置为 选项
|
|
|
|
src 参数提供要加载到远程系统的配置文件的路径。如果值以 / 开头,则路径可以是配置文件的完整系统路径,也可以相对于已实现的角色或剧本的根目录。此参数与 lines 参数互斥。 |
|
src_format 参数指定在 src 中找到的配置的格式。如果未提供 src_format 参数,则模块将尝试确定在 src 中指定的配置文件的格式。 选项
|
|
此参数将决定如何加载配置数据,尤其是在候选配置和已加载配置包含冲突语句时。以下是可接受的值。 选项
|
|
选项
|
注释
注意
此模块要求在被管理的远程设备上启用 netconf 系统服务。
缩写命令不是幂等的,请参阅 网络常见问题解答
从 Junos OS 版本 16.1 开始支持加载 JSON 格式的配置 json。
目前
override
更新与set
表示法不兼容。针对 vSRX JUNOS 版本 15.1X49-D15.4、vqfx-10000 JUNOS 版本 15.1X53-D60.4 进行了测试。
推荐的连接是
netconf
。请参阅 Junos OS 平台选项。此模块也适用于旧版 playbook 的
local
连接。有关使用 CLI 和 netconf 的信息,请参阅:ref:`Junos OS 平台选项指南 <junos_platform_options>`
有关使用 Ansible 管理网络设备的更多信息,请参阅:ref:`Ansible 网络指南 <network_guide>`
有关使用 Ansible 管理 Juniper 网络设备的更多信息,请参阅 https://ansible.org.cn/ansible-juniper。
示例
- name: load configure file into device
junipernetworks.junos.junos_config:
src: srx.cfg
comment: update config
- name: load configure lines into device
junipernetworks.junos.junos_config:
lines:
- set interfaces ge-0/0/1 unit 0 description "Test interface"
- set vlans vlan01 description "Test vlan"
comment: update config
- name: Set routed VLAN interface (RVI) IPv4 address
junipernetworks.junos.junos_config:
lines:
- set vlans vlan01 vlan-id 1
- set interfaces irb unit 10 family inet address 10.0.0.1/24
- set vlans vlan01 l3-interface irb.10
- name: Check correctness of commit configuration
junipernetworks.junos.junos_config:
check_commit: true
- name: rollback the configuration to id 10
junipernetworks.junos.junos_config:
rollback: 10
- name: zero out the current configuration
junipernetworks.junos.junos_config:
zeroize: true
- name: Set VLAN access and trunking
junipernetworks.junos.junos_config:
lines:
- set vlans vlan02 vlan-id 6
- set interfaces ge-0/0/6.0 family ethernet-switching interface-mode access vlan
members vlan02
- set interfaces ge-0/0/6.0 family ethernet-switching interface-mode trunk vlan
members vlan02
- name: confirm a previous commit
junipernetworks.junos.junos_config:
confirm_commit: true
- name: for idempotency, use full-form commands
junipernetworks.junos.junos_config:
lines:
- set interfaces ge-0/0/1 unit 0 description "Test interface"
- name: configurable backup path
junipernetworks.junos.junos_config:
src: srx.cfg
backup: true
backup_options:
filename: backup.cfg
dir_path: /home/user
- name: Set description with timer to confirm commit
junipernetworks.junos.junos_config:
lines:
- set interfaces fxp0 description "wait for a commit confirmation for 3 minutes; otherwise, it will be rolled back."
confirm: 3
- name: Perform confirm commit
junipernetworks.junos.junos_config:
confirm_commit: true
返回值
常用的返回值已在 此处 记录,以下是此模块特有的字段
键 |
描述 |
---|---|
备份文件的完整路径 返回:当 backup 为 true 时 示例: |
|
从备份文件名中提取的日期 返回:当 backup 为 true 时 示例: |
|
备份文件的名称 返回:当 backup 为 true 且备份选项中未指定文件名时 示例: |
|
备份文件的完整路径,不包括时间戳 返回:当 backup 为 true 且备份选项中未指定文件名时 示例: |
|
从备份文件名中提取的时间 返回:当 backup 为 true 时 示例: |