指定要在剧本中使用的特定回调

编码器

我创建不同的剧本在不同的操作

我还为不同类型的剧本创建了不同的回调脚本(并将其与Ansible打包并安装)。

可以从许多不同的脚本/定时作业中调用剧本。

现在,可以为特定的剧本指定callback script要调用的特定内容吗?(可能使用命令行参数吗?)

现在发生的是,每个剧本都会调用所有Callback脚本。

我无法将其callback script相对于剧本的位置/文件夹,因为它已经打包在ansible软件包中。同样,所有剧本也位于同一位置。

如果需要的话,我也可以修改一些可处理的源代码以适应它。

编码器

看完Ansible的代码后,我可以使用以下代码解决它...

在每个中callback_plugin,您可以指定,self.disabled = True并且根本不会调用该回调...

此外,它调用的剧本,有一个选项,以解析额外的参数作为key=value对。它将作为playbook对象的一部分extra_vars

所以我在电脑上做了这样的事情callback_plugin

def playbook_on_start(self):
    callback_plugins = self.playbook.extra_vars.get('callback_plugin', '') // self.playbook is populated in your callback plugin by Ansible.
    if callback_plugins not in ['email_reporter', 'all']:
        self.disabled = True

在调用剧本的同时,我可以做类似的事情,

ansible-playbook -e callback_plugin=email_reporter //Note -e is the argument prefix key for extra vars.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在剧本中使用多值变量

如何从 ansible 清单中获取特定组并在剧本中使用它?

指定要在Angular中使用的NPM模块平台

Ansible,请不要在剧本中指定主机,也不要通过命令行指定主机

确定要在“if constexpr”中使用的特定类型

如何预先计算要在waitForKeyElements()回调中使用的内容?

指定要在FactoryBot上使用的字段

如何使用Quarkus指定要在application.properties中使用的基本docker映像

指定要在dv.Table.Rows(x)(VALUE).ToString()中使用的行

动态指定要在Angular指令中使用的控制器

如何指定要在docker-compose版本3中使用的容器运行时?

如何指定要在具有多重继承的对象中使用的变量?

如何指定要在SQLite输出中使用的记录定界符?

在剧本中使用Ansible-Galaxy角色而不是剧本中的ansible-module是最佳实践吗?

如何在剧本中使用受保管库保护的变量

ansible:在剧本中使用不同的变量调用相同的角色

Ansible,在剧本中使用可变内容时出现问题

在使用/父项目中指定要在类库中使用的log4net配置

我们如何在剧本中使用编码后的值,并在任何需要的剧本中对其进行解码?

在回调中使用yield?

在回调中使用它

在剧本中在本地主机上使用 ping

FirebaseUI,指定要在特定情况下打开的特定活动(注册后)

如何指定在Ansible剧本中使用的Python版本?

在php中使用对象元素过滤数组时如何指定回调函数?

如何在Elixir中使用可变数量的参数指定回调

指定要在页面上擦除的表

指定要在 elasticsearch 中搜索的字段

为要在数据表的搜索栏中使用的特定值指定其他名称