Precedência de atributo - 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á.

Precedência de atributo

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 ou através de AWS Premium Support.

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, o apache2 livro de receitas integrado definenode[:apache][:keepalive], mas você também pode definir esse atributo em personalizado JSON ou em um livro de receitas personalizado. 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 múltiplas definições, o tipo determina qual definição tem precedência, e essa definição é incorporada no objeto de nó. AWS OpsWorks O Stacks usa os tipos de atributo a seguir:

  • 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 AWS OpsWorks O Stacks define todas as definições de configuração e atributos de implantação da pilha como default tipo.

  • normal: atributos com esse tipo sobrepõem quaisquer atributos default ou normal 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 tipo default e o segundo for um atributo definido por usuário com um tipo normal, 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 distintos de AWS OpsWorks Atributos das pilhas. 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ó:

  1. Une quaisquer atributos de configuração de stack personalizados nos atributos de configuração de stack e implantação.

    JSONAtributos personalizados podem ser definidos para a pilha ou para uma implantação específica. Eles são os primeiros na ordem de avaliação e são tipos normal eficazes. Se um ou mais atributos de configuração da pilha também forem definidos de forma personalizadaJSON, os JSON valores personalizados terão precedência. Caso contrário AWS OpsWorks As pilhas simplesmente incorporam os JSON atributos personalizados na configuração da pilha.

  2. Mescle quaisquer JSON atributos personalizados de implantação na configuração da pilha e nos atributos de implantação.

    Os JSON atributos personalizados de implantação também são normal tipos eficazes, portanto, eles têm precedência sobre a configuração de pilha integrada e personalizada JSON e a implantação integrada. JSON

  3. Une os atributos de implementação e configuração do stack no objeto de nó da instância.

  4. 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 integrados do livro de receitas também estiverem definidos nos atributos de configuração e implantação da pilha, normalmente porque você os definiu de forma personalizadaJSON, 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ó.

  5. 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 ou default. Atributos únicos são incorporados no objeto de nó. Se algum atributo personalizado do livro de receitas também estiver definido nas Etapas 1—3 (normalmente porque você o definiu de forma personalizadaJSON), 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.