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 配置部分的实现。

参数

参数

注释

admin

布尔值

进入管理配置模式,以便对设备进行配置更改。

选项

  • false ← (默认)

  • true

after

列表 / 元素=字符串

如果需要进行更改,则附加到命令堆栈末尾的有序命令集。就像 before 一样,这允许 playbook 设计者附加一组命令,以便在命令集之后执行。

backup

布尔值

此参数将使模块在进行任何更改之前,从远程设备创建当前 running-config 的完整备份。如果未给出 backup_options 值,则备份文件将写入 playbook 根目录或角色根目录(如果 playbook 是 Ansible 角色的一部分)中的 backup 文件夹。如果该目录不存在,则会创建该目录。

选项

  • false ← (默认)

  • true

backup_options

字典

这是一个包含与备份文件路径相关的可配置选项的字典对象。仅当 backup 设置为 yes 时才会读取此选项的值,如果 backup 设置为 no,则会静默忽略此选项。

dir_path

路径

此选项提供以目录名称结尾的路径,备份配置文件将存储在该路径中。如果该目录不存在,将首先创建该目录,并且文件名要么是 filename 的值,要么是 filename 选项说明中描述的默认文件名。如果未给出路径值,则将在当前工作目录中创建一个 backup 目录,并且备份配置将以 backup 目录中的 filename 复制。

filename

字符串

用于存储备份配置的文件名。如果未给出文件名,则将根据主机名、当前时间和日期以 <hostname>_config.<current-date>@<current-time> 定义的格式生成文件名。

before

列表 / 元素=字符串

如果需要进行更改,则推送到命令堆栈的有序命令集。这允许 playbook 设计者在推送任何更改之前执行配置命令,而不会影响命令集与系统匹配的方式。

comment

字符串

允许指定提交描述,以便在提交配置时包含该描述。如果未更改或提交配置,则会忽略此参数。

默认值: "configured by iosxr_config"

config

字符串

默认情况下,模块将连接到远程设备并检索当前运行配置,以用作与源内容进行比较的基础。有时,不希望任务在 playbook 中的每个任务中都获取当前运行配置。config 参数允许实现者传入配置,以用作比较的基本配置。此选项的配置行应类似于它在设备的运行配置中出现时的样子,以确保幂等性和正确的差异。

disable_default_comment

布尔值

设置为 True 时禁用默认注释。

选项

  • false ← (默认)

  • true

exclusive

布尔值

进入独占配置模式,该模式会阻止所有用户提交配置更改,直到独占会话结束。

选项

  • false ← (默认)

  • true

force

布尔值

force 参数指示模块不考虑当前设备的运行配置。设置为 true 时,这将导致模块将 src 的内容推送到设备,而无需先检查是否已配置。

请注意,此参数应被视为已弃用。要实现等效的功能,请设置 match=none,它是幂等的。此参数将在以后的版本中删除。

选项

  • false ← (默认)

  • true

label

字符串

允许指定提交标签,以便在提交配置时包含该标签。有效标签必须以字母开头,并且不超过 30 个字符,仅允许字母、数字、连字符和下划线。如果未更改或提交配置,则会忽略此参数。

lines

别名:commands

列表 / 元素=字符串

应在部分中配置的有序命令集。这些命令必须与在设备运行配置中找到的设备运行配置中找到的命令完全相同,以确保幂等性和正确的差异。请务必注意配置命令语法,因为某些命令会被设备配置分析器自动修改。

match

字符串

指示模块如何将命令集与当前设备配置进行匹配。如果 match 设置为 line,则按行匹配命令。如果 match 设置为 strict,则命令行的匹配会考虑位置。如果 match 设置为 exact,则命令行的匹配必须完全相同。最后,如果 match 设置为 none,则模块不会尝试将源配置与远程设备上的运行配置进行比较。

选项

  • "line" ← (默认)

  • "strict"

  • "exact"

  • "none"

parents

列表 / 元素=字符串

一组有序的父级,用于唯一标识应检查命令的部分或层次结构。如果省略 parents 参数,则会针对顶级或全局命令集检查命令。

replace

字符串

指示模块如何在设备上执行配置。如果 replace 参数设置为 line,则会将修改后的行推送到配置模式下的设备。如果 replace 参数设置为 block,则如果任何行不正确,则会将整个命令块推送到配置模式下的设备。

选项

  • "line" ← (默认)

  • "block"

  • "config"

src

路径

指定包含要加载的配置或配置模板的源文件路径。源文件路径可以是 Ansible 控制主机上的完整路径,也可以是 playbook 或角色根目录下的相对路径。此参数与 linesparents 互斥。源文件中的配置行应与设备运行配置中出现时的外观类似,以确保幂等性和正确的差异。

备注

注意

示例

- 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

返回值

常用返回值记录在此处,以下是此模块特有的字段

描述

backup_path

字符串

备份文件的完整路径

返回: 当 backup 为 yes 时

示例: "/playbooks/ansible/backup/iosxr01_config.2016-07-16@22:28:34"

commands

列表 / 元素=字符串

将推送到远程设备的命令集

返回: 如果有要针对主机运行的命令

示例: ["hostname foo", "router ospf 1", "router-id 1.1.1.1"]

date

字符串

从备份文件名提取的日期

返回: 当 backup 为 yes 时

示例: "2016-07-16"

filename

字符串

备份文件的名称

返回: 当 backup 为 yes 且备份选项中未指定文件名时

示例: "iosxr01_config.2016-07-16@22:28:34"

shortname

字符串

不包含时间戳的备份文件的完整路径

返回: 当 backup 为 yes 且备份选项中未指定文件名时

示例: "/playbooks/ansible/backup/iosxr01_config"

time

字符串

从备份文件名提取的时间

返回: 当 backup 为 yes 时

示例: "22:28:34"

updates

列表 / 元素=字符串

将推送到远程设备的命令集

返回: 如果有要针对主机运行的命令

示例: ["hostname foo", "router ospf 1", "router-id 1.1.1.1"]

作者

  • Ricardo Carrillo Cruz (@rcarrillocruz)