community.network.aruba_config 模块 – 管理 Aruba 配置节

注意

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

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

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

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

注意

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

已弃用

在以下版本中删除:

版本 6.0.0

原因:

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

替代方案:

未知。

概要

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

别名: network.aruba.aruba_config

参数

参数

注释

after

字符串

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

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 设计人员有机会在推送任何更改之前执行配置命令,而不会影响命令集与系统匹配的方式。

diff_against

字符串

当使用 ansible-playbook --diff 命令行参数时,模块可以针对不同的源生成差异。

当此选项配置为 startup 时,模块将返回运行配置与启动配置的差异。

当此选项配置为 intended 时,模块将返回运行配置与 intended_config 参数中提供的配置的差异。

当此选项配置为 running 时,模块将返回对设备配置所做的任何更改的运行配置的前后差异。

选项

  • "startup"

  • "intended"

  • "running"

diff_ignore_lines

字符串

使用此参数指定在差异期间应忽略的一个或多个行。这用于配置中由系统自动更新的行。此参数接受正则表达式列表或精确的行匹配。

encrypt

布尔值

当设置为 false 时,这允许以纯文本显示 Aruba 控制器的密码和密钥;当设置为 true 时,则会加密显示。如果设置为 false,则设置将在模块运行结束时重新加密。即使设置为 false,备份仍然会被加密。

选项

  • false

  • true ← (默认)

intended_config

字符串

intended_config 提供节点应符合的主配置,并用于检查最终的运行配置。此参数不会修改远程设备上的任何设置,严格用于检查当前设备的配置是否符合预期。指定此参数时,任务还应修改 diff_against 值并将其设置为 *intended*。

lines

别名: commands

字符串

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

match

字符串

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

选项

  • "line" ← (默认)

  • "strict"

  • "exact"

  • "none"

parents

字符串

唯一标识命令应检查的节或层次结构的有序父级集。如果省略 parents 参数,则命令将针对顶层或全局命令集进行检查。

replace

字符串

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

选项

  • "line" ← (默认)

  • "block"

running_config

别名: config

字符串

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

save_when

字符串

当对设备运行配置进行更改时,默认情况下不会将更改复制到非易失性存储。使用此参数将在此之前更改此设置。如果参数设置为 *always*,则运行配置将始终复制到启动配置,并且 *modified* 标志将始终设置为 True。如果参数设置为 *modified*,则仅当自上次保存到启动配置以来发生更改时,才会将运行配置复制到启动配置。如果参数设置为 *never*,则永远不会将运行配置复制到启动配置。如果参数设置为 *changed*,则仅当任务进行了更改时,才会将运行配置复制到启动配置。

选项

  • "always"

  • "never" ← (默认)

  • "modified"

  • "changed"

src

字符串

指定包含要加载的配置或配置模板的源文件路径。源文件的路径可以是 Ansible 控制主机上的完整路径,也可以是 playbook 或角色根目录的相对路径。此参数与 *lines*、*parents* 互斥。

示例

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

- name: Diff the running-config against a provided config
  community.network.aruba_config:
    diff_against: intended
    intended_config: "{{ lookup('file', 'master.cfg') }}"

- name: Configure interface settings
  community.network.aruba_config:
    lines:
      - description test interface
      - ip access-group 1 in
    parents: interface gigabitethernet 0/0/0

- name: Load new acl into device
  community.network.aruba_config:
    lines:
      - permit host 10.10.10.10
      - ipv6 permit host fda9:97d6:32a3:3e59::3333
    parents: ip access-list standard 1
    before: no ip access-list standard 1
    match: exact

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

返回值

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

描述

backup_path

字符串

备份文件的完整路径

返回: 当 backup 为 yes 时

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

commands

list / elements=string

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

返回: 始终

示例: ["hostname foo", "vlan 1", "name default"]

updates

list / elements=string

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

返回: 始终

示例: ["hostname foo", "vlan 1", "name default"]

状态

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

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

作者

  • James Mighion (@jmighion)