📅  最后修改于: 2020-12-26 12:22:23             🧑  作者: Mango
在剧本中,变量与在编程语言中使用变量非常相似。它可以帮助您为变量分配值,并在剧本中的任何位置使用它。您可以将条件放在变量的值周围,并相应地在剧本中使用它们。
在开始使用变量之前,重要的是要知道什么是有效的变量名。
变量名称应为字母,数字和下划线。该变量应始终以字母开头。
foo_port和foo2都是正确或有效的变量名。
Foo端口,foo端口,foo.port和10foo都是无效的变量名称。
YAML支持将键映射到值的字典。例如:
foo:
field1: one
field2: two
然后,您可以使用方括号符号或点符号来引用字典中的特定字段:
foo['field1']
foo.field1
两者都将引用相同的值“一个”。但是,如果选择使用点表示法,请注意某些键可能会引起问题,因为它们与Python词典的属性和方法冲突。如果您使用以两个下划线或任何已知的公共属性作为开头和结尾的键,则应使用方括号而不是点号:
- hosts :
vars:
tomcat_port : 8080
在上面的示例中,定义了一个变量名称tomcat_port并将值8080分配给该变量,并可以在您的剧本中视需要使用它。
以下代码来自其中一个角色(install-tomcat),例如:
block:
- name: Install Tomcat artifacts
action: >
yum name = "demo-tomcat-1" state = present
register: Output
always:
- debug:
msg:
- "Install Tomcat artifacts task ended with message: {{Output}}"
- "Installed Tomcat artifacts - {{Output.changed}}"