Definire risorse in Puppet
Jump to navigation
Jump to search
Se si vuole creare una nuova risorsa, ad esempio un nuovo tipo di utente, che includa altre risorse, procedere come segue:
- Definire la nuova risorsa. Se si vuole usare il nome della risorsa, NON inserirlo come parametro, ma utilizzarlo direttamente nelle risorse interne:
define smbuser(
$smb_pass = undef,
$smb_desc = "Samba User" ) {
exec { "create_samba_user_${name}":
command =>template("samba_pdv/create_samba_user.erb"),
unless => "/usr/bin/pdbedit -L $name > /dev/null 2>&1",
require => [
File['/etc/samba/smb.conf'],
Service['samba'],
],
}
file { "/files/homes/$name":
ensure => "directory",
owner => "$name",
group => "users",
mode => 755,
require => [
File['/files/homes'],
Exec["create_samba_user_${name}"],
],
}
}
- Si notino i parametri messi con valori di default, e che $name non è passato come parametro, altrimenti prenderebbe il nome della classe chiamante, e non darebbe i risultati voluti
- Si possono poi creare le risorse come:
smbuser { "firstuser":
smb_pass => "SecretPass",
smb_desc => "This is First User",
}