我key1=value1 key2=value2一直在使用应该用YAML编写的ansible playbooks 阅读样式词典.另一方面,我没有找到任何这种格式的文档,似乎有些情况下它对我不起作用.什么是确切的规格,我在哪里可以找到它?
在Ansible key=value中一般不用于dicts .
它是将参数传递给actions/modules的替代语法,例如:
- name: restart apache
service: name=apache state=restarted
Run Code Online (Sandbox Code Playgroud)
在这里,您传递name和state参数service模块.
从YAML角度来看name=apache state=restarted是一个字符串.Ansible在幕后做了一些神奇的事情来分裂它.但是对于复杂的参数,它变得不可靠和繁琐,所以我总是使用原生的YAML语法:
- name: restart apache
service:
name: apache
state: restarted
Run Code Online (Sandbox Code Playgroud)
这只key=value适用于模块/动作参数,你不能像这样定义字典:
vars:
# this will give you a string, not dict
mydict: key1=value1 key2=value
Run Code Online (Sandbox Code Playgroud)