Não realmente.
Para ser mais exato; é tecnicamente possível. Mas, como nem o DSL nem o fantoche dos fantoches são projetados para essas tarefas¹, você acumulará dívida técnica em uma solução quebradiça de pastilha elástica e papelão.³
IMHO, uma vez que você deseja manter este modelo, o melhor curso de ação é escrever um script que transformará os dados desse formato aparentemente legado em DSL nativo de puppet (emitindo .pp
arquivos que você incluirá apropriadamente) ², usando quaisquer tipos / módulos que sejam mais adequados ao seu boxen.
Agora, em vez de re-executar o script o tempo todo, eu faria o seu boneco manifestar a fonte autorizada em seu lugar. Ou seja faça todas as alterações lá e exporte conforme necessário, até se livrar do encanamento legado que se baseia nesse formato. Pode fazer sentido omitir isso se o seu período de transição for curto o suficiente; e você não se importa em "importar" algumas vezes.
¹) Isso deve ser óbvio se você pensar brevemente sobre isso: O dever de um CM é ser a fonte autoritativa de dados de configuração, não para manipular dados. Isso é o que sed
, awk
, Pipes, et al. são para.
²) Considere hiera também.
³) Muito provavelmente, seu sucessor odiará você por isso e, mais importante, você se odiará depois de uma certa distância na toca do coelho.