cisco.iosxr.iosxr_config 模块 – 用于管理配置节的模块。
注意
此模块是 cisco.iosxr 集合(版本 10.2.2)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install cisco.iosxr
。
要在 playbook 中使用它,请指定:cisco.iosxr.iosxr_config
。
cisco.iosxr 1.0.0 中的新增功能
概要
Cisco IOS XR 配置使用简单的块缩进文件语法将配置划分为节。此模块提供了以确定性方式处理 IOS XR 配置节的实现。
参数
参数 |
注释 |
---|---|
进入管理配置模式,对设备进行配置更改。 选项
|
|
如果需要进行更改,则追加到命令堆栈末尾的有序命令集。就像 before 一样,这允许 playbook 设计者追加一组命令,以便在命令集之后执行。 |
|
此参数将使模块在进行任何更改之前创建远程设备当前 选项
|
|
这是一个包含与备份文件路径相关的可配置选项的字典对象。仅当 |
|
此选项提供以目录名称结尾的路径,备份配置文件将存储在该路径中。如果该目录不存在,则会首先创建该目录,并且文件名是 |
|
用于存储备份配置的文件名。如果未给出文件名,则会根据主机名、当前时间和日期以 |
|
如果需要进行更改,则推送到命令堆栈的有序命令集。这允许 playbook 设计者有机会在推送任何更改之前执行配置命令,而不会影响命令集与系统匹配的方式。 |
|
允许指定提交描述,以便在提交配置时包含该描述。如果未更改或提交配置,则会忽略此参数。 默认值: |
|
默认情况下,该模块将连接到远程设备并检索当前的 running-config,以用作与源内容进行比较的基础。有时,不希望任务获取 playbook 中每个任务的当前 running-config。config 参数允许实现者传入配置,以用作比较的基本配置。此选项的配置行应类似于它在设备的 running-configuration 中出现时的样子,以确保幂等性和正确的差异。 |
|
设置为 True 时,禁用默认注释。 选项
|
|
进入独占配置模式,该模式会阻止所有用户提交配置更改,直到独占会话结束。 选项
|
|
force 参数指示模块不考虑当前设备的 running-config。设置为 true 时,这将导致模块将 src 的内容推送到设备中,而无需先检查是否已配置。 请注意,此参数应被视为已弃用。要实现等效的功能,请设置 选项
|
|
允许指定提交标签,以便在提交配置时包含该标签。有效的标签必须以字母开头,且不超过 30 个字符,只允许使用字母、数字、连字符和下划线。如果配置未更改或未提交,则忽略此参数。 |
|
应在该部分中配置的命令的有序集合。这些命令必须与设备运行配置中找到的命令完全相同,以确保幂等性和正确的差异。请务必注意配置命令的语法,因为某些命令会被设备配置解析器自动修改。 |
|
指示模块如何将命令集与当前设备配置进行匹配。如果 match 设置为 *line*,则命令按行匹配。如果 match 设置为 *strict*,则命令行的匹配将考虑位置。如果 match 设置为 *exact*,则命令行必须完全匹配。最后,如果 match 设置为 *none*,则模块不会尝试将源配置与远程设备上的运行配置进行比较。 选项
|
|
唯一标识命令应检查的节或层次结构的父级的有序集合。如果省略 parents 参数,则将针对顶级或全局命令集检查这些命令。 |
|
指示模块如何在设备上执行配置。如果 replace 参数设置为 *line*,则修改后的行将在配置模式下推送到设备。如果 replace 参数设置为 *block*,则如果任何行不正确,则整个命令块将在配置模式下推送到设备。 选项
|
|
指定包含要加载的配置或配置模板的文件的源路径。源文件的路径可以是 Ansible 控制主机上的完整路径,也可以是 playbook 或角色根目录中的相对路径。此参数与 *lines*、*parents* 互斥。源文件中的配置行应类似于它在设备的运行配置中存在时的样子,以确保幂等性和正确的差异。 |
说明
注意
此模块与连接
network_cli
一起使用。请参阅 https://docs.ansible.org.cn/ansible/latest/network/user_guide/platform_iosxr.html此模块不支持
netconf
连接避免配置替换导致服务中断的更改(例如,管理 IP)。
不要在替换配置文件中使用
end
。为了确保幂等性和正确的差异,相关模块选项中的配置行应类似于它们在设备运行配置中存在时的样子,包括缩进。
有关使用 Ansible 管理网络设备的更多信息,请参阅 :ref:`Ansible 网络指南 <network_guide>`。
有关使用 Ansible 管理 Cisco 设备的更多信息,请参阅“Cisco 集成页面 <https://ansible.org.cn/integrations/networks/cisco>`_”。
示例
- name: configure top level configuration
cisco.iosxr.iosxr_config:
lines: hostname {{ inventory_hostname }}
- name: configure interface settings
cisco.iosxr.iosxr_config:
lines:
- description test interface
- ip address 172.31.1.1 255.255.255.0
parents: interface GigabitEthernet0/0/0/0
- name: load a config from disk and replace the current config
cisco.iosxr.iosxr_config:
src: config.cfg
replace: config
backup: 'yes'
- name: 'for idempotency, use full-form commands'
cisco.iosxr.iosxr_config:
lines:
- shutdown
parents: interface GigabitEthernet0/0/0/1
- name: configurable backup path
cisco.iosxr.iosxr_config:
src: config.cfg
backup: true
backup_options:
filename: backup.cfg
dir_path: /home/user
返回值
常见的返回值记录在 此处,以下是此模块特有的字段
键 |
描述 |
---|---|
备份文件的完整路径 返回: 当备份为 yes 时 示例: |
|
将推送到远程设备的命令集 返回: 如果有针对主机运行的命令 示例: |
|
从备份文件名中提取的日期 返回: 当备份为 yes 时 示例: |
|
备份文件的名称 返回: 当备份为 yes 且备份选项中未指定文件名时 示例: |
|
备份文件的完整路径,不包括时间戳 返回: 当备份为 yes 且备份选项中未指定文件名时 示例: |
|
从备份文件名中提取的时间 返回: 当备份为 yes 时 示例: |
|
将推送到远程设备的命令集 返回: 如果有针对主机运行的命令 示例: |