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/
saltstack实战3--配置管理之YAML语法的更多相关文章
- saltstack之(六)配置管理state
		配置管理是saltstack工具最重要的模块之一,也是学习saltstack之后使用最多的一个功能.可以轻松实现上百台上千台甚至上万台服务器的管理工作. 1.使用state模块进行配置管理,编写sls ... 
- saltstack实战4--综合练习1
		规范配置管理 实际工作中可能会有现网环境,基线环境,开发环境. 需要使用saltstack统一管理.机器多了,业务多了,可能配置文件存放的会比较乱,因此可以统一管理起来 我们可以再加2个目录,test ... 
- Saltstack 介绍、安装、配置语法(一)
		Slatstack 介绍 官网:https://saltstack.com/ 官方源:http://repo.saltstack.com/ (介绍各操作系统安装方法) yum install htt ... 
- YAML 语法
		YAML 语法 来源:yaml 这个页面提供一个正确的 YAML 语法的基本概述, 它被用来描述一个 playbooks(我们的配置管理语言). 我们使用 YAML 是因为它像 XML 或 JSON ... 
- saltstack实战笔记
		#运维管理工具 ansible #支持ssh,不需要客户端 saltstack #也是只是ssh,不需要客户端的 安装架构是,master /minion 安装salt的依赖模块 python zer ... 
- SaltStack实战
		SaltStack实战 #安装 安装注意几点 python-libs-2.6.6-64.el6.x86_64 conflicts with file from package python-2.6.6 ... 
- ansible yaml 语法
		yet another markup language -- 另外的一种标记语言 yaml 语法: 序列:同一个类型的数据有多个,用"-" 来区分,叫序列 映射:价值对,用&quo ... 
- 【K8S】K8S-网络模型、POD/RC/SVC YAML 语法官方文档
		K8S-网络模型.POD/RC/SVC YAML 语法官方文档 Kubernetes - Production-Grade Container Orchestration kubernetes/kub ... 
- Ansible 小手册系列 八(Yaml 语法格式)
		YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读写.它实质上是一种通用的数据串行化格式. 它的基本语法规则如下. • 大小写敏感 • 使用缩进表示层级关系 • 缩进时不允许使用Ta ... 
随机推荐
- keil中编译时出现*** ERROR L107: ADDRESS SPACE OVERFLOW
			解决方法: http://zhidao.baidu.com/link?url=DWTVVdALVqPtUt0sWPURD6c1eEppyu9CXocLTeRZlZlhwHOA1P1xdesqmUQNw ... 
- [置顶] 新修改ADB,支持Android 4.2 系统 ,全部中文命令,手机屏幕截图等等
			发过好几个ADB的工具,有很多朋友用了之后给我反馈了不少的意见和bug,这里非常感谢他们,所以今天花了一天的时间重新整理了一下ADB,并且修改了这些BUG.也有朋友建议我给一个修改列表,今天发这个帖子 ... 
- Timus OJ 1997 Those are not the droids you're looking for (二分匹配)
			题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1997 这个星球上有两种人,一种进酒吧至少玩a小时,另一种进酒吧最多玩b小时. 下面n行是 ... 
- C#枚举数值与名称的转换
			在应用枚举的时候,时常需要将枚举和数值相互转换的情况.有时候还需要转换成相应的中文.下面介绍一种方法. 首先建立一个枚举: /// <summary> /// 颜色 /// </su ... 
- 初学Android 二 创建项目以及目录结构
			命令行创建 android create project Usage: android [global options] create project [action options] Global ... 
- 在Java中super和this的区别
			摘要:在Java中我们会时常用到super及this的用法,现在我主要来区分一下super.和this.及superL()及this()之间的区别,来对它们的认识和了解: 1.this的用法在Java ... 
- #定位系统性能瓶颈# strace & ltrace
			strace和ltrace分别相应的是系统调用和库函数调用, 系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底层调用的意思,面向的是硬件. 而库函数调用则面向的是应用开发的.相当于 ... 
- 让table 居于页面的正中间(上下左右均居中的方法)
			? <table bgcolor="#jnkc" width="300" height="200" style="posit ... 
- Qt编程18:Qt调色板QPalette的使用
			QPalette类有两个枚举类型, 枚举 1.ColorGroup CorGroup指的是3中不同的状态(什么时候设置颜色): 1>Active:获得焦点的状态. 2>Inactive:未 ... 
- c# winform 把彩色图片转换为灰色的图片,变灰,灰度图片,速度很快,safe,unsafe
			把彩色图片转换为灰色的图片,直接用.net接口遍历每个像素点转换的效率非常低,800K的图片65万像素我的电脑要用5分钟,而用了unsafe,速度提高了几千倍,同样的图片只用了0.几秒 附一个常用的遍 ... 
