Pesquisa de parâmetro de fantoche

2

Gostaria de saber se é possível pesquisar o valor de outro recurso do Puppet, algo como o seguinte exemplo:

define foo( $username ) {
    $home = User[$username].home
    ....
}

A sintaxe acima não funciona, mas isso é provavelmente porque eu não conheço bem o Ruby.

    
por muksie 30.08.2011 / 16:49

2 respostas

1

Tanto quanto sei, isso não é possível. Originalmente, o Puppet usava o escopo dinâmico para variáveis, mas estava obsoleto a partir de 2.7.0. Veja mais informações aqui sobre o que você deve fazer em seu lugar.

Neste caso em particular, no entanto, não acho que o escopo simples funcione. Na verdade, acho que você deve usar recursos virtuais ou exportou recursos . Ambos são muito semelhantes, na verdade, exceto que os recursos exportados funcionam entre hosts.

De qualquer maneira, você terá que estruturar seu código de uma maneira muito diferente do que você quer fazer, parece-me. Passe algum tempo examinando módulos complexos de fantoches e entenda como eles fazem o que fazem.

    
por 30.08.2011 / 19:40
0

O Puppet tem seu próprio idioma, ele não usa o Ruby. Você pode definir um recurso como abaixo:

define add_user ( $uid ) {
    $username = $title
    user { $username:
        home    => "/home/$username",
        shell   => "/bin/bash",
        uid     => $uid
    }
}

e ligue para:

add_user { tom:
    uid      => 501
}

Leia mais ...

    
por 30.08.2011 / 17:13

Tags