Eu sugiro que você exiba seus scripts em uma estrutura de diretórios simples, por exemplo puppet:///modulename/a_script em vez de puppet:///modulename/scripts/a_script
Mas se isso não for uma opção, isso parece um caso de uso para o recurse diretiva . Sem ela, a ação padrão parece garantir apenas que seu arquivo esteja presente, sem considerar o conteúdo.
Verifique também a Referência do tipo de arquivo de fantoches .
- Editar -
Eu pensei que você estava tentando sincronizar um diretório de scripts.
Para o seu caso, o Puppet usa como padrão replace => true em um tipo de arquivo se a soma de verificação da fonte for alterada.
Qual é a sua saída de puppet agent -t (ou puppet agent --debug -t ) nos sistemas clientes?