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

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

Puppet命名规范:

约定说明:

小写字母:"a-z"
大写字母:"A-Z"
数字: "0-9"
句号: "."
下划线: "_"
连字符: "-"
冒号: ":"

主机命名:

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

模块命名:

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

类命名:

规范:单个类 \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

资源命名:

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

变量命名:

规范:\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

参数命名:

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

标签命名:

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