community.network.ce_config 模块 – 管理华为 CloudEngine 配置节。

注意

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

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

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

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

注意

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

已弃用

在以下版本中移除:

6.0.0 版本

原因:

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

替代方案:

未知。

概要

  • 华为 CloudEngine 配置使用简单的块缩进文件语法将配置分段为不同的节。此模块提供了一种以确定方式处理 CloudEngine 配置节的实现。此模块适用于 CLI 传输。

别名:network.cloudengine.ce_config

参数

参数

注释

after

字符串

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

backup

布尔值

此参数将使模块在进行任何更改之前,创建远程设备当前 current-configuration 的完整备份。如果未给出 backup_options 值,则备份文件将写入 playbook 根目录中的 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 设计人员有机会在推送任何更改之前执行配置命令,而不会影响命令集与系统匹配的方式。

config

字符串

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

defaults

布尔值

*defaults* 参数将影响如何从设备收集 current-configuration。当该值设置为 true 时,用于收集 current-configuration 的命令将追加 all 关键字。当该值设置为 false 时,将不使用 all 关键字发出该命令。

选择

  • false ←(默认)

  • true

lines

别名:commands

字符串

应在该节中配置的有序命令集。这些命令必须与设备当前配置中找到的命令完全相同。请务必注意配置命令语法,因为某些命令会被设备配置解析器自动修改。

match

字符串

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

选择

  • "line" ←(默认)

  • "strict"

  • "exact"

  • "none"

parents

字符串

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

替换

字符串

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

选择

  • "line" ←(默认)

  • "块"

保存

布尔值

save 参数指示模块将当前配置保存到已保存的配置。此操作在对当前运行配置进行任何更改后执行。如果没有进行任何更改,则配置仍会保存到启动配置中。此选项始终会导致模块返回已更改。

选择

  • false ←(默认)

  • true

src

字符串

src 参数提供要加载到远程系统的配置文件的路径。如果该值以 / 开头,则该路径可以是配置文件的完整系统路径,也可以是相对于已实现的 role 或 playbook 的根的相对路径。此参数与 linesparents 参数互斥。

注释

注意

  • 建议的连接是 network_cli

  • 此模块还适用于旧版 playbook 的 local 连接。

示例

- name: CloudEngine config test
  hosts: cloudengine
  connection: local
  gather_facts: false

  tasks:
  - name: "Configure top level configuration and save it"
    community.network.ce_config:
      lines: sysname {{ inventory_hostname }}
      save: true

  - name: "Configure acl configuration and save it"
    community.network.ce_config:
      lines:
        - rule 10 permit source 1.1.1.1 32
        - rule 20 permit source 2.2.2.2 32
        - rule 30 permit source 3.3.3.3 32
        - rule 40 permit source 4.4.4.4 32
        - rule 50 permit source 5.5.5.5 32
      parents: acl 2000
      before: undo acl 2000
      match: exact

  - name: "Configure acl configuration and save it"
    community.network.ce_config:
      lines:
        - rule 10 permit source 1.1.1.1 32
        - rule 20 permit source 2.2.2.2 32
        - rule 30 permit source 3.3.3.3 32
        - rule 40 permit source 4.4.4.4 32
      parents: acl 2000
      before: undo acl 2000
      replace: block

  - name: Configurable backup path
    community.network.ce_config:
      lines: sysname {{ inventory_hostname }}
      backup: true
      backup_options:
        filename: backup.cfg
        dir_path: /home/user

返回值

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

描述

backup_path

字符串

备份文件的完整路径

返回:当 backup 为 yes 时

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

updates

list / elements=string

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

返回:仅当指定 lines 时。

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

状态

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

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

作者

  • QijunPan (@QijunPan)