junipernetworks.junos.junos_config 模块 – 管理运行 Juniper JUNOS 的设备上的配置
注意
此模块是 junipernetworks.junos 集合(版本 9.1.0)的一部分。
如果您使用的是 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install junipernetworks.junos
。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。
要在 playbook 中使用它,请指定:junipernetworks.junos.junos_config
。
junipernetworks.junos 1.0.0 中的新增功能
概要
此模块提供了用于处理在 Juniper JUNOS 设备上运行的活动配置的实现。它提供了一组用于加载配置、执行回滚操作和清零设备上活动配置的参数。
要求
执行此模块的主机需要满足以下要求。
ncclient (>=v0.5.2)
参数
参数 |
注释 |
---|---|
此参数将导致模块在进行任何更改之前创建远程设备上当前 选项
|
|
这是一个包含与备份文件路径相关的可配置选项的字典对象。仅当 |
|
此参数指定备份文件将存储为的配置格式。如果未指定该参数,模块将使用“set”格式。 选项
|
|
此选项提供以目录名称结尾的路径,备份配置文件将存储在该路径中。如果该目录不存在,则会首先创建该目录,文件名是 |
|
用于存储备份配置的文件名。如果未给出文件名,则将根据主机名、当前时间和日期生成,格式为 <hostname>_config.<current-date>@<current-time> |
|
此参数将检查语法的正确性;不应用更改。 请注意,此参数可用于确认通过 commit confirmed 操作完成的已验证配置 选项
|
|
默认值: |
|
默认值: |
|
此参数将在远程设备上执行提交操作。它可用于确认先前的提交。 选项
|
|
此参数接受要推送到远程设备的 |
|
请注意,此参数应被视为已弃用。要达到相同的效果,请将 update 参数设置为 选项
|
|
|
|
src 参数提供要加载到远程系统中的配置文件的路径。如果值以 / 开头,则该路径可以是配置文件的完整系统路径,否则相对于已实现的 role 或 playbook 的根目录。此参数与 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 时 示例: |