变量
- playbook的变量有以下几种
- 在playbook中用户自定义的变量
- 远程主机中由Ansible收集的变量
- 在文件模板中使用的上述两种变量
- 把任务结果作为一个变量使用,叫注册变量
- 用户在执行playbook时,通过命令行传入的变量,叫做额外变量
在playbook中用户自定义的变量
playbook中定义变量
- 在playbook中定义的变量,称为局部变量,只能在当前的playbook中使用
- 用户可以使用
vars
关键字 在playbook中定义变量 - 使用
{ { var_name }}
来引用变量
把变量放在单独的文件中
- 可以把变量放在单独的文件中,然后在playbook中使用
vars_files
关键字引入变量文件 - 变量文件的后缀名可以是
.yml
或者.yaml
- 使用文件中变量的方法与 在playbook中定义变量的方法相同
定义和使用复杂变量
- 使用复杂变量时,定义的语法为yaml中的字典格式
foo:
field1: one
field2: two
- 访问复杂变量中的子属性,可以使用中括号或者点号
foo['field1']
foo.field2