我正在调用一个自定义模块delete_sdb_domain.py在游戏手册中删除简单的数据库域在AWS后删除猿军混沌猴。任务可以成功执行,但是Ansible模块有错误消息。
这是剧本:
# call ansible module in the playbook
- name: Delete Simian Army SimpleDB domain
delete_sdb_domain:
sdb_domain_name: "SIMIAN_ARMY_{{ stack_prefix }}"
when:
"stack_query.rc == 0"
tags:
- delete下面是模块delete_sdb_domain.py
#!/usr/bin/python
# Delete SimpleDB Domain
from ansible.module_utils.basic import *
import boto3
def delete_sdb_domain(sdb_domain_name):
sdb = boto3.client('sdb')
sdb.delete_domain(DomainName=sdb_domain_name)
def main():
module = AnsibleModule(
argument_spec = dict(
sdb_domain_name = dict(required=True, type='str')
)
)
delete_sdb_domain(module.params['sdb_domain_name'])
if __name__ == '__main__':
main()这是一个错误:
TASK [Delete Simian Army SimpleDB domain]
*************************************************************************
fatal: [127.0.0.1]: FAILED! => {
"changed": false,
"module_stderr": "",
"module_stdout": "",
"rc": 0
}
MSG:
MODULE FAILURE发布于 2018-02-01 08:10:10
Ansible报告一个错误,因为您没有提供结果所需的JSON对象。
在我们主要关心的对象#中设置结果dict,状态#更改是,如果这个模块有效地修改了目标#状态,那么目标#状态将包含您希望模块返回#以供使用的任何数据,例如,在后续的任务结果= dict( changed=False,原件_message=‘,message=’,message='‘)#.#如果模块执行成功,您将希望# simple AnsibleModule.exit_json(),传递键/值结果module.exit_json(*module.exit_json)
https://stackoverflow.com/questions/48555010
复制相似问题