例如,我们有一个字典my_dict
,我们想获取其中键为my_key
的值,可以使用如下Jinja2语句:
{{ my_dict['my_key'] }}
例如,我们有一个字典my_dict
,我们想遍历其中所有的键值对,可以使用如下Ansible代码:
- name: Loop through dict
debug:
msg: "{{ item.key }}: {{ item.value }}"
loop: "{{ my_dict|dict2items }}"
其中,dict2items
将字典转换为一个键值对列表。
如果想要更为复杂的字典操作,可以使用自定义Ansible模块来实现。下面是一个简单的示例:
from ansible.module_utils.basic import AnsibleModule
def main():
module = AnsibleModule(
argument_spec=dict(
my_dict=dict(type='dict', required=True),
my_key=dict(type='str', required=True),
)
)
my_dict = module.params['my_dict']
my_key = module.params['my_key']
if my_key in my_dict:
result = dict(found=True, value=my_dict[my_key])
else:
result = dict(found=False)
module.exit_json(**result)
if __name__ == '__main__':
main()
以上是使用Python编写的自定义Ansible模块,可以根据传入的参数检查一个字典中是否存在特定的键,并返回对应的值或标志。