更新时间:2022-08-12 16:13:04
if CONDITION {
# statement like notice("Hello, World!")
} elsif CONDITION {
} else {
}
case {
case1, case2: {
}
case3: {
}
case 4, case5, case6: {
}
}
$rootgroup = $osfamily ? {
'Solaris' => 'wheel',
/(Darwin|FreeBSD)/ => 'wheel',
default => 'root',
}
原型为:
variable = $var ? {
var1 => value1,
var2 => value2
}
创建一个module_name目录, 在该目录中包含manifests, lib, tests, spec, files, templates目录, 其中在manifests中放的文件是.pp文件, 且和python一样有类似的要求, 需要有一个init.pp文件, 并且在该文件中需要定义一个class, 他的class name需要和module_name一致
下面为一个简单的示例
nginx/
|-- files # 放置普通的文件
|-- lib
|-- manifests # 放置.pp文件
| `-- init.pp
|-- spec
|-- templates # 放置嵌入ruby脚本的plain text, 就是里面有 <%= %>等标志的文件
| `-- nginx.conf
`-- tests