A definição de usuários de roda dessa maneira faz com que eles sejam adicionados, mas se você remover jane da classe, ela não será removida do grupo de roda na próxima execução de Puppet.
class wheel {
augeas { "wheelgroup":
context => "/files/etc/group/wheel",
changes => [
'set user[1] bob',
'set user[2] jane',
]
}
}
A única maneira que encontrei em torno disso é purgar o grupo de rodas e adicioná-las novamente a cada vez.
class wheel {
augeas { "wheelgroup":
context => "/files/etc/group/wheel",
changes => [
'rm user',
'set user[1] bob',
'set user[2] jane',
]
}
}
Eu considerei um onlyif
para corresponder aos meus usuários definidos para evitar que isso fosse executado em cada execução do Puppet. No entanto, essa também é a única maneira de remover usuários adicionados fora do Puppet para garantir que% wheel seja gerenciado exclusivamente pelo Puppet.
Esta solução também não serve para a parametrização para reutilização.