Une grande partie de ce que vous demandez relève plus de la convention que des exigences linguistiques strictes... Le langage est suffisamment souple pour permettre de faire les choses de plusieurs manières différentes.
Si tous les serveurs sont configurés de la même manière, il devrait être possible d'avoir une seule classe "gigaspace" avec les variables définies en haut.
Si vos besoins sont plus complexes qu'une simple classe de serveur, je créerais un module "gigaspace" avec une classe commune contenant des variables héritées par les classes ayant besoin de ces variables. Dans gigaspace/manifests, il y aurait un "init.pp" contenant " class gigaspace {...}
", et ensuite un "common.pp" contenant " class gigaspace::common {...}
". Ensuite, dans toutes les classes où j'ai besoin d'accéder à ces variables, j'hérite de la classe commune, comme " class gigaspace::master inherits gigaspace::common { ... }
".
Si vous n'héritez pas de l'autre classe, il est difficile d'accéder aux variables d'une autre classe, surtout à partir d'un modèle. Avec une inclusion directe, vous pouvez cependant obtenir un accès en lecture seule en spécifiant le nom entier.