在Vars文件夹中创建字典变量,然后在python中设置为字典变量

时间:2016-12-22 22:57:54

标签: python dictionary module ansible

我想知道如何在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"]
}

1 个答案:

答案 0 :(得分:0)

如果我的猜测是正确的list_ips参数名称表明它是一个列表,而不是一个字典。因此,请尝试修改您的vars文件:

server_ips: ["1111.1111", "222.222.22.22"]