首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从Ansible action插件返回diff数据

如何从Ansible action插件返回diff数据
EN

Stack Overflow用户
提问于 2019-05-28 02:13:09
回答 1查看 117关注 0票数 0

我正在编写一个作为动作插件实现的Ansible模块,类似于Ansible核心提供的模板模块和插件。我想像模块一样返回带有前后行的diff数据。我可以找到如何从实际模块返回此数据的示例,但我无法推断如何将相同的信息与操作插件的返回关联起来。

lineinfile模块中,diff数据作为module.exit_json()调用中的diff关键字参数返回,如下所示:

代码语言:javascript
复制
module.exit_json(changed=changed, msg=msg, backup=backupdest, diff=difflist)

但是,似乎没有任何插件调用过exit_json(),它们也不能调用,因为它们没有module数据结构可用。

module上的exit_json()方法似乎是在它调用的line 2042 of module_utils/basic.py上定义的,反过来,它调用line 2007上的self._return_formatted(),这似乎将kwargs (在一些清理之后)回显到stdout。所以。。。只是在现有的result结构中添加一个diff关键字?我就玩这个。

EN

回答 1

Stack Overflow用户

发布于 2019-05-28 02:23:10

是的,在插件返回的现有result字典中添加一个diff关键字和值似乎就足够了。下面是一个不完整的极简主义的例子:

代码语言:javascript
复制
class ActionModule(ActionBase):
    def run(self, tmp=None, task_vars=None):

        diff = {'before': 'old data\n',
                'after': 'new data\n'}

        result['diff'] = diff
        result['changed'] = True

        return result
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56330716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档