ITPub博客

首页 > 数据库 > 数据库开发技术 > Ansible自动化运维工具5.0:YAML实战详解

Ansible自动化运维工具5.0:YAML实战详解

原创 数据库开发技术 作者:运维book思议 时间:2023-10-03 17:49:43 0 删除 编辑

先放个链接,万一有人关注呢

优质文章推荐

↓ ↓ ↓ ↓ ↓

Ansible自动化运维工具1.0:核心组件

Linux系统服务巡检脚本

Python脚本实现Zabbix自动微信告警

计算机网络:OSI七层网络模型

Linux系统不优化的后果有多严重?



书接上回:Ansible自动化运维工具4.0:模块调用高阶技巧

YAML是“YAML Ain't a Markup Language”(YAML不是一种标记语言)的递归缩写,通常在Ansible配置中都需要使用YAML语言。在国内,这门语言又被一些业内人士称为“压马路”。

YAML入门

YAML的语法与其他高级语言类似,并且可以简单表达清单、散列表,标量等数据形态。它可以使用空白符号缩进,比较适合用来表达或编辑数据结构、各种配置文件、调试内容、文件大纲等。YAML语言编写的配置文件后缀为.yml或.yaml。
YAML基本语法规则如下。
  1. 区分大小写。
  2. 使用缩进表示层级关系。
  3. 缩进不允许使用TAB,只允许空格。
  4. 缩进的空格数不重要,只要相同层级的元素左对齐即可。
  5. “#”表示注释。
YAML支持以下几种数据类型。
对象:键值对的集合,又称为映射(mapping)、哈希(hashes)、字典(dictionary)。
数组:一组按次序排列的值,又称为序列(sequence)、列表(list)。
纯量(scalars):单个的、不可再分的值。
YAML对象

对象键值对使用冒号结构表示。

key: value

此处需要注意的是,冒号后要加一个空格。

用户也可以通过一个对象名称表示多个键值对。

key: {key1: value1,key2: value2,...}

还可以使用缩进,以表示层级关系。

key:    child-key1: value1    child-key2: value2

较为复杂的对象格式,可以使用问号加一个空格代表一个复杂的key,配合一个冒号加一个空格代表一个value下。

?     - complexkey1    - complexkey2:     - complexvalue1    - complexvalue2

上述示例表示对象的属性是一个数组[complexkey1,complexkey2],对应的值也是一个数组[complexvalue1,complexvalue2]。

YAML数组

以“-”开头的行表示构成一个数组。

- A- B- C

YAML支持多维数组,可以使用行内表示。

key: [value1, value2, ...]

数据结构的子成员是一个数组,则需要在该项下面缩进一个空格。

- - A - B - C

举一个相对复杂的例子。

companies:    -        id: 1        name: company1        price: 200W    -        id: 2        name: company2        price: 500W

上述示例中表示companies属性是一个数组,每一个数组元素又是由id、name、price三个属性构成。

数组也可以使用流式(flow)的方式表示。

companies: [{id: 1,name: company1,price: 200W},{id: 2,name: company2,price: 500W}]

数组和对象可以构成复合结构。

languages:  - Ruby  - Perl  - Python websites:  YAML: yaml.org   Ruby: ruby-lang.org   Python: python.org   Perl: use.perl.org

未完待续。。。。。。

来不及解释了,快上车!(进群看公告)

欢迎新的小伙伴加入!在这里,我们鼓励大家积极参与群内讨论和交流,分享自己的见解和经验,一起学习和成长。同时,也欢迎大家提出问题和建议,让我们不断改进和完善这个平台。

              ↓↓↓ 点个在看,无需赞赏!

原文作者:运维book思议;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2022-09-24

  • 博文量
    333
  • 访问量
    215273