📜  Ansible-YAML基础

📅  最后修改于: 2020-11-02 03:12:10             🧑  作者: Mango


Ansible使用YAML语法来表达Ansible剧本。本章概述了YAML。 Ansible之所以使用YAML,是因为与其他数据格式(例如XML和JSON)相比,人类非常容易理解,读取和写入。

每个YAML文件都可以选择以“ —”开头,以“ …”结尾。

了解YAML

在本节中,我们将学习表示YAML数据的不同方式。

键值对

YAML使用简单的键值对来表示数据。字典用key:value对表示。

注意-:和值之间应该有空格。

示例:学生记录

--- #Optional YAML start syntax 
james: 
   name: james john 
   rollNo: 34 
   div: B 
   sex: male 
… #Optional YAML end syntax 

缩写

您也可以使用缩写来代表字典。

James: {name: james john, rollNo: 34, div: B, sex: male}

代表名单

我们还可以在YAML中表示List。列表的每个元素(成员)都应以“-”(-和空格)开头的相同缩进换行。

---
countries:  
   - America 
   - China 
   - Canada 
   - Iceland 
…

缩写

您也可以使用缩写来表示列表。

Countries: [‘America’, ‘China’, ‘Canada’, ‘Iceland’] 

在字典中列出

我们可以在字典中使用列表,即键的值为列表。

---  
james: 
   name: james john 
   rollNo: 34 
   div: B 
   sex: male 
   likes: 
      - maths 
      - physics 
      - english 
… 

字典清单

我们还可以列出字典。

---  
- james: 
   name: james john 
   rollNo: 34 
      div: B 
   sex: male 
   likes: 
      - maths 
      - physics 
      - english 

- robert: 
      name: robert richardson 
      rollNo: 53 
      div: B 
      sex: male 
   likes: 
      - biology 
      - chemistry 
…  

YAML使用“ |”在显示多行时包括换行符,在显示多行时用“>”取消换行符。因此,我们可以阅读和编辑大行。在这两种情况下,预期意图都将被忽略。

我们还可以在YAML中表示布尔值(真/假)。布尔值不区分大小写。

---  
- james: 
   name: james john 
   rollNo: 34 
   div: B 
   sex: male 
   likes: 
      - maths 
      - physics 
      - english 
   
   result: 
      maths: 87 
      chemistry: 45 
      biology: 56 
      physics: 70 
      english: 80 
   
   passed: TRUE 
   
   messageIncludeNewLines: | 
      Congratulation!! 
      You passed with 79% 
   
   messageExcludeNewLines: > 
      Congratulation!! 
      You passed with 79% 

一些与Ansible相关的常用词。

服务/服务器-提供服务的计算机上的进程。

机器-物理服务器,vm(虚拟机)或容器。

目标机器-我们将使用Ansible配置的机器。

任务-由Ansible管理的动作(运行它,删除它)等。

Playbook -yml文件,在其中写入Ansible命令并在计算机上执行yml。