Pegue este wrapper em torno de ssh_authorized_key, por exemplo:
define sshauthkeys::helper ($user,$ensure='present') {
ssh_authorized_key { "puppet: ${name2} ${user}":
ensure => $ensure,
type => $ssh_keys["${name2}"]["type"],
key => $ssh_keys["${name2}"]["key"],
user => "${user}"
}
}
Digamos que eu queira introduzir o suporte do parâmetro 'target' para esse tipo de recurso, eu faria algo como:
define sshauthkeys::helper ($user,$ensure='present', $target='') {
O problema é que, se eu quiser usar o padrão sensível do fantoche derivado do homedir $ user - e substituí-lo em casos marginais, eu perco o benefício do trabalho feito para definir o padrão em todas as outras circunstâncias. .
Existe uma maneira de, opcionalmente, substituir o valor sem ter que escrever duas funções?
Melhor descrição do problema:
define sshauthkeys :: helper ($ user, $ assegure = 'presente', $ target = '') {
ssh_authorized_key { "puppet: ${name2} ${user}":
// etc etc...
target = $target
// ^--- Here, I'm forcing it to '' - how do I use the puppet
// built-in derivation, and only override optionally?
}
}