Puppet: É possível fornecer informações adicionais ao realizar um recurso exportado?

1

Suponha que eu queira que hostB tenha um arquivo distinto para cada nó do fantoche, mas com o proprietário que é conhecido apenas pelo hostB .

Teoricamente, isso pode ser feito, se permitirmos que hostB escreva um fato personalizado ( my_special_owner ) e leia esse fato por meio da função query_facts na definição my_resource por hostA . Mas isso parece muito sujo: polui o espaço de nomes de fatos com coisas sem sentido, possivelmente causando conflitos de nomes. Também é um monte de codificação para uma coisa tão simples.

Aqui está uma demonstração do que tenho em mente:

define my_resource() {
  $owner=${my_collector::owner} #This attempt fails
  file{$name: ensure=>exists, owner=>$owner}
}

node hostA {
  @@my_resource{"/tmp/file1.tmp"}
}


class my_collector($owner) {
  # How to pass $owner to the collector below?
  My_resource <<| |>> 
}

node hostB {
  class {'my_collector': owner=>bob}
}
    
por Adam Ryczkowski 06.03.2015 / 22:17

1 resposta

1

Veja esta seção sobre a documentação do Puppet sobre customizando atributos do coletor. Exemplo:

File <| |> {
  owner => 'foo',
}
    
por 09.03.2015 / 17:36