码迷,mamicode.com
首页 > 其他好文 > 详细

ansible(六)variables(二)使用

时间:2014-07-02 11:39:34      阅读:330      评论:0      收藏:0      [点我收藏+]

标签:failed   success   filter   

上一篇,咱们总结了下,ansible里的variables,这东西是从哪里来的。楼主举的例子可能都比较白痴,不过重在说明原理和过程,大伙有实际需求的时候,可以弄点高深的玩玩。

说过了,variables来自哪里,那variables该咋用呢?

说起用,用可以简单的用,也可以复杂的用,简单的用variables,直接{{variable}}这样用俩大括号括起来就OK了。高深的用,就要运用的更加灵活,可以对变量进行处理,结合循环,条件选择等流程控制方法使用。


说到variables,无外乎用在俩地方,playbooks和template里面

mark一下jinja2官方文档

http://jinja.pocoo.org/docs/templates/#builtin-filters

下面楼主整个没啥实际作用小例子,测试一下功能。

bubuko.com,布布扣

简单说明一下,

19行,故意执行一个错误的命令

25,29,30,34行,都通过|,对变量做了处理。 | 是jinja2里面的filter,意思就是咱们这个

变量|方法,通过|后面的方法对变量进行处理,得到一个新的结果。

25行判断result是failed还是success了,当falied的时候返回True

29行,取list1和list2两个列表的合集

30行,判断dic[‘dic1‘]的value是否匹配"li*",匹配返回True,否则False

34行,比较大小,判断dic[‘dic3‘]是否等于10,等于返回True,不等返回False


类似的filter还有很多很多,这里就不一一列举了,大伙没事可以去看看官网或者jinja2的官网


再看一下template里面的内容

bubuko.com,布布扣

1,2,10行用到了facts

9行,用到了,自定义模块返回的facts,9行的default(0)是设定默认值,如果chengge这个变量不存在,则这个表达式的结果为0

5行,用到了咱们在playbooks里面定义的variables,及template的filter功能

8行和10行,用到了ansible里面的三个内置变量中的俩个,三个分别是groups,group_names,hostvars


差不多就这些了,看下结果吧

bubuko.com,布布扣

OK,回家!



本文出自 “西风” 博客,请务必保留此出处http://lixcto.blog.51cto.com/4834175/1433245

ansible(六)variables(二)使用,布布扣,bubuko.com

ansible(六)variables(二)使用

标签:failed   success   filter   

原文地址:http://lixcto.blog.51cto.com/4834175/1433245

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!