ansible之variable
来源:互联网 发布:菠萝饭软件怎么样 编辑:程序博客网 时间:2024/05/22 08:09
变量的命名
和大多数编程语言类似,ansible的变量允许使用字母数字下划线来取,但是变量名始终以字母开头。
yaml语法可以定义一个字典:
foo: field1: 1 field2: 2
调用可以使用括号和点:
foo['field1']foo.field1
点有时候会和python的某些属性调用冲突,所以尽量使用括号法。
变量的定义
- 变量可以在inventory中定义
[atlanta]host1 http_port=80 maxRequestsPerChild=808host2 http_port=303 maxRequestsPerChild=909
- 变量可以在playbook中定义
- hosts: webservers vars: http_port: 80
这将很利于阅读playbook
- 变量可以在roles和incloud的结构中定义
在主目录中建立group_vars目录,在其中写入yaml格式定义的变量。
使用变量
My amp goes to {{ max_amp_value }}
这是简单的例子,双大括号内部就是变量名。
在playbook中,同样的使用:template: src=foo.cfg.j2 dest={{ remote_install_path }}/foo.cfg
注意
在yaml语法中,如果你需要引用变量作为一行的开头,你要加上双引号,否则不能调用变量而是创建字典。
这是错的:
- hosts: app_servers vars: app_path: {{ base_path }}/22
这是对的:
- hosts: app_servers vars: app_path: "{{ base_path }}/22"
从系统获取变量:facts
有一种变量不是手动定义的,而是从系统获取的,facts就是这种变量的集合。
要获得一台主机的facts,使用这个命令:ansible hosts -m setup
这将会返回很多的内容的,其实就是facts变量的组成的字典。
例如:"ansible_distribution": "CentOS"
这一项{{ansible_distribution}}
的值就是“CentOS”。
阅读全文
0 0
- ansible之variable
- Ansible Variable
- ansible学习之--ansible初探
- Ansible(二):Ansible之剧本(Playbooks)
- ansible之并发运行
- ansible register 之用法
- LINUX学习之ANSIBLE
- ansible之inventory文件
- ansible之yaml语法
- ansible之patterns
- ansible之playbook入门
- ansible之条件语句
- ansible之loops
- ansible之并发运行
- ansible学习之--安装Svn
- python之ansible 2.0 API
- Ansible之playbook学习一
- ansible之ad-hoc commands
- 用彩虹表破解MD5、LM Hash等复杂加密密码
- log4j配置打印mybatis sql语句
- 有两台电脑,一台电脑有线上网,另一台不能上网,如何通过飞秋或者其他软件,使得两台电脑间能互传文件
- 论~不小心看破了百度TTS的规律(仅限网络环境)
- 在页面做一个可拖动的进度条
- ansible之variable
- 打印中文字符
- 上拉电阻
- Oracle 11g RAC 添加删除日志组(修改日志组大小)
- word2vec安装使用教程
- TransparentBitmap函数设置透明位图的原理分析
- 关于python语句与列表,元组,字典等集合的题
- java项目搭建
- SimpleDateFormat显示格式如2017-05-20 15:00:10,怎么显示为24小时的格式,而不是2017-05-20 3:00:10