Puppet实战-Puppet主机、模块、类、资源、变量、参数、标签命名规范

   本文源自于作者守住每一天《Puppet实战》中第五章:Puppet语法和命令详解部分资料的汇总,考虑到各种印刷错误和勘误,特写了此篇文章。更多详细说明可参考《Puppet实战》书籍。

Puppet命名规范:

约定说明:

1
2
3
4
5
6
7
小写字母: "a-z"
大写字母: "A-Z"
数字:  "0-9"
句号:  "."
下划线:  "_"
连字符:  "-"
冒号:  ":"

主机命名:

1
2
规范:/\A[a-z0- 9 ._-]+\Z/
推荐:角色-运营商-机房-IP.系统.域名   web-cnc-bj- 174.129 . 158.192 .centos.linuxtone.org

模块命名:

1
2
规范:\A[a-z][a-z0-9_-]*\Z
备注:必须以小写字母开头

类命名:

1
2
3
规范:单个类 \A[a-z][a-z0-9_-]*\Z    类::子类 \A([a-z][a-z0-9_-]*)?(::[a-z][a-z0-9_-]*)*\Z
备注:必须以小写字母开头
eg. Class nginx   Class nginx::install

资源命名:

1
2
规范:可以是任意字符,但对英文大小写敏感,通常只受限于底层操作系统,为资源命名时都以作用名命名
eg.  package 'nginx' : }

变量命名:

1
2
3
4
5
规范:\A\$[a-zA-Z0-9_]*\Z
eg.  $net_ipv4_ip_forward =  '1'
类中变量引用:
规范:类::子类::变量  \A$([a-z][a-z0-9_-]*)?(::[a-z][a-z0-9_]*)*::[a-zA-Z0-9_]+\Z
$sysctl::params::net_ipv4_ip_forward

参数命名:

1
2
规范:\A$[a-z][a-z0-9_]*\Z
备注:必须以美元符号$开头,且第一个字符必须是小写字母

标签命名:

1
2
规范:\A[a-z0-9_][a-z0-9_:\.\-]*\Z
备注:必须以小写字母开头

本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/1348603,如需转载请自行联系原作者