我正在研究一个管理网络的模块,为了了解 puppet 模块的工作原理,我遇到的问题是了解 $::nisdomainname 是什么、它来自哪里、“$::”是什么意思以及为什么 nisdomain 部分在定义块之外?下面是模块中文件的摘录,有人能帮助我理解吗?
define network::global (
$hostnamemod = '',
$gateway = '',
$vlan = '',
$nozeroconf = '',
$gatewaydev = ''
) {
$nisdomain = $::nisdomainname ? {
'' => '',
default => $::nisdomainname,
}
提前感谢丹
答案1
在 puppet 3.0 及更新版本中,作用域规则将发生变化,您不能再使用$variablename
来引用全局范围内的变量,正确的语法是$::variablename
。此语法在 2.7 中也有效,在旧版本中可能也有效。