

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

# Azioni in fasi supportate per il documento del flusso di lavoro
<a name="wfdoc-step-actions"></a>

Questa sezione include dettagli sulle azioni dei passaggi supportate da Image Builder.Termini utilizzati in questa sezione

AMI  
Amazon Machine Image

ARN  
Nome della risorsa Amazon

**Topics**
+ [ApplyImageConfigurations](#wfdoc-step-action-apply-image-configurations)
+ [BootstrapInstanceForContainer](#wfdoc-step-action-bootstrap-container)
+ [CollectImageMetadata](#wfdoc-step-action-collect-image-metadata)
+ [CollectImageScanFindings](#wfdoc-step-action-collect-findings)
+ [CreateImage](#wfdoc-step-action-create-img-from-inst)
+ [DistributeImage](#wfdoc-step-action-distribute-image)
+ [ExecuteComponents](#wfdoc-step-action-exec-components)
+ [ExecuteStateMachine](#wfdoc-step-action-exec-state-machine)
+ [LaunchInstance](#wfdoc-step-action-launch-instance)
+ [ModifyImageAttributes](#wfdoc-step-action-modify-image-attributes)
+ [RegisterImage](#wfdoc-step-action-register-image)
+ [RunCommand](#wfdoc-step-action-run-command)
+ [RunSysPrep](#wfdoc-step-action-run-sysprep)
+ [SanitizeInstance](#wfdoc-step-action-sanitize-instance)
+ [TerminateInstance](#wfdoc-step-action-terminate-instance)
+ [WaitForAction](#wfdoc-step-action-waitfor)
+ [WaitForSSMAgent](#wfdoc-step-action-wait-for-ssm-agent)

## ApplyImageConfigurations
<a name="wfdoc-step-action-apply-image-configurations"></a>

Questa operazione applica varie configurazioni e integrazioni ai sistemi distribuiti AMIs, ad esempio configurazioni di licenza, configurazioni di modelli di avvio, configurazioni di esportazione S3, configurazioni EC2 Fast Launch e configurazioni dei parametri Systems Manager. Le configurazioni si applicano alle immagini distribuite solo nell'account di origine, ad eccezione delle configurazioni dei parametri SSM che possono essere applicate su più account.

**Timeout predefinito**: 360 minuti

**Timeout massimo: 720 minuti**

**Rollback:** non è previsto alcun rollback per questa operazione.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| region | La regione dell'immagine. | Stringa | Sì |  |  | 
| licenseConfigurationArns | L'ARN di configurazione della licenza per l'immagine. | Array | No |  |  | 
| launchTemplateConfigurations |  | Array | No |  |  | 
| launchTemplateConfigurations:launchTemplateId | L'ID del modello di avvio da applicare all'immagine. | Stringa | Sì, se launchTemplateConfigurations è specificato |  |  | 
| launchTemplateConfigurations:ID account | L'account del modello di avvio IDs da applicare all'immagine. | Stringa | No |  |  | 
| launchTemplateConfigurations:setDefaultVersion | L'impostazione della versione predefinita del modello di lancio per l'immagine. | Boolean | No |  |  | 
| s3 ExportConfiguration |  | Array | No |  |  | 
| s3: nome del ruolo ExportConfiguration | Il nome del ruolo di configurazione di esportazione S3 per l'immagine. | Stringa | Sì, se s3ExportConfiguration è specificato |  |  | 
| s3: ExportConfiguration diskImageFormat | Il formato di immagine del disco di configurazione di esportazione S3 per l'immagine. | Stringa | Sì, se s3ExportConfiguration è specificato |  | Valori consentiti: VMDK\$1RAW\$1VHD | 
| ExportConfigurationS3: secchio S3 | Il nome del bucket di configurazione di esportazione S3 per l'immagine. | Stringa | Sì, se è specificato s3ExportConfiguration |  |  | 
| Prefisso S3: S3 ExportConfiguration | Il prefisso del bucket di configurazione di esportazione S3 per l'immagine. | Stringa | No |  |  | 
| fastLaunchConfigurations | La configurazione EC2 Fast Launch per l'immagine. | Array | No |  |  | 
| fastLaunchConfigurationsLa configurazione Fast Launch per l'immagine. ----sep----:enabled |  EC2 Avvio rapido enabled/disabled dell'immagine. | Booleano | Sì, se fastLaunchConfigurations è specificato |  |  | 
| fastLaunchConfigurationsSì se è specificato ----sep----:SnapshotConfiguration |  EC2 Avvio enabled/disabled rapido dell'immagine. | Eseguire la mappatura | No |  |  | 
| fastLaunchConfigurationsAvvio rapido per l'immagine. ----sep----:SnapshotConfiguration: targetResourceCount | EC2 Numero di risorse target di Fast Launch per l'immagine. | Numero intero | No |  |  | 
| fastLaunchConfigurations:maxParallelLaunches | EC2 Fast Launch: numero massimo di lanci paralleli per l'immagine. | Numero intero | No |  |  | 
| fastLaunchConfigurationsFast Launch: numero massimo di lanci paralleli per l'immagine. ----sep----:LaunchTemplate |  |  | No |  |  | 
| fastLaunchConfigurations:LaunchTemplate ----Sep----:LaunchTemplate: launchTemplateId | EC2 ID del modello di avvio di Fast Launch per l'immagine. | Stringa | No |  |  | 
| fastLaunchConfigurationsID del modello di avvio Fast Launch per l'immagine. ----sep----:launchTemplate: launchTemplateName | EC2 Nome del modello di avvio di Fast Launch per l'immagine. | Stringa | No |  |  | 
| fastLaunchConfigurationsNome del modello di avvio Fast Launch per l'immagine. ----sep----:LaunchTemplate: launchTemplateVersion | EC2 Fast Launch lancia la versione del modello per l'immagine. | Stringa | No |  |  | 
| ssmParameterConfigurations | La configurazione dei parametri SSM per l'immagine. | Eseguire la mappatura | No |  |  | 
| ssmParameterConfigurations:amiAccountId | L'ID dell'account AMI del parametro SSM per l'immagine. | Stringa | No |  |  | 
| ssmParameterConfigurationsL'ID dell'account AMI del parametro SSM per l'immagine. ----sep----:ParameterName | Il nome del parametro SSM per l'immagine. | Stringa | Sì, se ssmParameterConfigurations è specificato. |  |  | 
| ssmParameterConfigurationsSì se è specificato ----sep----:DataType | Il tipo di dati del parametro SSM per l'immagine. | Stringa | No |  | Valori consentiti - text\$1aws:ec2:image) | 

**Output: la tabella seguente include** gli output per questa azione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| Immagini configurate | Un elenco di immagini configurate. | Array | 
| Immagini configurate: AccountID | L'ID dell'account di destinazione dell'immagine distribuita. | Stringa | 
| Immagini configurate: nome | Il nome dell'AMI. | Stringa | 
| Immagini configurate: AMIID | L'ID AMI dell'immagine distribuita. | Stringa | 
| Immagini configurate: data di inizio | Ora UTC all'inizio della distribuzione. | Stringa | 
| Immagini configurate: data interrotta | Ora UTC al termine della distribuzione. | Stringa | 
| Immagini configurate: fase | La fase in cui si è interrotta la distribuzione. | Completato\$1 AssociateLicensesRunning \$1 \$1 UpdateLaunchTemplateRunning \$1 PutSsmParametersRunning \$1 UpdateFastLaunchConfiguration ExportAmiQueued ExportAmiRunning | 
| Immagini configurate: regione | Tono dell'immagine distribuita AWS  | Stringa | 
| Immagini configurate: status | Stato della distribuzione. | Completato\$1Fallito\$1Annullato\$1 TimedOut | 
| Immagini configurate: messaggio di errore  | Messaggio di errore, se presente. | Stringa | 

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro.

```
- name: ApplyImageConfigurations
  action: ApplyImageConfigurations
  onFailure: Abort
  inputs:
    distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages
```

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.ApplyImageConfigurationsStep.configuredImages
```

## BootstrapInstanceForContainer
<a name="wfdoc-step-action-bootstrap-container"></a>

Questa operazione esegue uno script di servizio per avviare l'istanza con i requisiti minimi per eseguire i flussi di lavoro dei container. Image Builder utilizza l'**sendCommand**API Systems Manager per eseguire questo script. Per ulteriori informazioni, vedere [AWS Systems Manager Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/execute-remote-commands.html).

**Nota**  
Lo script bootstrap installa i pacchetti Docker AWS CLI e Docker che sono i prerequisiti per consentire a Image Builder di creare correttamente contenitori Docker. Se non includi questa operazione, la creazione dell'immagine potrebbe fallire.

**Timeout predefinito:** 60 minuti

**Timeout massimo: 720 minuti**

**Rollback:** non è previsto alcun rollback per questa operazione.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| instanceId | L'ID dell'istanza da avviare. | Stringa | Sì |  | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza per questo flusso di lavoro. | 

**Output:** la tabella seguente include gli output per questa azione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| runCommandId | L'ID del Systems Manager sendCommand che ha eseguito lo script di bootstrap sull'istanza. | Stringa | 
| status | Lo stato restituito dal Systems ManagersendCommand. | Stringa | 
| output | Output restituito dal Systems ManagersendCommand. | Stringa | 

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro.

```
- name: ContainerBootstrapStep
  action: BootstrapInstanceForContainer
  onFailure: Abort
  inputs:
      instanceId.$: $.stepOutputs.LaunchStep.instanceId
```

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.ContainerBootstrapStep.status
```

## CollectImageMetadata
<a name="wfdoc-step-action-collect-image-metadata"></a>

Questa operazione è valida solo per i flussi di lavoro di creazione.

EC2 Image Builder esegue [AWS Systems Manager (Systems Manager) Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) sulle EC2 istanze che avvia per creare e testare l'immagine. Image Builder raccoglie informazioni aggiuntive sull'istanza utilizzata durante la fase di creazione con [Systems](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-inventory.html) Manager Inventory. Queste informazioni includono il nome e la versione del sistema operativo (OS), nonché l'elenco dei pacchetti e delle rispettive versioni riportate dal sistema operativo.

**Nota**  
Questa operazione funziona solo per le immagini che creano AMIs.

**Timeout predefinito:** 30 minuti

**Timeout massimo: 720 minuti**

**Rollback:** Image Builder ripristina tutte le risorse Systems Manager create durante questa fase.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| instanceId | L'istanza di build a cui applicare le impostazioni dei metadati. | Stringa | Sì |  | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza di compilazione per questo flusso di lavoro. | 

**Output:** la tabella seguente include gli output per questa azione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| osVersion | Il nome e la versione del sistema operativo raccolti dall'istanza di build. | Stringa | 
| ID dell'associazione | L'ID di associazione Systems Manager utilizzato per la raccolta dell'inventario. | Stringa | 

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro.

```
- name: CollectMetadataStep
  action: CollectImageMetadata
  onFailure: Abort
  inputs:
      instanceId: $.stepOutputs.LaunchStep.instanceId
```

Utilizza l'output dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.CollectMetadataStep.osVersion
```

## CollectImageScanFindings
<a name="wfdoc-step-action-collect-findings"></a>

Se Amazon Inspector è abilitato per il tuo account e la scansione delle immagini è abilitata per la tua pipeline, questa operazione raccoglie i risultati della scansione delle immagini riportati da Amazon Inspector per la tua istanza di test. Questa operazione non è disponibile per i flussi di lavoro di compilazione.

**Timeout predefinito: 120 minuti**

**Timeout massimo: 720 minuti**

**Rollback:** non è previsto alcun rollback per questa operazione.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| instanceId | L'ID dell'istanza su cui è stata eseguita la scansione. | Stringa | Sì |  | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza per questo flusso di lavoro. | 

**Output:** la tabella seguente include gli output per questa azione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| runCommandId | L'ID del Systems Manager sendCommand che ha eseguito lo script per raccogliere i risultati. | Stringa | 
| status | Lo stato restituito dal Systems ManagersendCommand. | Stringa | 
| output | Output restituito dal Systems ManagersendCommand. | Stringa | 

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro.

```
- name: CollectFindingsStep
  action: CollectImageScanFindings
  onFailure: Abort
  inputs:
      instanceId.$: $.stepOutputs.LaunchStep.instanceId
```

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.CollectFindingsStep.status
```

## CreateImage
<a name="wfdoc-step-action-create-img-from-inst"></a>

Questa operazione crea un'immagine da un'istanza in esecuzione con l' EC2 `CreateImage`API Amazon. Durante il processo di creazione, l'azione della fase attende se necessario per verificare che le risorse abbiano raggiunto lo stato corretto prima di continuare.

**Timeout predefinito: 720 minuti**

**Timeout massimo**: 3 giorni

**Rollback:** non è previsto alcun rollback per questa operazione.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| instanceId | L'istanza da cui creare la nuova immagine. | Stringa | Sì |  | L'istanza per l'ID di istanza fornito deve trovarsi in uno running stato all'inizio di questo passaggio. | 

**Output:** la tabella seguente include gli output per questa azione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| imageId | L'ID AMI dell'immagine creata. | Stringa | 

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro.

```
- name: CreateImageFromInstance
  action: CreateImage
  onFailure: Abort
  inputs:
      instanceId.$: "i-1234567890abcdef0"
```

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.CreateImageFromInstance.imageId
```

## DistributeImage
<a name="wfdoc-step-action-distribute-image"></a>

Questa operazione distribuisce un AMI a regioni e account specifici. Crea copie dell'AMI nelle regioni e negli account di destinazione in base alla configurazione di distribuzione fornita, fornita nelle richieste per l' CreateImage OR CreateImagePipeline APIs o alle impostazioni di distribuzione personalizzate fornite nel flusso di lavoro per sovrascrivere le impostazioni nella configurazione di distribuzione.

**Timeout predefinito**: 360 minuti

**Timeout massimo: 720 minuti**

**Rollback:** non è previsto alcun rollback per questa operazione.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| region | L'elenco delle regioni in cui distribuire l'immagine. | Stringa | Sì |  | Lunghezza minima pari a 1. La lunghezza massima è 1024 caratteri. | 
| nome | Il nome della configurazione di distribuzione. | Stringa | No |  |  | 
| description | Le distribuzioni della configurazione di distribuzione. | Stringa | No |  |  | 
| targetAccountIds | Account IDs su cui distribuire l'immagine. | Array | No |  |  | 
| Tag AMI | I tag della configurazione di distribuzione. | Eseguire la mappatura | No |  |  | 
| kmsKeyId | Chiavi KMS da applicare all'immagine distribuita. | Stringa | No |  |  | 

**Output:** la tabella seguente include gli output per questa azione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| Immagini distribuite | Un elenco di immagini distribuite | Array | 
| Immagini distribuite: regione | La AWS regione dell'immagine distribuita. | Stringa | 
| Immagini distribuite: nome | Il nome dell'AMI. | Stringa | 
| Immagini distribuite: AMIID | L'ID AMI dell'immagine distribuita. | Stringa | 
| Immagini distribuite: AccountID | L'ID dell'account di destinazione dell'immagine distribuita. | Stringa | 
| Immagini distribuite: data di inizio | Ora UTC all'inizio della distribuzione. | Stringa | 
| Immagini distribuite: data interrotta | Ora UTC al termine della distribuzione. | Stringa | 
| Immagini distribuite: status | Stato della distribuzione. | Completato\$1Fallito\$1Annullato\$1 TimedOut | 
| Immagini distribuite: fase | La fase in cui si è interrotta la distribuzione. | Completato\$1 CopyAmiRunning | 
| Immagini distribuite: messaggio di errore  | Messaggio di errore, se presente. | Stringa | 

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro.

```
- name: DistributeImage
  action: DistributeImage
  onFailure: Abort
  inputs:
    distributions:
      - region.$: "$.parameters.SourceRegion"
        description: "AMI distribution to source region"
        amiTags:
          DistributionTest: "SourceRegion"
          WorkflowStep: "DistributeToSourceRegion"
          BuildDate: "{{imagebuilder:buildDate:yyyyMMHHss}}"
          BuildVersion: "{{imagebuilder:buildVersion}}"
```

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.DistributeImageStep.distributedImages
```

## ExecuteComponents
<a name="wfdoc-step-action-exec-components"></a>

Questa operazione esegue i componenti specificati nella ricetta per l'immagine corrente in fase di creazione. I flussi di lavoro di compilazione eseguono i componenti di compilazione sull'istanza di compilazione. I flussi di lavoro di test eseguono solo componenti di test sull'istanza di test.

Image Builder utilizza l'**sendCommand**API Systems Manager per eseguire i componenti. Per ulteriori informazioni, vedere [AWS Systems Manager Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/execute-remote-commands.html).

**Timeout predefinito: 720** minuti

**Timeout massimo**: 1 giorno

**Rollback:** non è previsto alcun rollback per questa operazione.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| instanceId | L'ID dell'istanza su cui devono essere eseguiti i componenti. | Stringa | Sì |  | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza per questo flusso di lavoro. | 

**Output:** la tabella seguente include gli output per questa azione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| runCommandId | L'ID del Systems Manager sendCommand che ha eseguito i componenti sull'istanza. | Stringa | 
| status | Lo stato restituito dal Systems ManagersendCommand. | Stringa | 
| output | Output restituito dal Systems ManagersendCommand. | Stringa | 

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro.

```
- name: ExecComponentsStep
  action: ExecuteComponents
  onFailure: Abort
  inputs:
      instanceId: $.stepOutputs.LaunchStep.instanceId
```

Utilizza l'output dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.ExecComponentsStep.status
```

## ExecuteStateMachine
<a name="wfdoc-step-action-exec-state-machine"></a>

Questa operazione avvia l'esecuzione di una macchina a AWS Step Functions stati da un flusso di lavoro Image Builder. Image Builder utilizza l'`StartExecution`API Step Functions per avviare la macchina a stati e attende che venga completata. Ciò è utile per integrare flussi di lavoro complessi, processi di convalida della conformità o certificazione nella pipeline di creazione di immagini.

Per ulteriori informazioni, consulta [Learn about state machine in Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-statemachines.html) nella *AWS Step Functions Developer Guide*.

**Timeout predefinito:** 6 ore

**Timeout massimo: 24** ore

**Rollback:** non è previsto alcun rollback per questa operazione.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| stateMachineArn | L'ARN della macchina a stati Step Functions da eseguire. | Stringa | Sì |  | Deve essere un ARN valido per una macchina a stati. | 
| input | Dati di input JSON da fornire alla macchina a stati. | Stringa | No | \$1\$1 | Deve essere una stringa JSON valida, lunghezza massima: 16 KiB. | 

**Output:** la tabella seguente include gli output per questa operazione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| executionArn | L'ARN dell'esecuzione della macchina a stati. | Stringa | 
| output | L'output dell'esecuzione della macchina a stati. | Stringa | 

**Autorizzazioni IAM richieste**

Il ruolo di esecuzione personalizzato deve disporre delle seguenti autorizzazioni per utilizzare questa azione:

**Consenti azioni**
+ `states:StartExecution`
+ `states:DescribeExecution`

**Specificare le risorse**
+ `arn:aws:states:us-west-2:111122223333:stateMachine:state-machine-name`
+ `arn:aws:states:us-west-2:111122223333:execution:state-machine-name:*`

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro.

```
- name: ValidateImageCompliance
  action: ExecuteStateMachine
  timeoutSeconds: 3600
  onFailure: Abort
  inputs:
    stateMachineArn: arn:aws:states:us-west-2:111122223333:stateMachine:ImageComplianceValidation
    input: |
      {
        "imageId": "{{ $.stepOutputs.CreateImageFromInstance.imageId }}",
        "region": "us-west-2",
        "complianceLevel": "high",
        "requiredScans": ["cve", "benchmark", "configuration"]
      }
```

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.ValidateImageCompliance.executionArn
```

## LaunchInstance
<a name="wfdoc-step-action-launch-instance"></a>

Questa operazione avvia un'istanza nell'istanza Account AWS e attende che l'agente Systems Manager sia in esecuzione sull'istanza prima di passare alla fase successiva. L'azione di avvio utilizza le impostazioni della ricetta e delle risorse di configurazione dell'infrastruttura associate all'immagine. Ad esempio, il tipo di istanza da avviare deriva dalla configurazione dell'infrastruttura. L'output è l'ID dell'istanza che è stata avviata.

L'`waitFor`input configura la condizione che soddisfa il requisito di completamento della fase.

**Timeout predefinito**: 75 minuti

**Timeout massimo: 720 minuti**

**Rollback:** per le istanze di build, il rollback esegue l'azione che hai configurato nella risorsa di configurazione dell'infrastruttura. Per impostazione predefinita, le istanze di compilazione vengono terminate se la creazione dell'immagine fallisce. Tuttavia, esiste un'impostazione nella configurazione dell'infrastruttura per mantenere l'istanza di build per la risoluzione dei problemi.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| imageIdOverride | L'immagine da usare per avviare l'istanza | Stringa | No |  Fase di creazione: immagine di base della ricetta dell'immagine Fase di test: AMI in uscita dalla fase di costruzione  | Deve essere un ID AMI valido | 
| instanceTypesOverride | Image Builder prova ogni tipo di istanza nell'elenco finché non ne trova uno che si avvia correttamente. | Elenco di String | No | Tipi di istanze specificati nella configurazione dell'infrastruttura | Devono essere tipi di istanza validi | 
| Attendi | La condizione da attendere prima di completare la fase del flusso di lavoro e passare alla fase successiva | Stringa | Sì |  | Image Builder supporta. ssmAgent | 

**Output:** la tabella seguente include gli output per questa operazione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| instanceId | L'ID dell'istanza che è stata avviata. | Stringa | 

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro.

```
- name: LaunchStep
  action: LaunchInstance
  onFailure: Abort
  inputs:
    waitFor: ssmAgent
```

Utilizza l'output dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.LaunchStep.instanceId
```

## ModifyImageAttributes
<a name="wfdoc-step-action-modify-image-attributes"></a>

Questa operazione modifica gli attributi del sistema distribuito AMIs, come i permessi di avvio e altri attributi AMI. Funziona in base a AMIs ciò che è stato distribuito alle regioni e agli account target.

**Timeout predefinito:** 120 minuti

**Timeout massimo: 180 minuti**

**Rollback:** non è previsto alcun rollback per questa operazione.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| region | La regione dell'immagine. | Stringa | Sì |  |  | 
| Autorizzazione di avvio |  |  | No |  |  | 
| Autorizzazione di avvio: ID utente | L'utente IDs da modificare nelle autorizzazioni di avvio dell'immagine. | Stringa | No |  |  | 
| Autorizzazione di avvio: gruppi di utenti | I gruppi di utenti da modificare nelle autorizzazioni di avvio dell'immagine. | Stringa | No |  |  | 
| Autorizzazione di avvio: organizzazione ARNS | L' AWS organizzazione da modificare nelle autorizzazioni ARNs di avvio per l'immagine. | Stringa | No |  |  | 
| Autorizzazione di avvio: organizationalUnitArns | L'unità AWS organizzativa ARNs da modificare nelle autorizzazioni di avvio dell'immagine. | Stringa | No |  |  | 

**Output:** la tabella seguente include gli output di questa azione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| Immagini modificate | Un elenco di immagini modificate | Array | 
| Immagini modificate: AccountID | L'ID dell'account di destinazione dell'immagine distribuita. | Stringa | 
| Immagini modificate: nome | Il nome dell'AMI. | Stringa | 
| Immagini modificate: AMIID | L'ID AMI dell'immagine distribuita. | Stringa | 
| Immagini modificate: data di inizio | Ora UTC all'inizio della distribuzione. | Stringa | 
| Immagini modificate: data interrotta | Ora UTC al termine della distribuzione. | Stringa | 
| Immagini modificate: Step | La fase in cui si è interrotta la distribuzione. | Completato\$1 ModifyAmiRunning | 
| Immagini modificate: regione | La regione dell'immagine. AWS  | Stringa | 
| Immagini modificate: status | Stato della distribuzione. | Completato\$1Fallito\$1Annullato\$1 TimedOut | 
| Immagini modificate: messaggio di errore  | Messaggio di errore, se presente. | Stringa | 

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro.

```
- name: ModifyImageAttributes
  action: ModifyImageAttributes
  onFailure: Abort
  inputs:
    distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages
```

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.ModifyImageAttributesStep.modifiedImages
```

## RegisterImage
<a name="wfdoc-step-action-register-image"></a>

Questa operazione registra una nuova Amazon Machine Image (AMI) utilizzando l' EC2 RegisterImage API Amazon. Consente di creare un'AMI da un'istantanea o da un set di istantanee esistente, specificando vari attributi dell'immagine.

**Timeout predefinito**: 540 minuti

**Timeout massimo**: 720 minuti

**Rollback:** non è previsto alcun rollback per questa operazione.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| architecture | L'architettura dell'AMI. | Stringa | No |  | Valori validi: i386, x86\$164, arm64, x86\$164\$1mac, arm64\$1mac | 
| blockDeviceMapping | Le voci di mappatura dei dispositivi a blocchi per l'AMI. | Array | No |  |  | 
| BootMode | La modalità di avvio dell'AMI. | Stringa | No |  | Valori validi: legacy-bios, uefi, uefi-preferred | 
| description | Una descrizione per l'AMI. | Stringa | No |  |  | 
| enaSupport | Se è abilitata una rete avanzata con ENA. | Boolean | No |  |  | 
| Posizione dell'immagine | La posizione del manifesto AMI. | Stringa | No |  | Richiesto per il supporto S3 AMIs | 
| Supporto IMDS | Il livello di IMDSv2 supporto. | Stringa | No |  | Valori validi: v2.0 | 
| includeSnapshotTags | Se includere i tag della prima istantanea definita nella mappatura del dispositivo a blocchi. | Boolean | No | FALSE |  Se impostato su true, i tag vengono inclusi come segue: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/imagebuilder/latest/userguide/wfdoc-step-actions.html)  | 
| KernelID | L'ID del kernel da usare. | Stringa | No |  |  | 
| ID del disco RAM | L'ID del disco RAM da utilizzare. | Stringa | No |  |  | 
| rootDeviceName | Il nome del dispositivo principale. | Stringa | No |  | Esempio: /dev/sda1 | 
| sriovNetSupport | Rete migliorata con l'interfaccia Intel 82599 VF. | Stringa | No |  |  | 
| Supporto TPM | Supporto della versione TPM. | Stringa | No |  | Valori validi: v2.0 | 
| Dati UEFI | Dati UEFI con codifica Base64. | Stringa | No |  |  | 
| Tipo di virtualizzazione | Il tipo di virtualizzazione. | Stringa | No |  | Valori validi: hvm, paravirtual | 

**Output:** la tabella seguente include gli output per questa azione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| imageId | L'ID AMI dell'immagine registrata. | Stringa | 

**Autorizzazioni IAM richieste**

Il ruolo di esecuzione personalizzato deve disporre delle seguenti autorizzazioni per utilizzare questa azione:

**Consenti azioni**
+ `ec2:DescribeSnapshots`
+ `ec2:CreateTags`

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro.

```
- name: RegisterNewImage
  action: RegisterImage
  onFailure: Abort
  inputs:
    architecture: "x86_64"
    bootMode: "uefi"
    blockDeviceMapping:
      - DeviceName: "/dev/sda1"
        Ebs:
          SnapshotId: "snap-1234567890abcdef0"
          VolumeSize: 100
          VolumeType: "gp3"
    rootDeviceName: "/dev/sda1"
    virtualizationType: "hvm"
```

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.RegisterNewImage.imageId
```

**Esempio con a SnapshotId from another step e tag snapshot inclusi nell'AMI generata**

```
- name: CreateSnapshot
  action: RunCommand
  onFailure: Abort
  inputs:
    instanceId: "i-1234567890abcdef0"
    documentName: "AWS-RunShellScript"
    parameters:
      commands:
        - "aws ec2 create-snapshot --volume-id vol-1234567890abcdef0 --description 'Snapshot for AMI' --query 'SnapshotId' --output text"

- name: RegisterImageFromSnapshot
  action: RegisterImage
  onFailure: Abort
  inputs:
    architecture: "x86_64"
    bootMode: "uefi"
    blockDeviceMapping:
      - DeviceName: "/dev/sda1"
        Ebs:
          SnapshotId.$: "$.stepOutputs.CreateSnapshot.output[0]"
          VolumeSize: 100
          VolumeType: "gp3"
    includeSnapshotTags: true
    rootDeviceName: "/dev/sda1"
    virtualizationType: "hvm"
```

## RunCommand
<a name="wfdoc-step-action-run-command"></a>

Questa operazione esegue un documento di comando per il flusso di lavoro. Image Builder utilizza l'**sendCommand**API Systems Manager per eseguirlo automaticamente. Per ulteriori informazioni, vedere [AWS Systems Manager Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html).

**Timeout predefinito: 720** minuti

**Timeout massimo**: 720 minuti

**Rollback:** non è previsto alcun rollback per questa operazione.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| instanceId | L'ID dell'istanza su cui eseguire il documento di comando. | Stringa | Sì |  | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza per questo flusso di lavoro. | 
| documentName | Il nome del documento di comando Systems Manager da eseguire. | Stringa | Sì |  |  | 
| parametri | Un elenco di coppie chiave-valore per tutti i parametri richiesti dal documento di comando. | <string>dizionario<string, list > | Condizionale |  |  | 
| Versione del documento | La versione del documento di comando da eseguire. | Stringa | No | \$1DEFAULT |  | 

**Output:** la tabella seguente include gli output per questa azione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| runCommandId | L'ID del Systems Manager sendCommand che ha eseguito il documento di comando sull'istanza. | Stringa | 
| status | Lo stato restituito dal Systems ManagersendCommand. | Stringa | 
| output | Output restituito dal Systems ManagersendCommand. | Elenco di stringhe | 

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro.

```
- name: RunCommandDoc
  action: RunCommand
  onFailure: Abort
  inputs:
    documentName: SampleDocument
    parameters:
        osPlatform: 
          - "linux"
    instanceId.$: $.stepOutputs.LaunchStep.instanceId
```

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.RunCommandDoc.status
```

## RunSysPrep
<a name="wfdoc-step-action-run-sysprep"></a>

Questa operazione utilizza l'**sendCommand**API Systems Manager per eseguire il `AWSEC2-RunSysprep` documento per le istanze di Windows prima che l'istanza di compilazione si chiuda per l'istantanea. Queste azioni seguono le [AWS migliori pratiche per il rafforzamento e la pulizia dell'immagine](https://aws.amazon.com/articles/public-ami-publishing-hardening-and-clean-up-requirements/).

**Timeout predefinito: 60 minuti**

**Timeout massimo: 720 minuti**

**Rollback:** non è previsto alcun rollback per questa operazione.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| instanceId | L'ID dell'istanza su cui eseguire il AWSEC2-RunSysprep documento. | Stringa | Sì |  | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza per questo flusso di lavoro. | 

**Output:** la tabella seguente include gli output per questa azione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| runCommandId | L'ID del Systems Manager sendCommand che ha eseguito il AWSEC2-RunSysprep documento sull'istanza. | Stringa | 
| status | Lo stato restituito dal Systems ManagersendCommand. | Stringa | 
| output | Output restituito dal Systems ManagersendCommand. | Stringa | 

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro.

```
- name: RunSysprep
  action: RunSysPrep
  onFailure: Abort
  inputs:
      instanceId.$: $.stepOutputs.LaunchStep.instanceId
```

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.RunSysprep.status
```

## SanitizeInstance
<a name="wfdoc-step-action-sanitize-instance"></a>

Questa operazione esegue lo script di sanificazione consigliato per le istanze Linux prima che l'istanza di compilazione si chiuda per l'istantanea. Lo script sanitize aiuta a garantire che l'immagine finale segua le migliori pratiche di sicurezza e che gli artefatti o le impostazioni di build che non devono essere trasferiti all'istantanea vengano rimossi. Per ulteriori informazioni sullo script, consulta. [Pulizia post-compilazione richiesta](security-best-practices.md#post-build-cleanup) Questa operazione non si applica alle immagini dei contenitori.

Image Builder utilizza l'**sendCommand**API Systems Manager per eseguire questo script. Per ulteriori informazioni, vedere [AWS Systems Manager Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/execute-remote-commands.html).

**Timeout predefinito:** 60 minuti

**Timeout massimo: 720 minuti**

**Rollback:** non è previsto alcun rollback per questa operazione.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| instanceId | L'ID dell'istanza da disinfettare. | Stringa | Sì |  | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza per questo flusso di lavoro. | 

**Output:** la tabella seguente include gli output per questa azione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| runCommandId | L'ID del Systems Manager sendCommand che ha eseguito lo script di sanificazione sull'istanza. | Stringa | 
| status | Lo stato restituito dal Systems ManagersendCommand. | Stringa | 
| output | Output restituito dal Systems ManagersendCommand. | Stringa | 

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro.

```
- name: SanitizeStep
  action: SanitizeInstance
  onFailure: Abort
  inputs:
      instanceId: $.stepOutputs.LaunchStep.instanceId
```

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.SanitizeStep.status
```

## TerminateInstance
<a name="wfdoc-step-action-terminate-instance"></a>

Questa operazione termina l'istanza con l'ID dell'istanza passato come input.

**Timeout predefinito: 30 minuti**

**Timeout massimo: 720 minuti**

**Rollback:** non è previsto alcun rollback per questa operazione.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| instanceId | L'ID dell'istanza da terminare. | Stringa | Sì |  |  | 

**Uscite:** non ci sono uscite per questa operazione.

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro.

```
- name: TerminateInstance
  action: TerminateInstance
  onFailure: Continue
  inputs:
      instanceId.$: i-1234567890abcdef0
```

## WaitForAction
<a name="wfdoc-step-action-waitfor"></a>

Questa operazione mette in pausa il flusso di lavoro in esecuzione e attende di ricevere un'azione esterna dall'azione dell'API Image **SendWorkflowStepAction** Builder. Questo passaggio pubblica un EventBridge evento nel bus degli EventBridge eventi predefinito con il tipo di dettaglio. `EC2 Image Builder Workflow Step Waiting` La fase può anche inviare una notifica SNS se si fornisce un ARN per argomento SNS o richiamare una funzione Lambda in modo asincrono se si fornisce il nome di una funzione Lambda.

**Timeout predefinito: 3 giorni**

**Timeout massimo: 7 giorni**

**Rollback:** non è previsto alcun rollback per questa operazione.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| snsTopicArn | Un argomento SNS ARN opzionale a cui inviare una notifica quando la fase del flusso di lavoro è in sospeso. | Stringa | No |  |  | 
| lambdaFunctionName | Un nome o ARN opzionale della funzione Lambda da richiamare in modo asincrono quando la fase del flusso di lavoro è in sospeso. | Stringa | No |  |  | 
| payload | Stringa JSON utilizzata come messaggio per SNS e payload per Lambda. Se fornito, per impostazione predefinita viene inserito un payload personalizzato. message/payload, used for SNS and Lambda respectively. If not provided, generates default message/payload | Stringa | No |  | Deve essere una stringa JSON valida, max 16 KB | 

**Output:** la tabella seguente include gli output per questa azione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| operazione | L'azione restituita dall'azione SendWorkflowStepAction API. | Stringa (RESUMEoSTOP) | 
| motivo | Il motivo dell'azione restituita. | Stringa | 

**Autorizzazioni IAM richieste**

Il ruolo di esecuzione personalizzato deve disporre delle seguenti autorizzazioni per utilizzare questa azione:

**Consenti azioni**
+ `lambda:InvokeFunction`

**Specificare le risorse**
+ `arn:aws:lambda:us-west-2:111122223333:function:function-name`
+ `arn:aws:lambda:us-west-2:111122223333:function:*`

**Esempio**

Specificate l'azione della fase nel documento del flusso di lavoro con la notifica SNS.

```
- name: SendEventAndWait
  action: WaitForAction
  onFailure: Abort
  inputs:
    snsTopicArn: arn:aws:sns:us-west-2:111122223333:ExampleTopic
```

Specificate l'azione della fase nel documento del flusso di lavoro con l'invocazione della funzione Lambda.

```
- name: SendEventAndWaitWithLambda
  action: WaitForAction
  onFailure: Abort
  inputs:
    lambdaFunctionName: ExampleFunction
    payload: |
      {
        "imageId": "{{ $.stepOutputs.CreateImageFromInstance.imageId }}",
        "region": "us-west-2"
      }
```

Utilizza l'output del valore dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.SendEventAndWait.reason
```

## WaitForSSMAgent
<a name="wfdoc-step-action-wait-for-ssm-agent"></a>

Questa operazione prevede che un' EC2 istanza diventi gestibile AWS Systems Manager dopo i periodi di mancata risposta previsti. È particolarmente utile per i flussi di lavoro con interruzioni note delle istanze, come riavvii del sistema, aggiornamenti del sistema operativo o operazioni specifiche della piattaforma che disconnettono temporaneamente l'istanza da SSM. Image Builder monitora l'istanza fino al ripristino della connettività SSM o al timeout.

**Timeout predefinito**: 60 minuti

**Timeout massimo: 180 minuti**

**Rollback:** non è previsto alcun rollback per questa operazione.

**Input:** la tabella seguente include gli input supportati per questa operazione.


| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli | 
| --- | --- | --- | --- | --- | --- | 
| instanceId | L'ID dell'istanza da monitorare per la connettività SSM. | Stringa | Sì |  | Deve essere un ID di EC2 istanza valido | 

**Output:** la tabella seguente include gli output per questa azione.


| Nome output | Description | Tipo | 
| --- | --- | --- | 
| status | Stato della connessione di SSM Agent. | Stringa | 

**Esempio**

Specificare l'azione della fase nel documento del flusso di lavoro.

```
- name: WaitForInstanceAfterReboot
  action: WaitForSSMAgent
  onFailure: Abort
  timeoutInSeconds: 900
  inputs:
    instanceId.$: $.stepOutputs.LaunchStep.instanceId
```

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

```
$.stepOutputs.WaitForInstanceAfterReboot.Status
```