Até onde eu sei, você não pode obter variáveis dentro de recursos definidos.
Eu abordaria isso reordenando as definições de tipo de recurso e colocando a cláusula nginx::siteconfig
dentro da definição layouts::website
. (Se todo uso de layouts::website
também deve ter um nginx::siteconfig
, então aninhar um no outro é uma boa maneira de DRY.) Se você precisar ter alguns casos em que o uso de layouts::website
também não tem uma definição nginx, você terá que adicionar um parâmetro para layouts::website
, algo como $nginx = true
.
Além disso, os seguintes bits de código:
layouts::website {$domain:
name => $domain,
}
nginx::siteconfig {$domain:
domain => $domain,
}
cheira a repetição desnecessária para mim. O nome do site e o domínio nginx parecem candidatos perfeitos para serem namevars, então você pode deixar o parâmetro na maioria dos casos.