我在执行Ansible剧本时收到未知类型字符串错误
实现错误:名称请求的未知类型字符串
我正在尝试使用一本有趣的剧本来显示我的名字。 bg代码是python。
---
- name: Test hello module
hosts: localhost
tasks:
- name: run the hello module
hello:
name: 'Test'
register: helloout
- name: dump test output
debug:
msg: '{{ helloout }}'
#!/usr/bin/python
def main():
module = AnsibleModule(
argument_spec=dict(
name=dict(required=True, type='string')
),
supports_check_mode=False
)
name = module.params['name']
module.exit.json(changed=False, meta=name)
from ansible.module_utils.basic import *
if __name__ == '__main__':
main()
[警告]:提供的主机列表为空,只有localhost可用。请注意,隐式本地主机与“ all”不匹配
PLAY [测试你好模块] ********************************************* ****************************************************** **************************************
任务[聚会事实] ********************************************** ****************************************************** ************************************** 好的:[localhost]
任务[运行hello模块] ******************************************** ****************************************************** *********************************** 致命的:[本地主机]:失败! => {“更改”:false,“ msg”:“实现错误:名称请求的未知类型字符串”}
PLAY RECAP ********************************************* ****************************************************** *********************************************** 本地主机:ok = 1更改= 0不可达= 0失败= 1跳过= 0获救= 0忽略= 0
答案 0 :(得分:1)
在AnsibleModule()
方法参数argument_spec
中,您要查找的类型实际上是str
而不是string
:
module = AnsibleModule(
argument_spec=dict(
name=dict(required=True, type='str')
),
supports_check_mode=False
)
您可以在the documentation中看到该参数的可接受类型规范列表。