2014-04-12 9 views
5

Come posso aggiungere più membri a un gruppo dallo chef?Come aggiungere più membri a un gruppo dallo chef

Ho provato così, ma fallisce.

group "git" do 
    action :modify 
    members "foo, bar" 
    append true 
end 

che posso fare in questo modo, ma members sembra accettare più utenti. Come posso usarlo?

%w(foo bar).each do |m| 
    group "git" do 
    action :modify 
    members m 
    append true 
    end 
end 
+1

Quale errore si ottiene nell'approccio separato da virgola? Hai provato una sintassi di array? –

+0

@Patrick Grazie, 'members [" foo "," bar "]' funziona! – ironsand

risposta

5

La maggior parte degli argomenti che accettano più input in Chef funzionano con la sintassi standard di ruby ​​array. Non riesco a trovare un esempio proprio ora, ed è molto frustrante che lo group docs non fornisca un esempio di più utenti. In realtà, dicono solo

members Indica quali utenti devono essere impostati o aggiunti a un gruppo.

E fornire solo esempi con utenti singoli. Detto questo, members ["foo", "bar"] dovrebbe essere la strada da percorrere.

3

Ecco un blocco Gruppo di serie con più membri:

group "rbenv" do 
    action :manage 
    members ['member1','member2','member3'] 
end 

Si potrebbe anche usare un loop da una matrice spazio bianco:

%w{ erin john nick jenna kris }.each do |memberlist| 
    group "rbenv" do 
    action :manage 
    members memberlist 
    end 
end 

Con questa opzione matrice spazi bianchi, si sta ora impostato per continuare con quel tipo di array o ottenere un array dai sacchetti di dati dello Chef o persino da un database MySQL. Nel mio caso, Chef si connette a MySQL per ottenere informazioni sugli utenti e li fornisce di conseguenza.

Problemi correlati