

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á.

# Substituindo atributos OpsWorks de pilhas usando atributos personalizados do livro de receitas
<a name="workingcookbook-cookbook-attributes"></a>

**Importante**  
O AWS OpsWorks Stacks 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 a AWS Support equipe no [AWS re:POST](https://repost.aws/) ou por meio do Premium [AWS Support](https://aws.amazon.com/support).

**nota**  
Para pilhas do Windows, o OpsWorks Stacks usa execuções separadas do Chef para receitas integradas e receitas personalizadas. Isso significa que você não pode usar as técnicas discutidas nesta seção para sobrepor atributos integrados para stacks do Windows.

O JSON personalizado é uma maneira conveniente de substituir a configuração da pilha do OpsWorks Stacks e os atributos integrados do livro de receitas, mas tem algumas limitações. Em particular, você deve inserir manualmente o JSON para cada uso, portanto, não há nenhuma maneira eficiente para gerenciar as definições. Uma abordagem melhor é frequentemente usar arquivos de atributo de livro de receitas para sobrepor atributos integrados. Fazer isso permite que você posicione as definições no controle de fonte.

O procedimento para usar arquivos de atributos personalizados para substituir as definições do OpsWorks Stacks é simples.

**Para substituir as definições de atributos OpsWorks do Stacks**

1. Defina um repositório de livro de receitas, conforme descrito em [Livros de receitas e receitas](workingcookbook.md).

1. Crie um livro de receitas com o mesmo nome que o livro de receitas integrado que contém os atributos que deseja sobrepor. Por exemplo, para sobrepor os atributos Apache, o livro de receitas deve ser nomeado apache2. 

1. Adicione uma pasta `attributes` ao seu livro de receitas e adicione um arquivo à pasta nomeada `customize.rb`. 

1. Adicione uma definição de atributo para o arquivo para cada um dos atributos de livro de receitas integrado que deseja sobrepor, defina para seu valor preferido. O atributo deve ser `normal` de um tipo ou superior e ter exatamente o mesmo nome de nó do atributo OpsWorks Stacks correspondente. Para obter uma lista detalhada dos atributos do OpsWorks Stacks, incluindo nomes de nós, consulte [Atributos de implantação e configuração de pilha: Linux](attributes-json-linux.md) e. [Atributos de livros de receitas integrados](attributes-recipes.md) Para obter mais informações sobre atributos e arquivos de atributos, consulte [Sobre arquivos de atributo](http://docs.chef.io/attributes.html).
**Importante**  
Seus atributos devem ser do `normal` tipo para substituir os atributos do OpsWorks Stacks; os `default` tipos não têm precedência. Por exemplo, se seu arquivo `customize.rb` contiver uma definição de atributo `default[:apache][:keepalivetimeout] = 5`, o atributo correspondente no arquivo de atributos `apache.rb` integrado é avaliado primeiro, e toma precedência. Para obter mais informações, consulte [Sobrepor atributos](workingcookbook-attributes.md).

1. Repita as etapas 2 a 4 para cada livro de receitas integrado com atributos que deseja sobrepor.

1. Ative livros de receitas personalizados para sua pilha e forneça as informações necessárias para que as OpsWorks pilhas baixem seus livros de receitas para as instâncias da pilha. Para obter mais informações, consulte [Instalação de livros de receitas personalizados](workingcookbook-installingcustom-enable.md).

**nota**  
Para obter uma orientação mais detalhada sobre esse procedimento, consulte [Sobrepor atributos integrados](cookbooks-101-opsworks-attributes.md).

O objeto de nó usado por eventos de ciclo de vida subsequentes, comandos de implantação e comandos de pilha agora conterá suas definições de atributos em vez dos OpsWorks valores de pilhas. 

Por exemplo, para sobrepor as configurações integradas `keepalivetimeout` e `logrotate schedule` do Apache, discutidas em [Como especificar JSON personalizado](workingcookbook-json-override.md#workingcookbook-json-override-specify), adicione um livro de receitas `apache2` ao seu repositório e um arquivo `customize.rb` à pasta `attributes` do livro de receitas com os seguintes conteúdos.

```
normal[:apache][:keepalivetimeout] = 5
normal[:apache][:logrotate][:schedule] = 'weekly'
```

**Importante**  
Você não deve substituir os atributos do OpsWorks Stacks modificando uma cópia do arquivo de atributos incorporado associado. Se, por exemplo, sua cópia `apache.rb` para sua pasta `apache2/attributes` e modificar algumas de suas configurações, você basicamente sobrepõem todos os atributos no arquivo integrado. Receitas usarão as definições de atributo de sua cópia e ignorarão o arquivo integrado. Se o OpsWorks Stacks modificar posteriormente o arquivo de atributos integrado, as receitas não terão acesso às alterações, a menos que você atualize manualmente sua cópia.   
Para evitar essa situação, todos livros de receita integrados contêm um arquivo de atributos `customize.rb` vazio, que é necessário em todos módulos ao longo de um diretório `include_attribute`. Ao sobrepor atributos em sua cópia do `customize.rb`, você afeta apenas aqueles atributos específicos. As receitas obterão quaisquer outros valores de atributo dos arquivos de atributos integrados, e obterão automaticamente os valores atuais de qualquer atributo que você não sobrepôs.  
Essa abordagem ajuda você a manter o número de atributos em seu repositório de livro de receitas pequeno, que reduz seus custos indiretos de manutenção e torna as atualizações futuras mais fáceis de serem gerenciadas.