Você precisa finalizar as linhas com vírgulas na definição do recurso, e também é recomendado citar as variáveis:
class pwdchange ($newpwd = '', $targetuser = $::id) {
$hash = inline_template("<%
require 'digest'
Digest::SHA1.hexdigest(newpwd)
%>")
$encryptedpwd = '$6'+template($hash)
user {"$targetuser":
ensure => present,
password => "$encryptedpwd",
}
}