Atributos - AWS OpsWorks

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

Atributos

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 ou por meio do Premium AWS Support.

Receitas e modelos dependem de uma variedade de valores, como definições de configuração. Em vez de codificar esses valores diretamente em receitas ou modelos, você pode criar um arquivo de atributo com um atributo que represente cada valor. Em seguida, use os atributos em suas receitas ou em seus modelos, em vez de valores explícitos. A vantagem de usar atributos é que seus valores podem ser substituídos sem precisar tocar no livro de receitas. Por esse motivo, os atributos sempre devem ser usados para definir os seguintes tipos de valores:

  • Valores que podem ser diferentes no tempo ou de uma pilha para outra, por exemplo, nomes de usuário.

    Se você codificar esses valores, você deve alterar a receita ou o modelo cada vez que você precisar alterar um valor. Ao usar atributos para definir estes valores, você pode usar os mesmos livros de receitas para cada pilha e apenas substituir os atributos apropriados.

  • Valores confidenciais, como senhas ou chaves secretas.

    Colocar valores confidenciais explícitos em seu livro de receitas pode aumentar o risco de exposição. Em vez disso, defina atributos com valores fictícios e os substitua para definir os valores reais. A melhor maneira de substituir tais atributos é com o JSON personalizado. Para ter mais informações, consulte Usar JSON personalizado.

Para obter mais informações sobre atributos e como substituí-los, consulte Sobrepor atributos.

O exemplo a seguir é uma parte de um exemplo de arquivo de atributo.

... default["apache"]["listen_ports"] = [ '80','443' ] default["apache"]["contact"] = 'ops@example.com' default["apache"]["timeout"] = 120 default["apache"]["keepalive"] = 'Off' default["apache"]["keepaliverequests"] = 100 default["apache"]["keepalivetimeout"] = 3 default["apache"]["prefork"]["startservers"] = 16 default["apache"]["prefork"]["minspareservers"] = 16 default["apache"]["prefork"]["maxspareservers"] = 32 default["apache"]["prefork"]["serverlimit"] = 400 default["apache"]["prefork"]["maxclients"] = 400 default["apache"]["prefork"]["maxrequestsperchild"] = 10000 ...

AWS OpsWorks Stacks define atributos usando a seguinte sintaxe:

node.type["attribute"]["subattribute"]["..."]=value

Dois pontos (:) podem ser usados da seguinte forma:

node.type[:attribute][:subattribute][:...]=value

Uma definição de atributo tem os seguintes componentes:

node.

O prefixo node. é opcional e geralmente omitido, como se pode ver no exemplo.

type

O tipo determina se o atributo pode ser substituído. AWS OpsWorks Os atributos das pilhas geralmente usam um dos seguintes tipos:

  • default é o tipo mais usado, pois ele permite que o atributo seja substituído.

  • normaldefine um atributo que substitui um dos valores padrão do atributo AWS OpsWorks Stacks.

nota

O Chef suporta tipos adicionais, que não são necessários para o AWS OpsWorks Stacks, mas podem ser úteis para o seu projeto. Para obter mais informações, consulte Sobre atributos.

attribute name

O nome do atributo usa a sintaxe padrão do nó do Chef, [:attribute][:subattribute][...]. Qualquer nome pode ser usado para seus atributos. No entanto, como discutido em Sobrepor atributos, os atributos personalizados do livro de receitas são mesclados no objeto de nó da instância, juntamente com os atributos de configuração e de implantação da pilha e a ferramenta Ohai do Chef. Os nomes de configuração normalmente usados como porta ou usuário aparecem em uma vários livros de receitas.

Para evitar colisões de nome, a convenção é criar nomes de atributo qualificados com pelo menos dois elementos, como se pode ver no exemplo. O primeiro elemento deve ser exclusivo e é normalmente baseado em um nome de produto, como Apache. Ele é seguido por um ou mais sub-atributos que identificam o valor específico, como [:user] ou [:port]. Podem ser usados quantos sub-atributos forem necessários para seu projeto.

value

Um atributo pode ser configurado para os seguintes tipos de valores:

  • Uma string, como default[:apache][:keepalive] = 'Off'.

  • Um número (sem aspas) como default[:apache][:timeout] = 120.

  • Um valor Booliano, que pode ser true ou false (sem aspas).

  • Uma lista de valores, como default[:apache][:listen_ports] = [ '80','443' ]

O arquivo de atributo é um aplicativo Ruby, portanto, você também pode usar a sintaxe do nó e os operadores lógicos para atribuir valores com base em outros atributos. Para obter mais informações sobre como definir atributos, consulte Sobre atributo s. Para exemplos de arquivos de atributos funcionais, consulte os livros de receitas integrados do AWS OpsWorks Stacks em https://github.com/aws/opsworks-cookbooks.