Puppet e gerenciamento de .k5login com parâmetros e matrizes

1

Então eu tenho o Foreman configurado e gostaria de passar um parâmetro que é basicamente uma forma de especificar facilmente usuários e grupos que podem efetuar login como esse usuário. Minha ideia é fazer com que o parâmetro receba esse tipo de entrada:

user1; group1, group2, group3.user2; group1, groupn.user3; group1

Normalmente (em outros idiomas), eu criaria uma matriz bidimensional e passaria por ela. Isso não é realmente algo que pode ser feito no Puppet.

Eu escrevi uma função personalizada para expandir os membros do grupo e depois passar para o tipo k5login. Meu próximo pensamento é criar um tipo definido para isso. Eu só não tenho certeza se posso passar em 2 valores ... E eu estou reinventando a roda, ou estou fazendo algo meio idiota aqui?

    
por jmp242 22.04.2014 / 15:20

1 resposta

0

Parece que você quer a função "flatten" do puppet-stdlib.

This function flattens any deeply nested arrays and returns a single flat array
as a result.

*Examples:*

    flatten(['a', ['b', ['c']]])

Would return: ['a','b','c']

link

Nós o usamos para fazer algo assim:

$flattened = join(unique(sort(flatten([$host_array1,$host_array2,$host_array3]))), ',' )
    
por 22.04.2014 / 17:57

Tags