puppet 中的 $:: 是什么意思

puppet 中的 $:: 是什么意思

我正在研究一个管理网络的模块,为了了解 puppet 模块的工作原理,我遇到的问题是了解 $::nisdomainname 是什么、它来自哪里、“$::”是什么意思以及为什么 nisdomain 部分在定义块之外?下面是模块中文件的摘录,有人能帮助我理解吗?

define network::global (
  $hostnamemod = '',
  $gateway = '',
  $vlan = '',
  $nozeroconf = '',
  $gatewaydev = ''
) {
  $nisdomain = $::nisdomainname ? {
    ''      => '',
    default => $::nisdomainname,
  }

提前感谢丹

答案1

在 puppet 3.0 及更新版本中,作用域规则将发生变化,您不能再使用$variablename来引用全局范围内的变量,正确的语法是$::variablename。此语法在 2.7 中也有效,在旧版本中可能也有效。

相关内容