Ao tornar as exportações incondicionais, você provocará uma colisão, porque o manifesto agora declara o recurso exportado
Class::Define[$fqdn]
duas vezes (com atributos diferentes).
Você pode evitar isso permitindo que o FQDN seja passado como um valor de atributo, em vez de esperar que seja o título do recurso.
@@class::other_define {
"hello-$fqdn":
fqdn => $fqdn,
attribute => 'hello',
attribute2 => 'world',
tag => 'test';
"fruit-$fqdn":
fqdn => $fqdn,
attribute => 'apple',
attribute2 => 'orange',
tag => 'test2';
}
Apenas certifique-se de ainda usar o fqdn
fact em títulos de recursos, para que as exportações de agentes distintos não colidam.
Como um aparte, não sei por que você escolhe tags distintas e por que importar apenas recursos que possuem ambas tags "como esperado". Na verdade, eu esperaria que não importasse nada.