traduccion que meaning imagenes fnafhs español animatronic puppet configuration-management

meaning - puppet que es



Cómo iterar sobre un array en Puppet (5)

A partir del títere 3.2, esto es posible utilizando el analizador "futuro" de la siguiente manera:

$my_env = [ ''shared1'', ''shared2'', ''shared3'', ] each($my_env) |$value| { file { "/var/tmp/$value": ensure => directory, mode => 0600, } user { $value: ensure -> present, } }

Ver también: http://docs.puppetlabs.com/puppet/3/reference/lang_experimental_3_2.html#background-the-puppet-future-parser

Me gustaría iterar sobre una matriz que se almacena como un hecho de Facter, y para cada elemento de la matriz crear un nuevo usuario del sistema y un directorio, y finalmente hacer llamadas API a AWS.

Ejemplo del hecho: my_env => [shared1,shared2,shared3]

¿Mi pregunta es cómo iterar sobre una matriz en títere?

He probado el DSL de Ruby, pero aún no lo he conseguido para que funcione ... ¡Gracias!


Esto podría funcionar, dependiendo de lo que estés haciendo

// Assuming fact my_env => [ shared1, shared2, shared3 ] define myResource { file { "/var/tmp/$name": ensure => directory, mode => 0600, } user { $name: ensure => present, } } myResource { $my_env: }

Funcionará si sus requisitos son simples, si no, Puppet hace que esto sea muy difícil de hacer. Los desarrolladores de Puppet tienen prejuicios irracionales contra la iteración basados ​​en un malentendido sobre cómo funcionan los lenguajes declarativos.

Si este tipo de recurso no funciona para usted, ¿quizás podría dar una mejor idea de qué propiedades de recursos está tratando de establecer desde su matriz?

EDITAR:

Con Puppet 4, este defecto lamentable fue finalmente arreglado. Estado actual de los asuntos documentados here . Como dice la documentación, encontrará un ejemplo de la solución anterior en un montón de código antiguo.


Hay una función "create_resources ()" en títere. Eso será muy útil al iterar sobre la lista de itmes


La respuesta de itsbruce es probablemente la mejor por ahora, pero hay una propuesta de iteración que está pasando por el proceso de armaduras de Puppetlabs para una posible implementación en el futuro.