f5networks.f5_modules.bigip_imish_config 模块 – 管理 BIG-IP 高级路由配置部分
注意
此模块是 f5networks.f5_modules 集合(版本 1.32.1)的一部分。
如果您正在使用 ansible
包,您可能已经安装了这个集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install f5networks.f5_modules
。
要在 playbook 中使用它,请指定:f5networks.f5_modules.bigip_imish_config
。
f5networks.f5_modules 1.0.0 中的新增功能
概要
此模块提供了一种以确定性方式处理高级路由配置部分的实现。
注意
此模块具有相应的 action 插件。
参数
参数 |
注释 |
---|---|
如果需要进行更改,则要附加到命令堆栈末尾的有序命令集。 就像使用 *before* 一样,这允许 playbook 设计者附加一组命令,以便在命令集之后执行。 |
|
允许将重复命令发送到设备。这是为了适应配置地址族的情况。 仅与 选择
|
|
生成的 文件系统对象应具有的属性。 要获取支持的标志,请查看目标系统上 此字符串应包含与
|
|
此参数将导致模块在进行任何更改之前,从远程设备创建当前 备份文件将写入 playbook 根目录或角色根目录中的 选择
|
|
这是一个包含与备份文件路径相关的可配置选项的 dict 对象。当 |
|
此选项提供了路径,该路径以存储备份配置文件的目录名称结尾。如果该目录不存在,它将首先被创建,文件名要么是 |
|
用于存储备份配置的文件名。如果未给出文件名,则将根据主机名、当前时间和日期生成,格式为 <主机名>_config.<当前日期>@<当前时间> |
|
如果需要进行更改,则要推送到命令堆栈的有序命令集。 这允许 playbook 设计者在推送任何更改之前执行配置命令,而不会影响命令集与系统匹配的方式。 |
|
当使用 当此选项配置为 startup 时,该模块将返回 running-config 与 startup-config 的差异。 当此选项配置为 intended 时,该模块将返回 running-config 与 当此选项配置为 running 时,该模块将返回运行配置在对设备配置进行任何更改前后的差异。 选择
|
|
使用此参数指定在比较差异时应忽略的一个或多个行。 这用于配置中由系统自动更新的行。 此参数接受正则表达式列表或精确的行匹配。 |
|
应该拥有文件系统对象的用户组名称,就像传递给 如果未指定,则使用当前用户的当前组,除非您是 root 用户,在这种情况下,它可以保留先前的所有权。 |
|
此参数不会修改远程设备上的任何设置,仅用于检查当前设备的配置是否符合预期配置。 指定此参数时,任务还应修改 |
|
应在该部分中配置的命令的有序集合。 这些命令必须与设备运行配置中找到的完全相同。 请务必注意配置命令语法,因为某些命令会被设备配置解析器自动修改。 |
|
指示模块如何执行命令集与当前设备配置的匹配。 如果 match 设置为 *line*,则命令将逐行匹配。 如果 match 设置为 *strict*,则命令行的匹配会考虑位置。 如果 match 设置为 *exact*,则命令行必须完全匹配。 最后,如果 match 设置为 *none*,则模块不会尝试将源配置与远程设备上的运行配置进行比较。 选择
|
|
生成的文件系统对象应具有的权限。 对于那些习惯于使用 如果给 Ansible 一个数字而不遵循上述任何规则,最终会得到一个十进制数字,这会产生意外的结果。 从 Ansible 1.8 开始,模式可以指定为符号模式(例如, 如果未指定 如果未指定 指定 |
|
应该拥有文件系统对象的用户名称,就像传递给 如果未指定,则使用当前用户,除非您是 root 用户,在这种情况下,它可以保留先前的所有权。 指定数字用户名将被假定为用户 ID 而不是用户名。避免使用数字用户名以避免这种混淆。 |
|
唯一标识应检查命令的部分或层次结构的父级的有序集合。 如果省略 |
|
包含连接详细信息的 dict 对象。 |
|
配置身份验证提供程序以从远程设备获取身份验证令牌。 此选项主要在处理 BIG-IQ 设备时使用。 |
|
如果为 您可以通过设置环境变量 先前使用的变量 选择
|
|
用于连接到 BIG-IP 或 BIG-IQ 的用户帐户的密码。 您可以通过设置环境变量 |
|
BIG-IP 主机或 BIG-IQ 主机。 您可以通过设置环境变量 |
|
BIG-IP 服务器端口。 您可以通过设置环境变量 默认值: |
|
指定与网络设备通信(用于连接或发送命令)的超时时间(以秒为单位)。如果在操作完成之前超时,则模块将出错。 |
|
配置连接到远程设备时要使用的传输连接。 选择
|
|
用于连接到 BIG-IP 或 BIG-IQ 的用户名。该用户必须在设备上具有管理权限。 您可以通过设置环境变量 |
|
如果为 您可以通过设置环境变量 选择
|
|
指示模块在设备上执行配置的方式。 如果 replace 参数设置为 *line*,则修改后的行将被推送到设备上的配置模式中。 如果 replace 参数设置为 *block*,则如果任何行不正确,则整个命令块将被推送到设备上的配置模式中。 选择
|
|
管理 BGP 配置的路由域。 默认值: |
|
默认情况下,该模块将连接到远程设备并检索当前的运行配置,以用作与源内容进行比较的基础。 有时,您不希望任务在 playbook 中的每个任务都获取当前的运行配置。 使用 *running_config* 参数,实现者可以传入配置,以用作比较的基本配置。 |
|
如果对设备运行配置进行了更改,则默认情况下,这些更改不会复制到非易失性存储器中。 如果该参数设置为 *always*,则始终将运行配置复制到启动配置,并且 *modified* 标志将始终设置为 如果该参数设置为 *modified*,则仅当自上次保存到启动配置以来运行配置已更改时,才会将其复制到启动配置。 如果该参数设置为 *never*,则永远不会将运行配置复制到启动配置。 如果该参数设置为 *changed*,则仅当任务进行了更改时,才会将运行配置复制到启动配置。 选择
|
|
SELinux 文件系统对象上下文的级别部分。 这是 MLS/MCS 属性,有时也称为 如果设置为 |
|
SELinux 文件系统对象上下文的角色部分。 如果设置为 |
|
SELinux 文件系统对象上下文的类型部分。 如果设置为 |
|
SELinux 文件系统对象上下文的用户部分。 默认情况下,它使用 如果设置为 |
|
src 参数提供要加载到远程系统的配置文件的路径。 如果该值以 / 开头,则该路径可以是配置文件的完整系统路径,也可以是相对于已实现的角色或 playbook 的根目录的路径。 此参数与 *lines* 和 *parents* 参数互斥。 |
|
影响何时使用原子操作以防止数据损坏或从目标文件系统对象读取不一致的数据。 默认情况下,此模块使用原子操作来防止数据损坏或从目标文件系统对象读取不一致的数据,但有时系统配置或出现故障会导致无法实现此操作。一个例子是 Docker 挂载的文件系统对象,这些对象无法在容器内部进行原子更新,只能以不安全的方式写入。 此选项允许 Ansible 在原子操作失败时回退到不安全的文件系统对象更新方法(但是,它不会强制 Ansible 执行不安全写入)。 重要提示!不安全写入容易出现竞争条件,并可能导致数据损坏。 选择
|
注释
注意
缩写命令不是幂等的
有关使用 Ansible 管理 F5 Networks 设备的更多信息,请参阅 https://ansible.org.cn/integrations/networks/f5。
需要 BIG-IP 软件版本 >= 12。
F5 模块仅操作 F5 产品的运行配置。为确保 BIG-IP 特定配置持久保存到磁盘,请务必至少包含一个使用 f5networks.f5_modules.bigip_config 模块保存运行配置的任务。有关正确使用模块保存运行配置的信息,请参阅该模块的文档。
示例
- name: configure top level configuration and save it
bigip_imish_config:
lines: bfd slow-timer 2000
save_when: modified
provider:
user: admin
password: secret
server: lb.mydomain.com
delegate_to: localhost
- name: diff the running-config against a provided config
bigip_imish_config:
diff_against: intended
intended_config: "{{ lookup('file', 'master.cfg') }}"
provider:
user: admin
password: secret
server: lb.mydomain.com
delegate_to: localhost
- name: Add config to a parent block
bigip_imish_config:
lines:
- bgp graceful-restart restart-time 120
- redistribute kernel route-map rhi
- neighbor 10.10.10.11 remote-as 65000
- neighbor 10.10.10.11 fall-over bfd
- neighbor 10.10.10.11 remote-as 65000
- neighbor 10.10.10.11 fall-over bfd
parents: router bgp 64664
match: exact
provider:
user: admin
password: secret
server: lb.mydomain.com
delegate_to: localhost
- name: Remove an existing acl before writing it
bigip_imish_config:
lines:
- access-list 10 permit 20.20.20.20
- access-list 10 permit 20.20.20.21
- access-list 10 deny any
before: no access-list 10
provider:
user: admin
password: secret
server: lb.mydomain.com
delegate_to: localhost
- name: for idempotency, use full-form commands
bigip_imish_config:
lines:
# - desc My interface
- description My Interface
# parents: int ANYCAST-P2P-2
parents: interface ANYCAST-P2P-2
provider:
user: admin
password: secret
server: lb.mydomain.com
delegate_to: localhost
- name: configurable backup path
bigip_imish_config:
lines: bfd slow-timer 2000
backup: true
provider:
user: admin
password: secret
server: lb.mydomain.com
backup_options:
filename: backup.cfg
dir_path: /home/user
delegate_to: localhost
返回值
通用返回值记录在 此处,以下是此模块独有的字段
键 |
描述 |
---|---|
备份文件的完整路径。 返回:当 backup 为 yes 时 示例: |
|
将推送到远程设备的命令集。 返回:总是 示例: |
|
将推送到远程设备的命令集。 返回:总是 示例: |