Priorité des attributs - AWS OpsWorks

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Priorité des attributs

Important

Le AWS OpsWorks Stacks le service a pris fin le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez le AWS Support L'équipe sur AWS Re:post ou via AWS Support haut de gamme.

Si un attribut est défini de façon unique, Chef l'intègre simplement dans l'objet de nœud. Toutefois, n'importe quelle source d'attribut peut définir un attribut, il est donc possible pour le même attribut d'avoir plusieurs définitions avec des valeurs différentes. Par exemple, le apache2 livre de recettes intégré définit cet attributnode[:apache][:keepalive], mais vous pouvez également définir cet attribut dans un livre de recettes personnalisé JSON ou dans un livre de recettes personnalisé. Si un attribut possède plusieurs définitions, elles sont évaluées dans un ordre qui est décrit plus loin et l'objet de nœud reçoit la définition avec la priorité la plus élevée.

Un attribut est défini comme suit :

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

Si un attribut possède plusieurs définitions, le type détermine quelle définition est prioritaire et cette définition est intégrée dans l'objet de nœud. AWS OpsWorks Stacks utilise les types d'attributs suivants :

  • default —Il s'agit du type le plus courant, et cela signifie essentiellement « utiliser cette valeur si l'attribut n'a pas déjà été défini ». Si toutes les définitions d'un attribut sont de type default, la première définition dans l'ordre d'évaluation a priorité et les valeurs suivantes sont ignorées. Notez que AWS OpsWorks Stacks définit le default type de toutes les définitions d'attributs de configuration et de déploiement de la pile.

  • normal —Les attributs de ce type remplacent tous default normal les attributs définis précédemment dans l'ordre d'évaluation. Par exemple, si le premier attribut provient d'un livre de recettes intégré et possède un type default et si un deuxième attribut a été défini par l'utilisateur avec un type normal, la deuxième définition sera prioritaire.

  • set —Il s'agit d'un type obsolète que vous pourriez voir dans les anciens livres de cuisine. Il a été remplacé par normal, qui a la même priorité.

Chef prend en charge plusieurs types d'attribut supplémentaires, dont un type automatic qui est prioritaire sur toutes les autres définitions d'attributs. Les définitions d'attributs générées par l'outil Ohai de Chef ont toutes le type automatic et sont donc en lecture seule. Ce n'est généralement pas un problème, car il n'y a aucune raison de les remplacer et ils sont distincts de AWS OpsWorks Attributs des piles. Toutefois, veillez à nommer vos attributs personnalisés des livres de recettes différemment des attributs Ohai. Pour plus d'informations, consultez À propos des attributs.

Note

L'outil Ohai est un exécutable que vous pouvez exécuter à partir de la ligne de commande. Pour lister les attributs Ohai d'une instance, connectez-vous à l'instance et exécutez ohai dans une fenêtre de terminal. Sachez qu'elle produit une très longue sortie.

Voici les étapes qui intègrent les différentes définitions d'attributs à l'objet de nœud :

  1. Fusionnez les attributs personnalisés de configuration avec les attributs de configuration et de déploiement de la pile.

    Des JSON attributs personnalisés peuvent être définis pour la pile ou pour un déploiement particulier. Ils sont les premiers dans l'ordre d'évaluation et ont le type normal. Si un ou plusieurs attributs de configuration de pile sont également définis en mode personnaliséJSON, les JSON valeurs personnalisées sont prioritaires. Sinon AWS OpsWorks Stacks intègre simplement les JSON attributs personnalisés dans la configuration de la pile.

  2. Fusionnez tous JSON les attributs personnalisés de déploiement dans la configuration de la pile et les attributs de déploiement.

    Les JSON attributs personnalisés de déploiement sont également des normal types efficaces. Ils ont donc priorité sur la configuration de stack intégrée et personnalisée JSON et sur le déploiement JSON intégré.

  3. Fusionnez les attributs de configuration et de déploiement de pile dans l'objet de nœud de l'instance.

  4. Fusionnez les attributs des livres de recettes intégrés de l'instance dans l'objet de nœud.

    Les attributs intégrés des livres de recettes ont tous le type default. Si un ou plusieurs attributs de livre de recettes intégrés sont également définis dans les attributs de configuration et de déploiement de la pile (généralement parce que vous les avez définis avec des options personnalisées), les définitions de configuration de JSON la pile ont priorité sur les définitions de livre de recettes intégrées. Tous les autres attributs intégrés des livres de recettes sont simplement intégrés dans l'objet de nœud.

  5. Fusionnez les attributs des livres de recettes personnalisés de l'instance dans l'objet de nœud.

    Les attributs personnalisés des livres de recettes ont généralement le type normal ou default. Des attributs uniques sont intégrés dans l'objet de nœud. Si des attributs de livre de recettes personnalisés sont également définis aux étapes 1 à 3 (généralement parce que vous les avez définis avec customJSON), la priorité dépend du type de l'attribut de livre de recettes personnalisé :

    • Les attributs définis aux étapes 1 à 3 ont priorité sur les attributs personnalisés du livre de recettesdefault.

    • Les normal attributs personnalisés du livre de cuisine ont priorité sur les définitions des étapes 1 à 3.

Important

N'utilisez pas les attributs personnalisés default des livres de recettes pour remplacer les attributs intégrés des livres de recettes ou les attributs de configuration de la pile. Dans la mesure où les attributs personnalisés des livres de recettes sont évalués en dernier, les attributs default ont la priorité la plus basse et ne peuvent rien remplacer.