Precedenza degli attributi - AWS OpsWorks

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Precedenza degli attributi

Importante

Il AWS OpsWorks Stacks il servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il AWS Support Squadra su AWS Re:post o tramite AWS Supporto Premium.

Se un attributo è definito in modo univoco, Chef lo incorpora nell'oggetto nodo. Tuttavia, qualsiasi origine di attributo può definire qualsiasi attributo. Pertanto lo stesso attributo può avere più definizioni con valori diversi. Ad esempio, il apache2 ricettario integrato definiscenode[:apache][:keepalive], ma puoi anche definire quell'attributo in personalizzato JSON o in un ricettario personalizzato. Se un attributo ha più definizioni, queste vengono valutate nell'ordine descritto più avanti; l'oggetto nodo riceve la definizione caratterizzata dalla precedenza massima.

Un attributo viene definita nel seguente modo:

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

Se un attributo ha più definizioni, il tipo determina la definizione con priorità. Tale definizione verrà quindi incorporata nell'oggetto nodo. AWS OpsWorks Stacks utilizza i seguenti tipi di attributi:

  • default: questo è il tipo più comune e significa essenzialmente «usa questo valore se l'attributo non è già stato definito». Se tutte le definizioni di un attributo sono di tipo default, la prima definizione nell'ordine di valutazione avrà la priorità, mentre i valori successivi verranno ignorati. Nota che AWS OpsWorks Stacks imposta su type tutte le definizioni degli attributi di configurazione e distribuzione dello stack. default

  • normal: gli attributi di questo tipo sostituiscono tutti default normal gli attributi definiti in precedenza nell'ordine di valutazione. Ad esempio, se il primo attributo proviene da un libro di ricette predefinito ed è associato al tipo default, mentre il secondo attributo è un attributo definito dall'utente ed è associato al tipo normal, la seconda definizione avrà la precedenza.

  • set —Questo è un tipo obsoleto che potresti vedere nei vecchi libri di cucina. È stato sostituito da normal, che è caratterizzato dalla stessa priorità.

Chef supporta vari tipi di attributo aggiuntivi, tra cui il tipo automatic, che ha la precedenza su tutte le altre definizioni di attributo. Le definizioni di attributo generate dallo strumento Ohai di Chef sono tutte di tipo automatic. Sono pertanto di sola lettura. Questo di solito non è un problema, perché non c'è motivo di sostituirli e sono distinti da AWS OpsWorks Gli attributi di Stacks. Tuttavia, è consigliabile prestare particolare attenzione quando gli attributi personalizzati del libro di ricette vengono rinominati affinché siano effettivamente diversi dagli attributi Ohai. Per ulteriori informazioni, consulta la sezione relativa alle informazioni sugli attributi.

Nota

Lo strumento Ohai è un eseguibile che puoi eseguire dalla riga di comando. Per elencare gli attributi Ohai di un'istanza, accedi all'istanza ed esegui ohai in una finestra del terminale. Devi considerare il fatto che questo comando genera un output di grandi dimensioni.

Di seguito sono descritti i passaggi che consentono di incorporare le diverse definizioni di attributo nell'oggetto nodo:

  1. Unire gli attributi di configurazione personalizzati dello stack negli attributi di configurazione e distribuzione dello stack.

    JSONGli attributi personalizzati possono essere impostati per lo stack o per una particolare distribuzione. Occupano sempre la prima posizione nell'ordine di valutazione in quanto sono di tipo normal. Se uno o più attributi di configurazione dello stack sono definiti anche in customJSON, JSON i valori personalizzati hanno la precedenza. Altrimenti AWS OpsWorks Stacks incorpora semplicemente JSON gli attributi personalizzati nella configurazione dello stack.

  2. Unisci tutti JSON gli attributi personalizzati di distribuzione negli attributi di configurazione e distribuzione dello stack.

    Anche JSON gli attributi personalizzati di distribuzione sono effettivamente normal tipi, quindi hanno la precedenza sulla configurazione JSON dello stack integrata e personalizzata e sulla distribuzione integrata. JSON

  3. Unire gli attributi di configurazione e implementazione dello stack nell'oggetto nodo dell'istanza.

  4. Unire gli attributi predefiniti del libro di ricette dell'istanza nell'oggetto nodo.

    Gli attributi predefiniti del libro di ricette sono tutti di tipo default. Se uno o più attributi incorporati del libro di cucina sono definiti anche negli attributi di configurazione e distribuzione dello stack, in genere perché li hai definiti con opzioni personalizzate, le definizioni di configurazione dello stack hanno la precedenza sulle definizioni JSON del libro di cucina integrate. Tutti gli altri attributi predefiniti dei libri di ricette vengono semplicemente incorporati nell'oggetto nodo.

  5. Unire gli attributi personalizzati del libro di ricette dell'istanza nell'oggetto nodo.

    Gli attributi personalizzati dei libri di ricette sono in genere di tipo normal o default. Gli attributi univoci sono incorporati nell'oggetto nodo. Se nei passaggi 1—3 sono definiti anche degli attributi personalizzati del libro di cucina (in genere perché li hai definiti con custom), la precedenza dipende dal tipo di attributo del libro di cucina personalizzato: JSON

    • Gli attributi definiti nei passaggi 1—3 hanno la precedenza sugli attributi personalizzati del libro di cucina. default

    • normalGli attributi personalizzati del cookbook hanno la precedenza sulle definizioni dei passaggi 1—3.

Importante

Non utilizzare attributi personalizzati di default del libro di ricette per sostituire gli attributi di configurazione dello stack o gli attributi predefiniti del libro di ricette. Poiché gli attributi personalizzati del libro di ricette vengono valutati per ultimi, gli attributi di tipo default hanno la priorità più bassa e non possono sostituire nulla.