

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

# Tutorial: creare un componente personalizzato con parametri di input
<a name="tutorial-component-parameters"></a>

È possibile gestire i componenti di Image Builder, inclusa la creazione e l'impostazione dei parametri dei componenti, direttamente dalla EC2 console Image Builder, da o AWS CLI dall'API Image Builder oppure. SDKs In questa sezione, tratteremo la creazione e l'utilizzo dei parametri nel componente e l'impostazione dei parametri dei componenti tramite la console Image Builder e AWS CLI i comandi in fase di esecuzione.

**Importante**  
I parametri dei componenti sono valori di testo semplice e vengono registrati. AWS CloudTrail Ti consigliamo di utilizzare Gestione dei segreti AWS o AWS Systems Manager Parameter Store per archiviare i tuoi segreti. Per ulteriori informazioni su Secrets Manager, vedi [Cos'è Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) nella *Guida Gestione dei segreti AWS per l'utente*. Per ulteriori informazioni su AWS Systems Manager Parameter Store, vedere [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) nella *Guida AWS Systems Manager per l'utente*.

## Usa i parametri nel documento del componente YAML
<a name="component-params-yaml"></a>

Per creare un componente, devi fornire un documento relativo al componente dell'applicazione YAML o JSON. Il documento contiene il codice che viene eseguito durante le fasi e i passaggi definiti per personalizzare l'immagine. La ricetta che fa riferimento al componente può impostare i parametri per personalizzare i valori in fase di esecuzione, con valori predefiniti che hanno effetto se il parametro non è impostato su un valore specifico.

**Crea un documento componente con parametri di input**  
Questa sezione mostra come definire e utilizzare i parametri di input nel documento del componente YAML.

Per creare un documento componente dell'applicazione YAML che utilizzi parametri ed esegua comandi nelle istanze di build o test di Image Builder, segui i passaggi corrispondenti al sistema operativo dell'immagine:

------
#### [ Linux ]

**Crea un documento componente YAML**  
Utilizzate uno strumento di modifica dei file per creare un file di documento componente. Gli esempi di documentazione utilizzano un file denominato `hello-world-test.yaml` che include il seguente contenuto:

```
# Document Start
# 
name: "HelloWorldTestingDocument-Linux"
description: "Hello world document to demonstrate parameters."
schemaVersion: 1.0
parameters:
  - MyInputParameter:
      type: string
      default: "It's me!"
      description: This is an input parameter.
phases:
  - name: build
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo "Hello World! Build phase. My input parameter value is {{ MyInputParameter }}"

  - name: validate
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo "Hello World! Validate phase. My input parameter value is {{ MyInputParameter }}"

  - name: test
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo "Hello World! Test phase. My input parameter value is {{ MyInputParameter }}"
# Document End
```

**Suggerimento**  
Usa uno strumento come questo [validatore YAML](https://jsonformatter.org/yaml-validator) online o un'estensione YAML lint nel tuo ambiente di codice per verificare che il tuo YAML sia ben formato.

------
#### [ Windows ]

**Crea un documento componente YAML**  
Utilizzate uno strumento di modifica dei file per creare un file di documento componente. Gli esempi di documentazione utilizzano un file denominato `hello-world-test.yaml` che include il seguente contenuto:

```
# Document Start
# 
name: "HelloWorldTestingDocument-Windows"
description: "Hello world document to demonstrate parameters."
schemaVersion: 1.0
parameters:
  - MyInputParameter:
      type: string
      default: "It's me!"
      description: This is an input parameter.
phases:
  - name: build
    steps:
      - name: HelloWorldStep
        action: ExecutePowerShell
        inputs:
          commands:
            - Write-Host "Hello World! Build phase. My input parameter value is {{ MyInputParameter }}"

  - name: validate
    steps:
      - name: HelloWorldStep
        action: ExecutePowerShell
        inputs:
          commands:
            - Write-Host "Hello World! Validate phase. My input parameter value is {{ MyInputParameter }}"

  - name: test
    steps:
      - name: HelloWorldStep
        action: ExecutePowerShell
        inputs:
          commands:
            - Write-Host "Hello World! Test phase. My input parameter value is {{ MyInputParameter }}"
# Document End
```

**Suggerimento**  
Usa uno strumento come questo [validatore YAML](https://jsonformatter.org/yaml-validator) online o un'estensione YAML lint nel tuo ambiente di codice per verificare che il tuo YAML sia ben formato.

------
#### [ macOS ]

**Crea un documento componente YAML**  
Utilizzate uno strumento di modifica dei file per creare un file di documento componente. Gli esempi di documentazione utilizzano un file denominato `hello-world-test.yaml` che include il seguente contenuto:

```
# Document Start
# 
name: "HelloWorldTestingDocument-macOS"
description: "Hello world document to demonstrate parameters."
schemaVersion: 1.0
parameters:
  - MyInputParameter:
      type: string
      default: "It's me!"
      description: This is an input parameter.
phases:
  - name: build
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo "Hello World! Build phase. My input parameter value is {{ MyInputParameter }}"

  - name: validate
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo "Hello World! Validate phase. My input parameter value is {{ MyInputParameter }}"

  - name: test
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo "Hello World! Test phase. My input parameter value is {{ MyInputParameter }}"
# Document End
```

**Suggerimento**  
Usa uno strumento come questo [validatore YAML](https://jsonformatter.org/yaml-validator) online o un'estensione YAML lint nel tuo ambiente di codice per verificare che il tuo YAML sia ben formato.

------

[Per ulteriori informazioni sulle fasi, i passaggi e la sintassi dei documenti dei componenti dell'applicazione, consulta Use documents in. AWSTOEAWSTOE](https://docs.aws.amazon.com/imagebuilder/latest/userguide/toe-use-documents.html) Per ulteriori informazioni sui parametri e sui relativi requisiti, consultate la [Parameters](toe-user-defined-variables.md#user-defined-vars-parameters) sezione della pagina **Definire e fare riferimento alle variabili nella AWSTOE** pagina.

**Crea un componente dal documento del componente YAML**  
Qualunque sia il metodo utilizzato per creare un AWSTOE componente, il documento del componente dell'applicazione YAML è sempre necessario come riferimento.
+ Per creare un componente direttamente dal documento YAML con la console Image Builder, vedere. [Crea un componente personalizzato dalla console](create-component.md#create-component-ib-console)
+ Per creare un componente dalla riga di comando con il comando Image Builder, **create-component** vedere. [Creare un componente personalizzato dal AWS CLI](create-component.md#create-component-ib-cli) Sostituite il nome del documento YAML in questi esempi con il nome del documento YAML di Hello World (). `hello-world-test.yaml`

## Imposta i parametri dei componenti in una ricetta di Image Builder dalla console
<a name="recipe-set-component-params"></a>

L'impostazione dei parametri dei componenti funziona allo stesso modo per le ricette di immagini e le ricette dei contenitori. Quando create una nuova ricetta o una nuova versione di una ricetta, scegliete quali componenti includere dagli elenchi **Build components** e **Test components**. Gli elenchi dei componenti includono componenti applicabili al sistema operativo di base scelto per l'immagine.

Dopo aver selezionato un componente, questo viene visualizzato nella sezione **Componenti selezionati**, direttamente sotto gli elenchi dei componenti. Le opzioni di configurazione sono mostrate per ogni componente selezionato. Se il componente ha dei parametri di input definiti, questi vengono visualizzati come una sezione espandibile denominata Parametri **di input**.

Le seguenti impostazioni dei parametri sono mostrate per ogni parametro definito per il componente:
+ **Nome del parametro** (*non modificabile*): il nome del parametro.
+ **Descrizione** (*non modificabile*): la descrizione del parametro
+ **Tipo** (*non modificabile*): il tipo di dati per il valore del parametro.
+ **Valore**: il valore del parametro. Se si utilizza questo componente per la prima volta in questa ricetta ed è stato definito un valore predefinito per il parametro di input, il valore predefinito viene visualizzato nella casella **Valore** con testo in grigio. Se non viene immesso nessun altro valore, Image Builder utilizza il valore predefinito.