Ansible之playbook,yaml文件详解

要学好Ansible,Playbook是必须的,

playbook是yaml文件格式,这令很多初次接触yaml文件的朋友痛苦不堪,什么时候会用到 "-" 什么时候不用到"-" 头大

不废话,本文将结合python来问做yaml文件的详解

首先我们写简单的yaml,此段yaml语言和playbook无关,但是对于认识yaml非常有帮助

 这是我写的一个简单的yaml,但是对认识yaml很有帮组,闲话不说我们看是解析,这个yaml

运用python对yaml解析了以后

看着是不是很眼熟,对是一个json字符串

也就是key-value的形式,大部分编程语言都可以将json翻译成自己的数据类型

首先我们来解析这串字符串

app这个key所对应的值是另外一组json字符串,这个字符串,又包含了三组键值对

(key-hostname,value-centos),(key-hosts,value-['10.0.0.1','10.0.0.2','10.0.0.3']),(key-name,value-'test dev prd')

于是我们得知

1.app对应的值是一个json字符串

2. hostname对应的是一个字符串

3.”-“  ip地址,表示的是一个列表,或者叫数组。

4.而不加“-” 的解析出来是带空格的字符串

那我们再看一个yaml:

 

比上次那个稍稍复杂了一些

 这个我给排下版:

{'app':

       '[{'hostname':.....},

       {’hostname‘:.....}]'

}

这个json字符串

app 的value 是一个数组(列表),

数组是由两个json字符串

在json字符串中有一个特点,很重要的特点就是key不允许有重复。

数组的特性,允许重复,但是实际工作中我们要用到重复的key怎么办,把它变成数组

于是我们就可以需要在写yaml的时候在需要用重复的key前面加 “-” 至于值什么时候需要加 -,就看你希望以那种数据类型来解析这个值了

猜你喜欢

转载自www.cnblogs.com/juanNote/p/12327331.html