如何在Ansible自定义模块中输出警告信息而不终止运行?
Ansible自定义模块输出警告不终止运行的方法
在Ansible自定义模块中,要输出警告且不终止模块执行,直接使用模块对象的warn()方法即可,无需调用会终止运行的fail_json()。
具体用法示例
假设你的自定义模块代码结构如下,添加warn()调用即可输出警告信息:
from ansible.module_utils.basic import AnsibleModule def main(): module = AnsibleModule( argument_spec=dict( example_param=dict(type='str', required=False) ) ) # 模拟触发警告的场景 some_condition = True if some_condition: # 输出警告信息,模块会继续执行后续逻辑 module.warn("这是一条自定义警告信息,模块不会终止") # 模块正常完成,返回结果 module.exit_json( changed=False, msg="模块执行完成" ) if __name__ == '__main__': main()
说明
module.warn()方法仅会在Ansible的输出中打印警告内容,不会中断模块的执行流程,后续代码会继续运行。- 警告信息会在Ansible运行时以黄色警告的形式呈现给用户,既提示了潜在问题,又不阻断任务流程。
内容的提问来源于stack exchange,提问作者Wolfson
相关产品推荐
相关产品推荐

