Playbook中定义的变量
用户可以在Playbook中,通过vars关键字自定义变量,使用时用{{ }}引用以来即可。
Playbook中定义和使用的变量的方法
例如下面的例子中,用户定义变量名为http_port,其值为为80。在tasks firewalld中,通过引用。
把变量放在单独的文件中
当变量比较多的时候,或者变量需要在多个playbook中重用的时候,可以把变量放到一个单独的文件中。通过关键字var_files把文件中定义的变量引入playbook中,使用变量的方法和在本文件中定义的变量相同。
变量文件vars/server_vars.yml的内容为:
定义和使用复杂变量
有时候我们需要使用的变量的值不是简单的字符串或者数字,而是一个对象。这时候定义的语法如下,格式为YAML的字典格式:
访问复杂变量中的子属性,可以利用中括号或者点号:
YAML的陷阱
YAML的陷阱是某些时候YAML和Ansible Playbook的变量语法不能在一起好好工作了。这里仅发生在指冒号后面的值不能以{开头的时候,如果有必要以{开头,必须加上引号。总之在YAML值的定义中,如果提示YMAL语法错误,都可以尝试下加入引号来解决。
下面的代码会报错:
解决办法:要在"{ "开始的值加上引号:
Last updated