Eu acredito que você precisa referenciá-lo assim:
source => "puppet://puppet/mysoftware/air/${version}",
Veja como eu uso algo semelhante:
class aliases($al="aliases") {
file { "/etc/aliases":
mode => 640,
source => "puppet:///files/sendmail/${al}",
owner => "root",
group => "root",
before => Exec["create aliases db"]
}
exec { "new_aliases":
command => "/usr/bin/newaliases",
subscribe => File["/etc/aliases"],
alias => "create aliases db",
refreshonly => true,
}
}
Que eu faça referência a manifestos / nós.pp. Na verdade, não preciso fazer isso, mas configurá-lo e testá-lo em seu nome (meus outros exemplos teriam sido muito mais longos). Funciona como um encanto.