Конспекты по puppet

Встроенные переменные

  • $operatingsystem — операционная система.
  • $fqdn — полное доменное имя.
  • $hostname — имя хоста.
  • $ipaddress — IP адрес.
  • $osfamily — семейство операционных систем.
  • $is_virtual — запущена ли ОС в виртуальной машине.

Встроенные переменные становятся доступными благодаря утилите facter, устанавливаемой вместе с puppet, которая берёт информацию из системы.

# просмотр всех переменных окружения клиента
file {
   '/tmp/facts.yaml':
      content => inline_template('<%= scope.to_hash.reject { |k,v| !( k.is_a?(String) && v.is_a?(String) ) }.to_yaml %>'),
}

Операторы

if condition {
   ...
} elsif condition {
   ...
} else {
   ...
}
case $operatingsystem {
      centos, redhat: { $apache = "httpd" }
      debian, ubuntu: { $apache = "apache2" }
      default: { fail("Unrecognized operating system for webserver") }
}
$apache = $operatingsystem ? {
   centos                => 'httpd',
   redhat                => 'httpd',
   /(?i)(ubuntu|debian)/ => "apache2",
   default               => undef,
}