• Ansible之YAML语言


    playbook写yml语句,若干模块发给Ansible,变成一个一个play,多个片段组合起来变成大片。

    最终还是要读取主机清单,来确定作用在哪些机器上。

    YAML语言

    YAML是一个可读性高的用来表示资料序列的格式。
    YAML参考了其他多种语言,包括XML、C、Python、Perl
    YAML是一种语言,通用的标记性语言。

    :"Yet Another Markup Language"(
    

    YAML更加的简洁,可读性更好。

    YAML语法简介

    开始用---
    多个文件也可以用---隔离开
    文件后缀用yml

    • 在单一文件第一行,用连续三个连字号“-” 开始,还有选择性的连续三个点号( ... )用来表示文件的结尾
    • 次行开始正常写Playbook的内容,一般建议写明该Playbook的功能
    • 使用#号注释代码
    • 缩进必须是统一的,不能空格和tab混用
    • 缩进的级别也必须是一致的,同样的缩进代表同样的级别,程序判别配置的级别是通过缩进结合换行来实现的
    • YAML文件内容是区别大小写的,key/value的值均需大小写敏感
    • 多个key/value可同行写也可换行写,同行使用,分隔
    • v可是个字符串,也可是另一个列表
    • 一个完整的代码块功能需最少元素需包括 name 和 task
    • 一个name只能包括一个task
    • YAML文件扩展名通常为yml或yaml

    YAML字典

    • 字典 键值对 不用横线 冒号后又空格 用 , 隔开
    • 缩进 同一级必须一样,按照缩进来判断是否同一级别。
    • 字典由多个key与value构成,key和value之间用 :分隔,所有k/v可以放在一行,或者每个 k/v 分别放在不同行

    List列表

    列表由多个元素组成,每个元素放在不同行,且元素前均使用“-”打头,或者将所有元素用 [ ] 括起来放在同一行

    常见的三种数据格式

    • XML:Extensible Markup Language,可扩展标记语言,可用于数据交换和配置
    • JSON:JavaScript Object Notation, JavaScript 对象表记法,主要用来数据交换或配置,不支持注释
    • YAML:YAML Ain't Markup Language YAML 不是一种标记语言, 主要用来配置,大小写敏感,不支持tab

    YAML配置文件,不利于在网络中传输,用JSON传输数据更加方便。

    可以用工具互相转换,参考网站:

    https://www.json2yaml.com/
    http://www.bejson.com/json/json2yaml/

    * * * 胖并快乐着的死肥宅 * * *
  • 相关阅读:
    Python_报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 0: illegal multibyte sequence
    Python_报错:TypeError: file must have 'read' and 'readline' attributes
    Maven不扫描java文件夹下的配置文件解决办法
    Web中的相对路径和绝对路径
    sqlyog报错2058
    base标签的作用
    相对路径和绝对路径的解释
    自定义Tomcat部署目录
    常用正则表达式
    接口的结构定义
  • 原文地址:https://www.cnblogs.com/bpzblog/p/13162587.html
Copyright © 2020-2023  润新知