community.network.enos_config 模块 – 管理 Lenovo ENOS 配置节

注意

此模块是 community.network 集合(版本 5.1.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.network

要在 playbook 中使用它,请指定:community.network.enos_config

注意

community.network 集合已弃用,将从 Ansible 12 中删除。有关更多信息,请参阅讨论主题

已弃用

在以下版本中删除

版本 6.0.0

原因

此集合及其中的所有内容均未维护且已弃用。

替代方案

未知。

概要

  • Lenovo ENOS 配置使用简单的块缩进文件语法将配置划分为节。此模块提供了以确定性方式处理 ENOS 配置节的实现。

别名:network.enos.enos_config

参数

参数

注释

admin

布尔值

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

选择

  • false ←(默认)

  • true

after

字符串

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

auth_pass

字符串

指定在远程设备上进入特权模式时需要使用的密码。如果 authorize 为 false,则此参数无效。如果任务中未指定该值,则将改用环境变量 ANSIBLE_NET_AUTH_PASS 的值。

authorize

布尔值

指示模块在发送任何命令之前在远程设备上进入特权模式。如果未指定,设备将尝试以非特权模式执行所有命令。如果任务中未指定该值,则将改用环境变量 ANSIBLE_NET_AUTHORIZE 的值。

选择

  • false ←(默认)

  • true

backup

布尔值

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

选择

  • false ←(默认)

  • true

backup_options

字典

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

dir_path

路径

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

filename

字符串

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

before

字符串

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

comment

字符串

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

默认值: "configured by enos_config"

config

字符串

默认情况下,该模块将连接到远程设备并检索当前运行配置,以用作与源内容进行比较的基础。有时不希望任务在 playbook 中的每个任务中获取当前运行配置。config 参数允许实现者传入配置以用作比较的基础配置。

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 互斥。

注意

注意

  • 已在 ENOS 8.4.1 上测试。

示例

- name: Configure top level configuration
  community.network.enos_config:
    "lines: hostname {{ inventory_hostname }}"

- name: Configure interface settings
  community.network.enos_config:
    lines:
      - enable
      - ip ospf enable
    parents: interface ip 13

- name: Load a config from disk and replace the current config
  community.network.enos_config:
    src: config.cfg
    backup: true

- name: Configurable backup path
  community.network.enos_config:
    src: config.cfg
    backup: true
    backup_options:
      filename: backup.cfg
      dir_path: /home/user

返回值

通用返回值记录在这里,以下是此模块独有的字段

描述

backup_path

字符串

备份文件的完整路径

返回: 当 backup 为 yes 时

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

updates

列表 / 元素=字符串

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

返回: 仅当指定了 lines 时。

示例: ["...", "..."]

状态

  • 此模块将在 6.0.0 版本中删除。[已弃用]

  • 有关更多信息,请参见已弃用

作者

  • Anil Kumar Muraleedharan (@amuraleedhar)