community.network.nos_config 模块 – 管理 Extreme Networks NOS 配置节
注意
此模块是 community.network 集合(版本 5.1.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了这个集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.network
。
要在 playbook 中使用它,请指定:community.network.nos_config
。
注意
community.network 集合已被弃用,并将从 Ansible 12 中删除。有关更多信息,请参阅讨论帖。
已弃用
- 移除于:
版本 6.0.0
- 原因:
此集合及其中的所有内容均未维护且已弃用。
- 替代方案:
未知。
概要
Extreme NOS 配置使用简单的块缩进文件语法将配置分段为不同的节。此模块提供了一种以确定方式处理 NOS 配置节的实现。
注意
此模块具有相应的 操作插件。
别名:network.nos.nos_config
参数
参数 |
注释 |
---|---|
如果需要进行更改,则将有序的命令集附加到命令堆栈的末尾。就像 *before* 一样,这允许 playbook 设计者在命令集之后附加一组要执行的命令。 |
|
此参数将导致模块在进行任何更改之前,从远程设备创建当前 选项
|
|
这是一个包含与备份文件路径相关的可配置选项的字典对象。仅当 |
|
此选项提供路径,该路径以将存储备份配置文件的目录名称结尾。如果该目录不存在,将首先创建它,并且文件名是 |
|
用于存储备份配置的文件名。如果未给出文件名,将基于主机名、当前时间和日期生成文件名,格式由 <hostname>_config.<current-date>@<current-time> 定义。 |
|
如果需要进行更改,则将有序的命令集推送到命令堆栈上。这允许 playbook 设计者有机会在推送任何更改之前执行配置命令,而不会影响命令集与系统匹配的方式。 |
|
当使用 当此选项配置为 *intended* 时,该模块将返回 running-config 与 当此选项配置为 *running* 时,该模块将返回 running-config 的更改前和更改后差异,相对于对设备配置所做的任何更改。 选项
|
|
使用此参数指定在差异比较期间应忽略的一个或多个行。这用于系统中自动更新的配置中的行。此参数接受正则表达式列表或精确行匹配。 |
|
|
|
应在节中配置的命令的有序集合。这些命令必须与设备运行配置中找到的命令完全相同。请务必注意配置命令语法,因为某些命令会被设备配置解析器自动修改。 |
|
指示模块如何将命令集与当前设备配置进行匹配。如果 match 设置为 line,则逐行匹配命令。如果 match 设置为 strict,则命令行的匹配将考虑位置。如果 match 设置为 exact,则命令行的匹配必须完全相同。最后,如果 match 设置为 none,则模块不会尝试将源配置与远程设备上的运行配置进行比较。 选项
|
|
当将多行配置元素推送到 NOS 设备时,会使用此参数。它指定用作分隔符的字符。这仅适用于配置操作。 默认值: |
|
唯一标识命令应检查的节或层次结构的有序父级集合。如果省略 parents 参数,则将针对顶层或全局命令集检查命令。 |
|
指示模块如何在设备上执行配置。如果 replace 参数设置为 line,则会将修改后的行以配置模式推送到设备。如果 replace 参数设置为 block,则如果任何行不正确,则会将整个命令块以配置模式推送到设备。 选项
|
|
默认情况下,该模块将连接到远程设备并检索当前的运行配置,以用作与源内容进行比较的基础。有时不希望任务在 playbook 的每个任务中都获取当前的运行配置。running_config 参数允许实现者传入配置,以用作比较的基础配置。 |
|
指定包含要加载的配置或配置模板的源文件路径。源文件的路径可以是 Ansible 控制主机上的完整路径,也可以是相对于 playbook 或角色根目录的相对路径。此参数与 lines、parents 互斥。 |
注意
注意
已针对 NOS 7.2.0 进行测试
示例
- name: Configure top level configuration
community.network.nos_config:
lines: logging raslog console INFO
- name: Configure interface settings
community.network.nos_config:
lines:
- description test interface
- ip address 172.31.1.1/24
parents:
- interface TenGigabitEthernet 104/0/1
- name: Configure multiple interfaces
community.network.nos_config:
lines:
- lacp timeout long
parents: "{{ item }}"
with_items:
- interface TenGigabitEthernet 104/0/1
- interface TenGigabitEthernet 104/0/2
- name: Load new acl into device
community.network.nos_config:
lines:
- seq 10 permit ip host 1.1.1.1 any log
- seq 20 permit ip host 2.2.2.2 any log
- seq 30 permit ip host 3.3.3.3 any log
- seq 40 permit ip host 4.4.4.4 any log
- seq 50 permit ip host 5.5.5.5 any log
parents: ip access-list extended test
before: no ip access-list extended test
match: exact
- name: Check the running-config against master config
community.network.nos_config:
diff_against: intended
intended_config: "{{ lookup('file', 'master.cfg') }}"
- name: Configurable backup path
community.network.nos_config:
lines: logging raslog console INFO
backup: true
backup_options:
filename: backup.cfg
dir_path: /home/user
返回值
常见返回值记录在此处,以下是此模块特有的字段
键 |
描述 |
---|---|
备份文件的完整路径 返回: 当 backup 为 yes 时 示例: |
|
将推送到远程设备的命令集 返回: 始终 示例: |
|
将推送到远程设备的命令集 返回: 始终 示例: |
状态
此模块将在 6.0.0 版本中删除。[已弃用]
有关详细信息,请参阅已弃用。