This is an old revision of the document!
Pentru a defini variabile in Puppet, folosim sintaxa $variabila
, atat pentru atribuire, cat si pentru referentiere.
Rescriem manifestul pentru fisierul my_file, definind continutul fisierului intr-o variabila:
$my_content = "File created using Puppet." file {'my_file': path => '/tmp/my_file', ensure => present, mode => 0640, content => $my_content, }
In afara de variabilele definite de utilizator, Puppet defineste si anumite variabile de sistem. Acestea se numesc facts.
Pentru a vizualiza toate aceste variabile, folosim comanda facter
:
[root@learn ~]# facter architecture => i386 augeasversion => 1.1.0 bios_release_date => 12/01/2006 bios_vendor => innotek GmbH bios_version => VirtualBox blockdevice_sda_model => VBOX HARDDISK blockdevice_sda_size => 8589934592 blockdevice_sda_vendor => ATA blockdevices => sda ...
Un exemplu de folosire a variabilelor de sistem este luarea anumitor decizii in functie de valoarea acestora.
Urmatorul manifest se asigura ca serviciul NTP:
Decizia se ia in functie de valoarea variabile de sistem $is_virtual
.
if str2bool("$is_virtual") { service {'ntpd': ensure => stopped, enable => false, } } else { service { 'ntpd': name => 'ntpd', ensure => running, enable => true, hasrestart => true, require => Package['ntp'], } }
Scrieti un manifest care sa instaleze pachetul corect pentru serverul NTP, in functie de distributia de Linux.
Pentru Ubuntu sau Debian pachetul se numeste ntp iau pentru Redhat si Fedora se numeste ntpd.