Я просматриваю модуль, который управляет сетью, чтобы понять, как работают марионеточные модули, я застрял в понимании того, что такое $ :: nisdomainname, откуда оно взялось и что означает "$ ::" и почему часть nisdomain находится вне блока определения? Отрывок из файла в модуле ниже, может кто-нибудь помочь мне с пониманием?
define network::global (
$hostnamemod = '',
$gateway = '',
$vlan = '',
$nozeroconf = '',
$gatewaydev = ''
) {
$nisdomain = $::nisdomainname ? {
'' => '',
default => $::nisdomainname,
}
Заранее спасибо Дэн
В puppet 3.0 и новее правила области видимости изменятся, и вы больше не сможете использовать $variablename
для ссылки на переменную в глобальной области видимости правильный синтаксис: $::variablename
. Этот синтаксис также работает в 2.7 и, возможно, в более старых версиях.