Ansible YAML:什么时候可以在字典中使用等号(=)呢?
我一直在阅读ansible剧本中的风格词典,这些剧本应该是用YAML编写的。另一方面,我没有找到任何关于这种格式的文档,而且似乎有些情况下它对我不起作用。确切的规格是什么?我在哪里可以找到它?在AnsibleAnsible YAML:什么时候可以在字典中使用等号(=)呢?,ansible,yaml,Ansible,Yaml,我一直在阅读ansible剧本中的风格词典,这些剧本应该是用YAML编写的。另一方面,我没有找到任何关于这种格式的文档,而且似乎有些情况下它对我不起作用。确切的规格是什么?我在哪里可以找到它?在Ansiblekey=value中通常不用于DICT 将参数传递给操作/模块是另一种语法,如: - name: restart apache service: name=apache state=restarted 在这里,您将名称和状态参数传递给服务模块 从YAML的角度来看,name=apach
key=value
中通常不用于DICT
将参数传递给操作/模块是另一种语法,如:
- name: restart apache
service: name=apache state=restarted
在这里,您将名称
和状态
参数传递给服务
模块
从YAML的角度来看,name=apachestate=restarted
是一个字符串。Ansible在引擎盖下施展了一些魔法来把它劈开。但由于参数复杂,它变得不可靠且繁琐,因此我始终使用本机YAML语法:
- name: restart apache
service:
name: apache
state: restarted
这个key=value
仅适用于模块/操作参数,您不能这样定义字典:
vars:
# this will give you a string, not dict
mydict: key1=value1 key2=value
您不能在YAML中这样做,因为它不在YAML规范中。但您当然可以在非引号标量字符串中包含=
。应用程序在加载后如何解释该字符串与YAML无关