• saltstack实战3--配置管理之YAML语法


    本文来自如下链接http://docs.saltstack.cn/topics/yaml/index.html

    了解YAML

    默认的SLS文件的renderer是YAML renderer。YAML是一个有很多强大特性的标记性语言。Salt使用了一个YAML的小型子集,映射非常常用的数据结构,像列表和字典。YAML renderer的工作是将YAML数据格式的结构编译成为Python数据结构给Salt使用。

    尽管YAML语法可能第一眼看上去很简洁但令人畏惧,但是只要记住三个非常简单的规则就可以使用YAML语法写SLS文件了。

    规则一: 缩进

    YAML使用一个固定的缩进风格表示数据层结构关系。Salt需要每个缩进级别由两个空格组成。不要使用tabs。

    规则二: 冒号

    Python的字典当然理所当然是简单的键值对。其他语言的用户应该知道这个数据类型叫哈希表或者关联数组。

    字典的keys在YAML中的表现形式是一个以冒号结尾的字符串。Values的表现形式冒号下面的每一行,用一个空格隔开:

    my_key: my_value
    

    在Python中,上面的将映射为:

    {'my_key': 'my_value'}
    

    另一种选择,一个value可以通过缩进与key联接。

    my_key:
      my_value
    

    注解

    上面的语法是有效的YAML,但是在SLS文件罕见,因为通常情况下,一个key的value不是单一的,而是一个 列表 的values。

    在Python中,上面的将映射为:

    {'my_key': 'my_value'}
    

    字典可以被嵌套:

    first_level_dict_key:
      second_level_dict_key: value_in_second_level_dict
    

    在Python中:

    {
        'first_level_dict_key': {
            'second_level_dict_key': 'value_in_second_level_dict'
        }
    }
    

    规则三: 短横杠

    想要表示列表项,使用一个短横杠加一个空格。多个项使用同样的缩进级别作为同一列表的一部分。

    - list_value_one
    - list_value_two
    - list_value_three
    

    列表可以可以作为一个键值对的value。这个在Salt很常见:

    my_dictionary:
      - list_value_one
      - list_value_two
      - list_value_three
    

    在Python中,上面的将映射为:

    {'my_dictionary': ['list_value_one', 'list_value_two', 'list_value_three']}
    

    学习更多

    一个简单的学习更多关于YAML如何渲染为Python数据结构的方式是使用一个在线的YAML解析器去看看Python的输出。

    一个优异的的体验YAML解析过程的选择: http://yaml-online-parser.appspot.com/

  • 相关阅读:
    MySQL 多列索引优化小记
    Spring MVC + Security 4 初体验(Java配置版)
    Java程序通过代理访问网络
    Spring RESTful + Redis全注解实现恶意登录保护机制
    WinSCP 中普通用户以 root 身份登录 Linux
    Linux下修改系统时区
    Git如何检出指定目录或文件
    朴素贝叶斯
    console.log 被重写覆盖以后如何恢复
    MongoDB 基础命令使用学习记录
  • 原文地址:https://www.cnblogs.com/nmap/p/6220460.html
Copyright © 2020-2023  润新知