Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Modèles
Important
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur AWS Re:Post
Vous configurez un grand nombre de packages en créant un fichier de configuration et en le plaçant dans le répertoire approprié. Vous pouvez inclure un fichier de configuration dans votre livre de recettes et le copier dans le répertoire approprié, mais une approche plus souple consiste à ce que vos recettes créent le fichier de configuration à partir d'un modèle. L'un des avantages d'un modèle est que vous pouvez utiliser des attributs pour définir les valeurs du modèle. Cela vous permet, par exemple, de modifier un fichier de configuration sans toucher au livre de recettes en utilisant custom JSON pour remplacer les valeurs d'attribut appropriées.
Un modèle possède essentiellement le même contenu et la même structure que le fichier associé. Voici un exemple de fichier : httpd.conf
.
ServerRoot "<%= node[:apache][:dir] %>" <% if node[:platform] == "debian" || node[:platform] == "ubuntu" -%> LockFile /var/lock/apache2/accept.lock <% else -%> LockFile logs/accept.lock <% end -%> PidFile <%= node[:apache][:pid_file] %> Timeout <%= node[:apache][:timeout] %> KeepAlive <%= node[:apache][:keepalive] %> MaxKeepAliveRequests <%= node[:apache][:keepaliverequests] %> KeepAliveTimeout <%= node[:apache][:keepalivetimeout] %> <IfModule mpm_prefork_module> StartServers <%= node[:apache][:prefork][:startservers] %> MinSpareServers <%= node[:apache][:prefork][:minspareservers] %> MaxSpareServers <%= node[:apache][:prefork][:maxspareservers] %> ServerLimit <%= node[:apache][:prefork][:serverlimit] %> MaxClients <%= node[:apache][:prefork][:maxclients] %> MaxRequestsPerChild <%= node[:apache][:prefork][:maxrequestsperchild] %> </IfModule> ...
L'exemple suivant est le fichier httpd.conf
qui a été généré pour une instance Ubuntu :
ServerRoot "/etc/httpd" LockFile logs/accept.lock PidFile /var/run/httpd/httpd.pid Timeout 120 KeepAlive Off MaxKeepAliveRequests 100 KeepAliveTimeout 3 <IfModule mpm_prefork_module> StartServers 16 MinSpareServers 16 MaxSpareServers 32 ServerLimit 400 MaxClients 400 MaxRequestsPerChild 10000 </IfModule> ...
Une grande partie du texte du modèle est simplement copiée à partir du modèle dans le fichier httpd.conf
. Cependant, le contenu <%= ... %>
est géré comme suit :
-
Chef remplace
<%= node[:attribute][:sub_attribute][:...]%>
par la valeur de l'attribut.Par exemple,
StartServers <%= node[:apache][:prefork][:startservers] %>
devientStartServers 16
dans le fichierhttpd.conf
. -
Vous pouvez utiliser
<%if-%>, <%else-%>, and <%end-%>
de manière conditionnelle pour sélectionner une valeur.L'exemple définit un chemin d'accès différent pour
accept.lock
en fonction de la plateforme.
Note
Vous n'êtes pas limité aux attributs des fichiers d'attributs de votre livre de recettes. Vous pouvez utiliser un attribut dans l'objet nœud de l'instance. Par exemple, généré par un outil Chef appelé Ohai
Pour plus d'informations sur les modèles, y compris sur la façon d'intégrer le code Ruby, consultez À propos des modèles