ansible变量引用
1. 在/etc/ansible/hosts默认文件中定义变量
[test]
192.168.163.130
#[test:vars]
#key=ansible
或者
192.168.163.130 key=ansible
[test]
192.168.163.130
2. 编写var.yaml文件
- hosts: test
gather_facts: False
tasks:
- name: display Host Variable from hostfile
debug: msg="The {{ inventory_hostname }} Vaule is {{ key }}" ansible-playbook var.yaml #检查yaml文件语法


3. 在/etc/ansible下新建目录host_vars
写入变量文件名要以主机ip或者绑定的host命名
cat host_vars/192.168.163.130
key: 192.168.163.130
ansible-playbook var.yaml

4. 针对主机组设置变量
在/etc/ansible下新建group_vars
变量文件以主机组命名
cat group_vars/test && rm -rf host_vars
key: abcdefg

5. 手动传入变量,可传入多个变量
ansible-playbook var.yaml -e "key=JSON" 6.支持文件传入变量
变量文件支持YAML和JSON两种格式
cat vars.yaml
key: KEY-YAML
cat var.json
{"key": "KEY_JSON"}
ansible-playbook var.yaml -e "@var.json"
7. 在playbook文件内使用vars
- hosts: test
gather_facts: False
vars:
key: Ansible-KEY
tasks:
- name: display Host Variable from hostfile
debug: msg="The {{ inventory_hostname }} Vaule is {{ key }}" 8. 在playbook文件使用vars_files
- hosts: test
gather_facts: False
vars_files:
- vars.yaml 或者group_vars/test
tasks:
- name: display Host Variable from hostfile
debug: msg="The {{ inventory_hostname }} Vaule is {{ key }}"
9. 使用register内的变量
cat var.yaml
- hosts: test
gather_facts: False
tasks:
- name: register variable
shell: hostname
register: aaaaa #输出结果为python字典
- name: display Host Variable from hostfile
debug: msg="The {{ inventory_hostname }} Vaule is {{ aaaaa }}" #{aaaaa['stdout']}具体输出某个字段的值

10. vars_prompt传入参数
cat var.yaml
- hosts: test
gather_facts: False
vars_prompt:
- name: "aaa"
prompt: "please input aaa value"
default: '123'
private: no
- name: "bbb"
prompt: "please input bbb value"
default: '456'
private: yes
tasks:
- name: display aaa value
debug: msg="aaa value is {{ aaa }}"
- name: display bbb value
debug: msg="bbb value is {{ bbb }}"

ansible变量引用的更多相关文章
- Ansible系列(六):各种变量定义方式和变量引用
本文目录:1.1 ansible facts1.2 变量引用json数据的方式 1.2.1 引用json字典数据的方式 1.2.2 引用json数组数据的方式 1.2.3 引用facts数据1.3 设 ...
- Ansible系列(五):各种变量定义方式和变量引用
Ansible系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.1 ansible facts facts组件是用来收集被管理节点信息的 ...
- 007.Ansible变量Fact,魔法变量和lookup生成变量
一 fact变量 1.1 fact简介 ansible有一个模块叫setup,用于获取远程主机的相关信息,并可以将这些信息作为变量在playbook里进行调用.而setup模块获取这些信息的方法就是 ...
- 编译器开发系列--Ocelot语言2.变量引用的消解
"变量引用的消解"是指确定具体指向哪个变量.例如变量"i"可能是全局变量i,也可能是静态变量i,还可能是局部变量i.通过这个过程来消除这样的不确定性,确定所引用 ...
- MyBatis mapper文件中的变量引用方式#{}与${}的差别
MyBatis mapper文件中的变量引用方式#{}与${}的差别 #{},和 ${}传参的区别如下:使用#传入参数是,sql语句解析是会加上"",当成字符串来解析,这样相比于$ ...
- C++ primer(八)--内联函数 引用变量 引用传递函数参数 函数重载/模板/模板具体化
一.内联函数 常规函数和内联函数的区别在于C++编译器如何将他们组合到程序中.编译过程的最终产品是可执行程序--由一组机器语言指令组成.运行程序时,操作系统将这些指令载入到计算机内存中,因此每 ...
- c语言函数定义、函数声明、函数调用以及extern跨文件的变量引用
1.如果没有定义,只有声明和调用:编译时会报连接错误.undefined reference to `func_in_a'2.如果没有声明,只有定义和调用:编译时一般会报警告,极少数情况下不会报警告. ...
- php引用计数与变量引用
每个php5.5变量都存储在一个叫做zval的变量容器中. 一个zval变量容器,除了包含变量的类型与值外,还包含两个字节的额外信息: 1.第一个是“is_ref”,是个bool型,用来标识这个变量是 ...
- ansible变量
ansible变量 (部分内容摘自互联网,非官方,描述不一定正确) 变量种类: 内置变量facts: 自定义变量: 命令行传递的变量 roles传递的变量 主机变量 组变量 内置变量facts: 由远 ...
随机推荐
- Hyperledger Fabric无排序组织以Raft共识算法启动多个Orderer服务、多组织共同运行维护Orderer服务
前言 在Hyperledger Fabric无系统通道启动及通道的创建和删除中,我们已经完成了以无系统通道的方式启动 Hyperledger Fabric 网络,并将链码安装到指定通道.但目前为止,实 ...
- Ajax错误处理
控制台报的错误是: Access to XMLHttpRequest at 'http://localhost:3000/error' from origin 'null' has been bloc ...
- 自定义制作SpringBoot启动图案
自定义制作SpringBoot启动图案 一.首先在SpringBoot项目的resources的目录下新建banner.txt文件 二.自定义启动图案 自定义启动图案地址 三.将生成的图形复制粘贴到b ...
- 11.Flink实时项目之支付宽表
支付宽表 支付宽表的目的,最主要的原因是支付表没有到订单明细,支付金额没有细分到商品上, 没有办法统计商品级的支付状况. 所以本次宽表的核心就是要把支付表的信息与订单明细关联上. 解决方案有两个 一个 ...
- Luffy /2/ 后台数据库配置&前台创建配置
目录 二次封装Response 后台数据库配置 命令操作 pycharm连接 django操作mysql 方式一 方式二 user表设计 前台创建及配置 全局css样式配置 配置文件配置 二次封装Re ...
- 攻防世界-MISC:something_in_image
这是攻防世界高手进阶区的第四题,题目如下: 点击下载附件一,得到一个压缩包,解压后得到一个文件,用010editor打开,搜索flag,即可得到flag 另外一种做法,根据题目包含image,使用ka ...
- XCTF练习题---MISC---倒立屋
XCTF练习题---MISC---倒立屋 flag:flag{9102_cCsI} 解题步骤: 1.观察题目,下载附件 2.打开发现是个倒立的屋子,并没有发现啥东西,拿StegSolve看看 3.查了 ...
- 论文解读(Debiased)《Debiased Contrastive Learning》
论文信息 论文标题:Debiased Contrastive Learning论文作者:Ching-Yao Chuang, Joshua Robinson, Lin Yen-Chen, Antonio ...
- HttpResponse,render,redirect,静态文件配置,request对象方法,pycharm连接MySQL,django连接MySQL,django ORM
HttpResponse 主要用于返回字符串类型的数据 def index(request): return HttpResponse('index页面') 在页面中就会显示 index页面 rend ...
- 如何利用 React Hooks 管理全局状态
如何利用 React Hooks 管理全局状态 本文写于 2020 年 1 月 6 日 React 社区最火的全局状态管理库必定是 Redux,但是 Redux 本身就是为了大型管理数据而妥协设计的- ...