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á.
Precedência de atributo
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
Se um atributo for unicamente definido, Chef simplesmente o incorpora no objeto de nó. No entanto, qualquer fonte de atributo pode definir qualquer atributo, então é possível para o mesmo atributo ter múltiplas definições com valores diferentes. Por exemplo, livro de receitas apache2
integrado define node[:apache][:keepalive]
, mas você também pode definir esse atributo em JSON ou em um livro de receitas personalizados. Se um atributo tiver múltiplas definições, eles são avaliados em uma ordem descrita posteriormente e o objeto de nó recebe a definição com a precedência mais alta.
Um atributo é definido como seguinte:
node.
type
[:attribute
][:sub_attribute
][:...
]=value
Se um atributo tiver várias definições, o tipo determina qual definição tem precedência e essa definição é incorporada ao objeto do nó. AWS OpsWorks O Stacks usa os seguintes tipos de atributos:
-
padrão: esse é o tipo mais comum e significa essencialmente “usar este valor se o atributo ainda não tiver sido definido”. Se todas as definições de um atributo forem do tipo
default
, a primeira definição na ordem de avaliação tem precedência e os valores subsequentes são ignorados. Observe que o AWS OpsWorks Stacks define todas as definições de configuração e atributos de implantação da pilha comodefault
tipo. -
normal: atributos com esse tipo sobrepõem quaisquer atributos
default
ounormal
que foram definidos anteriormente na ordem da avaliação. Por exemplo, se o primeiro atributo for de um livro de receitas integrado e tiver um tipodefault
e o segundo for um atributo definido por usuário com um tiponormal
, a segunda definição tem precedência. -
set: este é um tipo obsoleto que você pode ver em livros de receitas mais antigos. Foi anulado por
normal
, que tem a mesma precedência.
Chef oferece suporte a vários tipos de atributo adicionais, incluindo um tipo automatic
que leva precedência sobre todas outras definições de atributo. As definições de atributo geradas pela ferramenta Ohai do Chef são todas do tipo automatic
, então elas são, efetivamente, apenas leitura. Isso geralmente não é um problema, porque não há razão para substituí-los e eles são diferentes dos atributos dos AWS OpsWorks Stacks. No entanto, você deve ter cuidado ao nomear seus atributos de livro de receitas personalizados para que eles sejam diferentes dos atributos Ohai. Para obter mais informações, consulte Sobre atributos
nota
A ferramenta Ohai é um executável que você pode rodar a partir da linha de comando. Para listar atributos Ohai de uma instância, entre na instância e execute ohai
em uma janela de terminal. Esteja ciente de que isso produz uma saída muito longa.
Veja as etapas que incorporam as várias definições de atributo no objeto de nó:
-
Une quaisquer atributos de configuração de stack personalizados nos atributos de configuração de stack e implantação.
Atributos JSON personalizados podem ser definidos para o stack, ou para uma implantação em particular. Eles são os primeiros na ordem de avaliação e são tipos
normal
eficazes. Se um ou mais atributos de configuração de stack também estiverem definidos em JSON personalizado, os valores de JSON personalizado tomam precedência. Caso contrário, o AWS OpsWorks Stacks incorpora apenas os atributos JSON personalizados na configuração de stack. -
Une quaisquer atributos JSON personalizados de implantação nos atributos de configuração de stack e implantação.
Implantação de atributos JSON personalizados também é eficaz nos tipos
normal
, então eles tomam precedência sobre JSON de configuração de stack integrada e personalizada e JSON de implantação integrada. -
Une os atributos de implementação e configuração do stack no objeto de nó da instância.
-
Une os atributos de livro de receitas integrados da instância no objeto de nó.
Os atributos de livro de receitas integrados são todos do tipo
default
. Se um ou mais atributos de livro de receitas integrados também estiverem definidos nos atributos de configuração e implantação da pilha, normalmente porque você os definiu com um JSON personalizado, as definições de configuração da pilha terão precedência sobre as definições do livro de receitas incorporado. Todos os outros atributos de livro de receitas integrados são facilmente incorporados no objeto de nó. -
Une os atributos de livro de receitas personalizados da instância no objeto de nó.
Atributos de livro de receitas personalizados são, geralmente, do tipo
normal
oudefault
. Atributos únicos são incorporados no objeto de nó. Se quaisquer atributos de livro de receitas personalizado também foram definidos nas Etapas 1 a 3 (geralmente porque você os definiu com JSON personalizado), a precedência depende do tipo do atributo do livro de receitas personalizado:-
Os atributos definidos nas Etapas 1 a 3 têm precedência sobre atributos de livros de receitas personalizados.
default
-
Atributos
normal
de livros de receitas personalizados têm precedência sobre as definições das Etapas 1 a 3.
-
Importante
Não use atributos default
de livro de receitas personalizados para sobrepor configuração de stack ou atributos de livro de receitas integrados. Como atributos de livro de receitas personalizados são avaliados por último, os atributos default
tem a menor precedência, e não podem sobrepor nada.