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 设计者附加一组命令,以便在命令集之后执行。 |
|
允许将重复命令发送到设备。这是为了适应配置地址族的情况。 仅与 选项
|
|
生成的 filesystem 对象应具有的属性。 要获取支持的标志,请查看目标系统上chattr的手册页。 此字符串应按与lsattr显示的相同的顺序包含属性。 默认情况下假定使用 |
|
此参数将导致模块在进行任何更改之前,从远程设备创建当前 备份文件写入 playbook 根目录或角色根目录(如果 playbook 是 Ansible 角色的一部分)中的 选项
|
|
这是一个字典对象,包含与备份文件路径相关的可配置选项。当 |
|
此选项提供以目录名结尾的路径,其中将存储备份配置文件。如果目录不存在,则首先创建它,文件名要么是 |
|
用于存储备份配置的文件名。如果没有给出文件名,它将根据主机名、当前时间和日期以<hostname>_config.<current-date>@<current-time>格式生成。 |
|
如果需要进行更改,则要推送到命令堆栈的有序命令集。 这允许 playbook 设计者有机会在推送任何更改之前执行配置命令,而不会影响如何将命令集与系统匹配。 |
|
使用 当此选项配置为startup时,模块将返回运行配置与启动配置的差异。 当此选项配置为intended时,模块将返回运行配置与 当此选项配置为running时,模块将返回相对于对设备配置所做的任何更改,运行配置的之前和之后的差异。 选项
|
|
使用此参数指定在差异期间应忽略的一行或多行。 这用于系统自动更新的配置中的行。 此参数接受正则表达式或精确行匹配的列表。 |
|
应拥有文件系统对象的组的名称,如同提供给chown一样。 如果未指定,则它使用当前用户的当前组,除非您是 root 用户,在这种情况下,它可以保留以前的拥有权。 |
|
此参数不会修改远程设备上的任何设置,仅用于检查当前设备配置的合规性。 指定此参数时,任务还应修改 |
|
应在该部分中配置的有序命令集。 命令必须与设备运行配置中的命令完全相同。 请务必注意配置命令语法,因为某些命令会由设备配置解析器自动修改。 |
|
指示模块如何将命令集与当前设备配置进行匹配。 如果将 match 设置为 line,则逐行匹配命令。 如果将 match 设置为 strict,则会根据位置匹配命令行。 如果将 match 设置为 exact,则命令行必须完全匹配。 最后,如果将 match 设置为 none,则模块不会尝试将源配置与远程设备上的运行配置进行比较。 选项
|
|
生成的的文件系统对象应具有的权限。 对于习惯使用 /usr/bin/chmod 的用户,请记住模式实际上是八进制数。您必须向 Ansible 提供足够的信息才能正确解析它们。为获得一致的结果,请使用引号括起八进制数(例如, 如果向 Ansible 提供一个不遵循上述任何规则的数字,则最终将得到一个十进制数,这将产生意外的结果。 从 Ansible 1.8 开始,模式可以指定为符号模式(例如, 如果未指定 如果未指定 指定 |
|
应拥有文件系统对象的用户名,如同提供给 chown 一样。 如果未指定,则使用当前用户,除非您是 root 用户,在这种情况下,它可以保留之前的拥有者。 指定数字用户名将被视为用户 ID 而不是用户名。避免使用数字用户名以避免此混淆。 |
|
唯一标识应检查命令的节或层次结构的有序父集。 如果省略 |
|
包含连接详细信息的字典对象。 |
|
配置身份验证提供程序,以从远程设备获取身份验证令牌。 此选项在使用 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 时 示例: |
|
将推送到远程设备的命令集。 返回值:始终返回 示例: |
|
将推送到远程设备的命令集。 返回值:始终返回 示例: |