Definire risorse in Puppet

From RVM Wiki
Revision as of 17:03, 14 July 2014 by Gabriele.vivinetto (talk | contribs) (Created page with "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 n...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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",
    }

Riferimenti