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

字符串

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

defaults

布尔值

defaults 参数将影响从设备收集 current-configuration 的方式。当值设置为 true 时,用于收集 current-configuration 的命令会附加 all 关键字。当值设置为 false 时,命令将在不使用 all 关键字的情况下发出。

选择

  • false ← (默认)

  • true

lines

别名:commands

字符串

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

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 参数提供要加载到远程系统的配置文件的路径。如果该值以 / 开头,则该路径可以是配置文件的完整系统路径,也可以是相对于已实现角色或 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

列表 / 元素=字符串

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

返回: 仅当指定了 lines 时。

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

状态

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

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

作者

  • QijunPan (@QijunPan)