Назад | Перейти на главную страницу

Что означает $ :: в марионетке

Я просматриваю модуль, который управляет сетью, чтобы понять, как работают марионеточные модули, я застрял в понимании того, что такое $ :: nisdomainname, откуда оно взялось и что означает "$ ::" и почему часть nisdomain находится вне блока определения? Отрывок из файла в модуле ниже, может кто-нибудь помочь мне с пониманием?

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

Заранее спасибо Дэн

В puppet 3.0 и новее правила области видимости изменятся, и вы больше не сможете использовать $variablename для ссылки на переменную в глобальной области видимости правильный синтаксис: $::variablename. Этот синтаксис также работает в 2.7 и, возможно, в более старых версиях.