As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Modelos
Importante
A ferramenta AWS OpsWorks Stacks o serviço chegou ao fim da vida útil em 26 de maio de 2024 e foi desativado para clientes novos e existentes. É altamente recomendável que os clientes migrem suas cargas de trabalho para outras soluções o mais rápido possível. Se você tiver dúvidas sobre migração, entre em contato com o AWS Support Equipe em AWS Re:post
Muitos pacotes são configurados, criando um arquivo de configuração e colocando-o no diretório apropriado. Você pode incluir um arquivo de configuração em seu livro de receitas e copiá-lo para o diretório apropriado, mas uma abordagem mais flexível é que suas receitas criem o arquivo de configuração a partir de um modelo. Uma vantagem de um modelo é que atributos podem ser usados para definir os valores do modelo. Isso permite, por exemplo, modificar um arquivo de configuração sem tocar no livro de receitas usando o custom JSON para substituir os valores de atributos apropriados.
Um modelo tem essencialmente o mesmo conteúdo e a mesma estrutura do arquivo associado. Veja um arquivo de exemplo, 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> ...
O exemplo a seguir é o httpd.conf
arquivo que foi gerado para uma instância do 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> ...
Grande parte do texto do modelo é simplesmente copiado do modelo para o httpd.conf
arquivo No entanto, o conteúdo <%= ... %>
é tratado da seguinte forma:
-
O Chef substitui
<%= node[:attribute][:sub_attribute][:...]%>
para o valor do atributo.Por exemplo,
StartServers <%= node[:apache][:prefork][:startservers] %>
transforma-se emStartServers 16
nohttpd.conf
. -
Você pode usar
<%if-%>, <%else-%>, and <%end-%>
para selecionar um valor condicionalmente.O exemplo define um caminho de arquivo diferente para
accept.lock
, dependendo da plataforma.
nota
Você não está limitado aos atributos em seu livro de receitas de arquivos de atributo. Pode ser usado qualquer atributo no nó da instância do objeto. Gerado por uma ferramenta do Chef, chamada Ohai
Para obter mais informações sobre os modelos, incluindo como incorporar o código Ruby, consulte Sobre modelos