Est-il possible de déclarer les ressources exportées comme un attribut au lieu d'un type dans la marionnette?

Évitez d'ajouter un hôte manuellement comme un attribut

class::define { 'title': attribute3 => [ 'stone', 'wood' ], hosts => [ 'host1.domain', 'host2.domain' ] } class::define { 'title2': attribute3 => [ 'fire', 'water' ], hosts => [ 'host3.domaintwo', 'host4.domaintwo' ] } 

En utilisant les ressources exportées:

 if $fqdn =~ /^.*\.domain$/ { @@class::define { 'title': attribute3 => [ 'stone', 'wood' ], hosts => $fqdn tag => 'test3' } } if $fqdn =~ /^.*\.domaintwo$/ { @@class::define { 'title2': attribute3 => [ 'fire', 'water' ], hosts => $fqdn tag => 'test4' } } 

Mais cela ne fonctionnera pas

Question

Comment déclarer les ressources exportées comme un attribut?

  • Comment ne pas afficher_diff quand je fais l'agent de marionnettes -t?
  • Can Puppet exécute un script shell (qu'il télécharge depuis le maître) sans le sauvegarder?
  • Comment supprimer "Ne pas collecter de ressources exscopes sans Storeconfigs"?
  • Variables avec un tiret
  • Puppet ignore une partie du file modélisé
  • Pourquoi l'appel exec de la class de Puppet lance-t-il un incendie même si le triggersur de souscription n'est pas égal?
  • Comment utiliser les marionnettes stockées config & concat pour générer une list séparée d'adresses IP à un point-virgule?
  • Créer un file avec Puppet avec des faits provenant d'hôtes multiples
  • Marionnette: le nom du noeud semble-t-il dépendre des dns inverse?
  • Impossible d'assigner aux variables dans d'autres namespaces
  • Comment gérer aws autoscaling avec la marionnette
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.