我想知道如何在vars文件夹中的main.yml文件中创建一个字典变量,然后将该字典变量设置为客户python模块中的变量。
def main():
module = AnsibleModule(
argument_spec=dict(
sl_username=dict(required=True),
sl_api_key=dict(required=True),
list_ips=dict(required=True),
soft_reboot=dict(required=True),
hard_reboot=dict(required=True)
),
supports_check_mode=True
)
所以我有一个list_ips
变量,我在vars文件夹中作为参数传递:
...
soft_reboot: True
hard_reboot:
list_ips: "{{ server_ips }}"
然后在自定义模块中进行设置:
argumentDict = module.params.get('list_ips')
vars中main.yml文件中的内容不起作用:
---
server_ips: {
"ip": ["1111.1111", "222.222.22.22"]
}
答案 0 :(得分:0)
如果我的猜测是正确的list_ips
参数名称表明它是一个列表,而不是一个字典。因此,请尝试修改您的vars文件:
server_ips: ["1111.1111", "222.222.22.22"]