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á.
Ações de etapa compatíveis com seu documento de fluxo de trabalho
Esta seção inclui detalhes das ações de etapa compatíveis com o Image Builder.
Termos usados nesta seção
- AMI
-
Imagem de máquina da Amazon (AMI)
- ARN
-
Nome do recurso da Amazon
A tabela a seguir mostra quais estágios do fluxo de trabalho suportam cada ação de etapa. Uma marca de seleção (X) indica que você pode usar a ação da etapa nesse estágio. O Image Builder restringe algumas ações a estágios específicos: ExecuteComponents aos estágios de criação e teste, CollectImageScanFindings ao estágio de teste eDistributeImage, ModifyImageAttributesApplyImageConfigurations, e DistributeContainerImage ao estágio de distribuição. Você pode usar todas as outras ações em qualquer estágio.
| Ação por etapas | Criar | Testar | Distribuição | Observações |
|---|---|---|---|---|
| LaunchInstance | X | X | X | Inicia uma instância do Amazon EC2. |
| BootstrapInstanceForContainer | X | X | X | Instala o Docker e o AWS CLI for container builds. |
| ExecuteComponents | X | X | Executa componentes na instância. Restrito aos estágios de construção e teste. | |
| CollectImageMetadata | X | X | X | Somente compilações de AMI. |
| RunSysPrep | X | X | X | Compilações do Windows. |
| SanitizeInstance | X | X | X | Compilações de AMI do Linux; não para contêineres. |
| CreateImage | X | X | X | Cria uma AMI a partir da instância de compilação. |
| CreateImageFromIso | X | X | X | Cria uma AMI a partir de uma imagem de disco ISO. |
| RegisterImage | X | X | X | Registra uma AMI a partir de snapshots. |
| DistributeContainerImage | X | Distribui uma imagem de contêiner. Restrito ao estágio de distribuição. | ||
| CollectImageScanFindings | X | Coleta descobertas de digitalização de imagens. Restrito à fase de teste. Requer o Amazon Inspector e a digitalização de imagens. | ||
| RunCommand | X | X | X | Executa um documento de comando AWS Systems Manager (Systems Manager). |
| WaitForSSMAgent | X | X | X | Aguarda a conectividade do Systems Manager após uma reinicialização. |
| WaitForAction | X | X | X | Pausa para uma ação externa. |
| ExecuteStateMachine | X | X | X | Executa uma máquina de estado Step Functions. |
| TerminateInstance | X | X | X | Encerra uma instância. Por exemplo, um fluxo de trabalho de distribuição de contêineres encerra a instância de compilação depois de enviar a imagem. |
| DistributeImage | X | Copia uma AMI para regiões e contas. Restrito ao estágio de distribuição. | ||
| ModifyImageAttributes | X | Modifica as permissões de inicialização da AMI. Restrito ao estágio de distribuição. | ||
| ApplyImageConfigurations | X | Aplica modelos de lançamento, licenças, exportações, inicialização rápida e parâmetros do Systems Manager. Restrito ao estágio de distribuição. |
Importante
Um único fluxo de trabalho distribui AMIs ou imagens de contêiner, não ambas. Se um fluxo de trabalho incluirDistributeContainerImage, ele também não poderá incluirDistributeImage,ModifyImageAttributes, ouApplyImageConfigurations. Essas ações de distribuição de AMIs operam nas AMIs do Amazon EC2, enquanto DistributeContainerImage operam em imagens de contêineres no Amazon Elastic Container Registry (Amazon ECR).
Ações compatíveis
ApplyImageConfigurations
Use esta ação de etapa para aplicar várias configurações e integrações a AMIs distribuídas, como configurações de licença, configurações de modelo de inicialização, configurações de exportação do S3, configurações de inicialização rápida do EC2 e configurações de parâmetros do Systems Manager. As configurações se aplicam somente às imagens distribuídas na conta de origem, exceto as configurações de parâmetros SSM que podem ser aplicadas em várias contas.
nota
A configurations entrada é opcional. Se você o fornecer, o Image Builder usará suas entradas de fluxo de trabalho e ignorará a configuração de distribuição anexada. Se você omiti-lo, o Image Builder retornará à configuração de distribuição anexada ao pipeline ou à imagem.
Tempo limite padrão: 360 minutos
Tempo limite máximo: 720 minutos (12 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa. A distributedImages.$ entrada é obrigatória. As linhas restantes descrevem os campos em cada item da configurations matriz.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| Imagens distribuídas. $ | A lista de imagens distribuídas a serem configuradas. Consulte a distributedImages saída de uma DistributeImage etapa no mesmo fluxo de trabalho. |
String | Sim | Uma referência JSONPath que começa com $.stepOutputs. |
|
| configurations | As configurações a serem aplicadas às AMIs distribuídas, como uma lista. Cada item tem como alvo uma AWS região. | Array | Não | ||
| configurações:região | A AWS região da AMI distribuída a ser configurada. | String | Sim | Obrigatório para cada item emconfigurations. |
|
| configurações:licença ConfigurationArns | O ARN de configuração da licença para a imagem. | Array | Não | ||
| configurações:lançamento TemplateConfigurations | As configurações do modelo de lançamento a serem aplicadas às AMIs distribuídas. | Array | Não | ||
| configurações:lançamento TemplateConfigurations:launchTemplateId | O ID do modelo de lançamento a ser aplicado à imagem. | String | Sim, se launchTemplateConfigurations for especificado |
||
| configurações:lançamento TemplateConfigurations:accountId | Os IDs de conta do modelo de lançamento a serem aplicados à imagem. | String | Não | ||
| configurações:lançamento TemplateConfigurations:setDefaultVersion | A configuração da versão padrão do modelo de lançamento para a imagem. | Booleano | Não | ||
| configurações:s3 ExportConfiguration | A configuração de exportação do Amazon S3 para as AMIs distribuídas. | Array | Não | ||
| configurações:s3 ExportConfiguration:roleName | O nome da função de configuração de exportação do Amazon S3 para a imagem. | String | Sim, se s3ExportConfiguration for especificado |
||
| configurações:s3 ExportConfiguration:diskImageFormat | O formato de imagem de disco de configuração de exportação do Amazon S3 para a imagem. | String | Sim, se s3ExportConfiguration for especificado |
Valores permitidos - VMDK|RAW|VHD | |
| configurações:s3 ExportConfiguration:s3Bucket | O nome do bucket de configuração de exportação do Amazon S3 para a imagem. | String | Sim, se s3ExportConfiguration for especificado |
||
| configurações:s3 ExportConfiguration:s3Prefix | O prefixo do bucket de configuração de exportação do Amazon S3 para a imagem. | String | Não | ||
| configurações: rápido LaunchConfigurations | A configuração do Amazon EC2 Fast Launch para a imagem. | Array | Não | ||
| configurações: rápido LaunchConfigurations:enabled | Se o Amazon EC2 Fast Launch está habilitado para a imagem. | Booleano | Sim, se fastLaunchConfigurations for especificado |
||
| configurações: rápido LaunchConfigurations:snapshotConfiguration | A configuração do snapshot para pré-provisionar os snapshots do Amazon EC2 Fast Launch. | Mapa | Não | ||
| configurações: rápido LaunchConfigurations:snapshotConfiguration:targetResourceCount | A contagem de recursos alvo do Amazon EC2 Fast Launch para a imagem. | Inteiro | Não | ||
| configurações: rápido LaunchConfigurations:maxParallelLaunches | O Amazon EC2 Fast Launch tem lançamentos paralelos máximos para a imagem. | Inteiro | Não | ||
| configurações: rápido LaunchConfigurations:launchTemplate | O modelo de lançamento que o Amazon EC2 Fast Launch usa para preparar snapshots pré-provisionados. | Mapa | Não | ||
| configurações: rápido LaunchConfigurations:launchTemplate:launchTemplateId | O ID do modelo de lançamento rápido do Amazon EC2 para a imagem. | String | Não | ||
| configurações: rápido LaunchConfigurations:launchTemplate:launchTemplateName | O nome do modelo de lançamento rápido do Amazon EC2 para a imagem. | String | Não | ||
| configurações: rápido LaunchConfigurations:launchTemplate:launchTemplateVersion | A versão do modelo de lançamento rápido do Amazon EC2 para a imagem. | String | Não | ||
| configurações:ssm ParameterConfigurations | A configuração dos parâmetros do Systems Manager para a imagem. | Mapa | Não | ||
| configurações:ssm ParameterConfigurations:amiAccountId | O ID da conta AMI do parâmetro Systems Manager para a imagem. | String | Não | ||
| configurações:ssm ParameterConfigurations:parameterName | O nome do parâmetro do Systems Manager para a imagem. | String | Sim, se ssmParameterConfigurations for especificado |
||
| configurações:ssm ParameterConfigurations:dataType | O tipo de dados do parâmetro Systems Manager para a imagem. | String | Não | Valores permitidos - text|aws:ec2:image) |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| Imagens configuradas | Uma lista de imagens configuradas. | Array |
| configurado Images:accountId | O ID da conta de destino da imagem distribuída. | String |
| configurado Images:name | O nome da AMI. | String |
| configurado Images:amiId | O ID da AMI da imagem distribuída. | String |
| configurado Images:dateStarted | Hora UTC em que a distribuição começou. | String |
| configurado Images:dateStopped | Hora UTC em que a distribuição foi concluída. | String |
| configurado Images:step | A etapa na qual a distribuição foi interrompida. | Concluído| AssociateLicensesRunning | UpdateLaunchTemplateRunning | | PutSsmParametersRunning | UpdateFastLaunchConfiguration ExportAmiQueued ExportAmiRunning |
| configurado Images:region | A AWS região da imagem distribuída. | String |
| configurado Images:status | Status de distribuição. | Concluído | Falha | Cancelado | TimedOut |
| configurado Images:errorMessage | Mensagem de erro, se houver. | String |
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:ApplyImageConfigurationsaction: ApplyImageConfigurations onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages configurations: - region:us-west-2licenseConfigurationArns: - arn:aws:license-manager:us-west-2:111122223333:license-configuration:lic-example
Use a saída do valor da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.ApplyImageConfigurationsStep.configuredImages
BootstrapInstanceForContainer
Essa ação de etapa executa um script de serviço para fazer o bootstrap da instância com requisitos mínimos para executar fluxos de trabalho de contêiner. O Image Builder usa o sendCommand na API do Systems Manager para executar esse script. Para obter mais informações, consulte Comando Run do AWS Systems Manager.
nota
O script bootstrap instala os pacotes AWS CLI e Docker, que são pré-requisitos para que o Image Builder crie contêineres Docker com sucesso. Se você não incluir essa ação, a compilação da imagem poderá falhar.
Tempo limite padrão: 60 minutos
Tempo limite máximo: 720 minutos (12 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| instanceId | O ID da instância para o bootstrap. | String | Sim | Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância para esse fluxo de trabalho. |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| correr CommandId | O ID do sendCommand do Systems Manager que executou o script de bootstrap na instância. | String |
| status | O status retornado do sendCommand do Systems Manager. | String |
| saída | A saída retornada do sendCommand do Systems Manager. | String |
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:ContainerBootstrapStepaction: BootstrapInstanceForContainer onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Use a saída do valor da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.ContainerBootstrapStep.status
CollectImageMetadata
Essa ação de etapa só é válida para fluxos de trabalho de compilação.
O EC2 Image Builder executa o AWS Systems Manager (Systems Manager) Agent nas instâncias do EC2 que ele executa para compilar e testar sua imagem. O Image Builder coleta informações adicionais sobre a instância usada durante a fase de compilação com o Systems Manager Inventory. Essas informações incluem o nome e a versão do sistema operacional (SO), bem como a lista de pacotes e suas respectivas versões, conforme relatado pelo seu sistema operacional.
nota
Essa ação de etapa só funciona para imagens que criam AMIs.
Tempo limite padrão: 30 minutos
Tempo limite máximo: 720 minutos (12 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: o Image Builder reverte todos os recursos do Systems Manager que foram criados durante essa etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| instanceId | A instância de compilação à qual aplicar as configurações de metadados. | String | Sim | Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância de compilação para esse fluxo de trabalho. |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| osVersion | O nome e a versão do sistema operacional coletados da instância de compilação. | String |
| associationId | O ID de associação do Systems Manager usado para coleta de inventário. | String |
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:CollectMetadataStepaction: CollectImageMetadata onFailure: Abort inputs: instanceId: $.stepOutputs.LaunchStep.instanceId
Use a saída da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.CollectMetadataStep.osVersion
CollectImageScanFindings
Se o Amazon Inspector estiver habilitado para sua conta e a digitalização de imagens estiver habilitada para seu pipeline, essa ação de etapa coletará descobertas de digitalização de imagens relatadas pelo Amazon Inspector para sua instância de teste. Essa ação de etapa não está disponível para fluxos de trabalho de compilação.
Tempo limite padrão: 120 minutos
Tempo limite máximo: 720 minutos (12 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| instanceId | O ID da instância na qual a varredura foi executada. | String | Sim | Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância para esse fluxo de trabalho. |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| correr CommandId | O ID do sendCommand do Systems Manager que executou o script para coletar as descobertas. | String |
| status | O status retornado do sendCommand do Systems Manager. | String |
| saída | A saída retornada do sendCommand do Systems Manager. | String |
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:CollectFindingsStepaction: CollectImageScanFindings onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Use a saída do valor da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.CollectFindingsStep.status
CreateImage
Essa ação de etapa cria uma imagem com base em uma instância em execução com a API CreateImage do Amazon EC2. Durante o processo de criação, antes prosseguir, a ação de etapa aguarda conforme necessário para verificar se os recursos alcançaram o estado correto.
Tempo limite padrão: 720 minutos
Tempo limite máximo: 3 dias (259.200 segundos)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| instanceId | A instância com base na qual criar a nova imagem. | String | Sim | A instância do ID de instância fornecido deverá estar em um estado running quando essa etapa for iniciada. |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| imageId | O ID de AMI da imagem que foi criada. | String |
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:CreateImageFromInstanceaction: CreateImage onFailure: Abort inputs: instanceId.$: "i-1234567890abcdef0"
Use a saída do valor da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.CreateImageFromInstance.imageId
CreateImageFromIso
Use esta ação de etapa para criar uma Amazon Machine Image (AMI) a partir de uma imagem de disco ISO na instância de compilação. Use-o em um fluxo de trabalho de criação quando sua fonte for um arquivo ISO em vez de uma AMI básica. O Image Builder converte a ISO em uma AMI e espera que os recursos atinjam o estado necessário antes de continuar.
nota
Essa ação tem os mesmos requisitos da importação de uma imagem de disco ISO. Para obter mais informações, consulte Importe imagens de disco ISO verificadas do Windows com o Image Builder.
Tempo limite padrão: 720 minutos
Tempo limite máximo: 720 minutos (12 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| instanceId | O ID da instância de compilação que contém a imagem de disco ISO. | String | Sim | Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância de compilação para esse fluxo de trabalho. |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| amiName | O nome da AMI que a etapa criou. | String |
| ID do snapshot | O ID do snapshot que dá suporte à AMI. | String |
| arquitetura | A arquitetura da AMI (x86_64ouarm64). |
String |
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:CreateImageFromIsoStepaction: CreateImageFromIso onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Use a saída do valor da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.CreateImageFromIsoStep.amiName
DistributeContainerImage
Use esta ação de etapa para distribuir uma imagem de contêiner que o estágio de construção criou nos repositórios do Amazon ECR nas regiões de destino definidas para a imagem. Use essa ação em um fluxo de trabalho de distribuição para imagens de contêiner (DOCKER). Ele funciona como a contraparte da imagem de contêiner do. DistributeImage
Essa ação de etapa executa um comando do Systems Manager na instância de compilação para enviar a imagem do contêiner. A instância deve ter o Docker e o AWS CLI instalado. Para obter mais informações, consulte BootstrapInstanceForContainer.
Importante
Um fluxo de trabalho que inclui também DistributeContainerImage não pode incluir DistributeImageModifyImageAttributes,, ouApplyImageConfigurations. Um único fluxo de trabalho distribui imagens de contêiner ou AMIs, não ambas.
Tempo limite padrão: 120 minutos
Tempo limite máximo: 720 minutos (12 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| instanceId | O ID da instância de construção que contém a imagem do contêiner. | String | Sim | Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância de compilação para esse fluxo de trabalho. |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| status | O status retornado do sendCommand do Systems Manager. | String |
| Regiões bem-sucedidas | As regiões em que a distribuição teve sucesso. | Array |
| Regiões com falha | As regiões em que a distribuição falhou. | Array |
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:DistributeContaineraction: DistributeContainerImage onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Use a saída do valor da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.DistributeContainer.status
DistributeImage
Essa ação de etapa distribui uma AMI para as regiões e contas de destino que você especificar. Ele usa a configuração de distribuição de sua CreateImagePipeline solicitação CreateImage ou configurações de distribuição personalizadas no fluxo de trabalho que substituem a configuração padrão.
nota
A distributions entrada é opcional. Se você o fornecer, o Image Builder usará suas entradas de fluxo de trabalho e ignorará a configuração de distribuição anexada. Se você omiti-lo, o Image Builder retornará à configuração de distribuição anexada ao pipeline ou à imagem.
Tempo limite padrão: 360 minutos
Tempo limite máximo: 720 minutos (12 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| distribuições | As configurações de distribuição da AMI, como uma lista. Cada item tem como alvo uma AWS região. Se você omitir essa entrada, o Image Builder usará a configuração de distribuição anexada ao pipeline ou à imagem. | Array | Não | ||
| distribuições:região | A AWS região para a qual distribuir a AMI. | String | Sim | Tamanho mínimo de 1. O comprimento máximo é 1.024. | |
| distribuições:nome | O nome a ser aplicado à AMI distribuída. | String | Não | ||
| distribuições:descrição | A descrição a ser aplicada à AMI distribuída. | String | Não | ||
| distribuições:alvo AccountIds | Os IDs da conta para os quais distribuir a AMI. | Array | Não | ||
| Distribuições: AMI Tags | As tags a serem aplicadas à AMI distribuída. | Mapa | Não | Máximo de 50 tags. | |
| distribuições:kms KeyId | A chave KMS a ser usada para criptografar a AMI distribuída. | String | Não |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| Imagens distribuídas | Uma lista de imagens distribuídas | Array |
| distribuído Images:region | A AWS região da imagem distribuída. | String |
| distribuído Images:name | O nome da AMI. | String |
| distribuído Images:amiId | O ID da AMI da imagem distribuída. | String |
| distribuído Images:accountId | O ID da conta de destino da imagem distribuída. | String |
| distribuído Images:dateStarted | Hora UTC em que a distribuição começou. | String |
| distribuído Images:dateStopped | Hora UTC em que a distribuição foi concluída. | String |
| distribuído Images:status | Status de distribuição. | Concluído | Falha | Cancelado | TimedOut |
| distribuído Images:step | A etapa na qual a distribuição foi interrompida. | Concluído| CopyAmiRunning |
| distribuído Images:errorMessage | Mensagem de erro, se houver. | String |
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:DistributeImageaction: 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}}"
Use a saída do valor da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.DistributeImageStep.distributedImages
ExecuteComponents
Essa ação de etapa executa componentes especificados na fórmula da imagem atual que está sendo criada. Fluxos de trabalho de compilação executam componentes de compilação na instância de compilação. Os fluxos de trabalho de teste executam somente componentes de teste na instância de teste.
O Image Builder usa o sendCommand na API do Systems Manager para executar esse componentes. Para obter mais informações, consulte Comando Run do AWS Systems Manager.
Tempo limite padrão: 720 minutos
Tempo limite máximo: 1 dia (24 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| instanceId | O ID da instância na qual os componentes devem ser executados. | String | Sim | Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância para esse fluxo de trabalho. |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| correr CommandId | O ID do sendCommand do Systems Manager que executou os componentes na instância. | String |
| status | O status retornado do sendCommand do Systems Manager. | String |
| saída | A saída retornada do sendCommand do Systems Manager. | String |
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:ExecComponentsStepaction: ExecuteComponents onFailure: Abort inputs: instanceId: $.stepOutputs.LaunchStep.instanceId
Use a saída da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.ExecComponentsStep.status
ExecuteStateMachine
Essa ação de etapa inicia a execução de uma máquina de AWS Step Functions estado a partir de um fluxo de trabalho do Image Builder. O Image Builder usa a StartExecution API Step Functions para iniciar a máquina de estado e aguarda sua conclusão. Isso é útil para integrar fluxos de trabalho complexos, validação de conformidade ou processos de certificação em seu pipeline de criação de imagens.
Para obter mais informações, consulte Saiba mais sobre máquinas de estado em Step Functions no Guia do AWS Step Functions desenvolvedor.
Tempo limite padrão: 6 horas
Tempo limite máximo: 24 horas
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| estado MachineArn | O ARN da máquina de estados Step Functions a ser executada. | String | Sim | Deve ser um ARN de máquina de estado válido. | |
| input | Dados de entrada JSON para fornecer à máquina de estado. | String | Não | {} | Deve ser uma string JSON válida, com tamanho máximo: 16 KiB. |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| executionArn | O ARN da execução da máquina de estado. | String |
| saída | A saída da execução da máquina de estado. | String |
Permissões do IAM necessárias
Sua função de execução personalizada deve ter as seguintes permissões para usar essa ação de etapa:
Permitir ações
-
states:StartExecution -
states:DescribeExecution
Especifique recursos
-
arn:aws:states:us-west-2:111122223333:stateMachine:state-machine-name -
arn:aws:states:us-west-2:111122223333:execution:state-machine-name:*
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:ValidateImageComplianceaction: ExecuteStateMachine timeoutSeconds: 3600 onFailure: Abort inputs: stateMachineArn: arn:aws:states:us-west-2:111122223333:stateMachine:ImageComplianceValidationinput: | { "imageId": "{{ $.stepOutputs.CreateImageFromInstance.imageId }}", "region": "us-west-2", "complianceLevel": "high", "requiredScans": ["cve", "benchmark", "configuration"] }
Use a saída do valor da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.ValidateImageCompliance.executionArn
LaunchInstance
Use esta ação de etapa para iniciar uma instância no seu Conta da AWS. A ação espera até que a instância atenda à condição de verificação de integridade especificada e o agente do Systems Manager esteja em execução antes de prosseguir para a próxima etapa. A ação de lançamento usa as configurações de seus recursos de configuração de receita e infraestrutura. Por exemplo, o tipo de instância a ser executada vem da configuração da infraestrutura. A saída é o ID da instância que foi executada.
A entrada waitFor configura a condição que satisfaz o requisito de conclusão da etapa. A healthCheck entrada especifica o nível de validação da integridade da instância do EC2 que deve ser aprovado antes que a etapa prossiga.
Tempo limite padrão: 75 minutos
Tempo limite máximo: 720 minutos (12 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: para instâncias de compilação, a reversão executa a ação que você configurou em seu recurso de configuração de infraestrutura. Por padrão, as instâncias de compilação são encerradas se a criação da imagem falhar. No entanto, há uma definição na configuração da infraestrutura para manter a instância de compilação para solução de problemas.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| imagem IdOverride | A imagem a ser usada para iniciar a instância | String | Não |
Estágio de construção: imagem base da receita de imagem Etapa de teste: AMI de saída do estágio de construção |
Deve ser um ID de AMI válido |
| exemplo TypesOverride | O Image Builder tenta cada tipo de instância na lista até encontrar uma que seja iniciada com êxito. | Lista de strings | Não | Tipos de instância especificados em sua configuração de infraestrutura | Devem ser tipos de instância válidos |
| waitFor | A condição a ser esperada antes de concluir a etapa do fluxo de trabalho e passar para a próxima etapa | String | Sim | Nenhum | O Image Builder é compatível com ssmAgent. |
| Verificação de saúde | O nível de validação de integridade do EC2 necessário antes que a etapa do fluxo de trabalho prossiga. Especifique RUNNING para compilações mais rápidas com validação mínima ou aguarde STATUS_CHECK_PASSED a aprovação das verificações de status do EC2. |
String | Não | STATUS_CHECK_PASSED |
Valores válidos: RUNNING | STATUS_CHECK_PASSED. |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| instanceId | O ID de instância da instância que foi executada. | String |
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:LaunchStepaction: LaunchInstance onFailure: Abort inputs: healthCheck: "RUNNING" waitFor:ssmAgent
Use a saída da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.LaunchStep.instanceId
ModifyImageAttributes
Use essa ação de etapa para modificar os atributos das AMIs distribuídas, como permissões de inicialização e outros atributos da AMI. Ele opera em AMIs que foram distribuídas para regiões e contas de destino.
nota
A attributes entrada é opcional. Se você o fornecer, o Image Builder usará suas entradas de fluxo de trabalho e ignorará a configuração de distribuição anexada. Se você omiti-lo, o Image Builder retornará à configuração de distribuição anexada ao pipeline ou à imagem.
Tempo limite padrão: 120 minutos
Tempo limite máximo: 180 minutos (3 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| Imagens distribuídas. $ | A lista de imagens distribuídas a serem modificadas. Consulte a distributedImages saída de uma DistributeImage etapa no mesmo fluxo de trabalho. |
String | Sim | Uma referência JSONPath que começa com $.stepOutputs. |
|
| attributes | Os atributos da imagem a serem modificados, como uma lista. Cada item tem como alvo uma AWS região. | Array | Não | ||
| atributos:região | A AWS região da AMI distribuída a ser modificada. | String | Sim | Obrigatório para cada item emattributes. |
|
| Atributos: permissão de lançamento | As configurações de permissão de lançamento a serem aplicadas à AMI distribuída. | Mapa | Não | ||
| atributos:lançamento Permission:userIds | Os IDs de conta a serem adicionados ou removidos das permissões de inicialização da AMI. | Array | Não | ||
| atributos:lançamento Permission:userGroups | Os grupos de usuários a serem adicionados ou removidos das permissões de inicialização da AMI. | Array | Não | ||
| atributos:lançamento Permission:organizationArns | Os ARNs AWS das organizações a serem adicionados ou removidos das permissões de lançamento da AMI. | Array | Não | ||
| atributos:lançamento Permission:organizationalUnitArns | Os ARNs da unidade organizacional (OU) a serem adicionados ou removidos das permissões de lançamento da AMI. | Array | Não |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| Imagens modificadas | Uma lista de imagens modificadas | Array |
| modificado Images:accountId | O ID da conta de destino da imagem distribuída. | String |
| modificado Images:name | O nome da AMI. | String |
| modificado Images:amiId | O ID da AMI da imagem distribuída. | String |
| modificado Images:dateStarted | Hora UTC em que a distribuição começou. | String |
| modificado Images:dateStopped | Hora UTC em que a distribuição foi concluída. | String |
| modificado Images:step | A etapa na qual a distribuição foi interrompida. | Concluído| ModifyAmiRunning |
| modificado Images:region | A AWS região da imagem. | String |
| modificado Images:status | Status de distribuição. | Concluído | Falha | Cancelado | TimedOut |
| modificado Images:errorMessage | Mensagem de erro, se houver. | String |
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:ModifyImageAttributesaction: ModifyImageAttributes onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages attributes: - region:us-west-2launchPermission: userIds: - "111122223333"
Use a saída do valor da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.ModifyImageAttributesStep.modifiedImages
RegisterImage
Esta ação de etapa registra uma nova Amazon Machine Image (AMI) usando a API do Amazon EC2 RegisterImage . Ele permite que você crie uma AMI a partir de um instantâneo ou conjunto de instantâneos existente, especificando vários atributos de imagem.
Tempo limite padrão: 540 minutos
Tempo limite máximo: 720 minutos (12 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| arquitetura | A arquitetura da AMI. | String | Não | Valores válidos: i386, x86_64, arm64, x86_64_mac, arm64_mac | |
| bloquear DeviceMapping | As entradas de mapeamento de dispositivos de blocos para a AMI. | Array | Não | ||
| Modo de inicialização | O modo de inicialização da AMI. | String | Não | Valores válidos: legacy-bios, uefi, uefi-preferred | |
| descrição | Uma descrição para a AMI. | String | Não | ||
| Suporte ENA | Se a rede aprimorada com ENA está ativada. | Booleano | Não | ||
| Localização da imagem | A localização do manifesto da AMI. | String | Não | Obrigatório para S3-backed AMIs | |
| Suporte IMDS | O nível de suporte do IMDSv2. | String | Não | Valores válidos: v2.0 | |
| incluir SnapshotTags | Se devem ser incluídas tags do primeiro instantâneo definido no mapeamento do dispositivo de bloco. | Booleano | Não | FALSE |
Quando definidas como verdadeiras, as tags são incluídas da seguinte forma:
|
| ID do kernel | O ID do kernel a ser usado. | String | Não | ||
| Ramdiskid | O ID do disco RAM a ser usado. | String | Não | ||
| raiz DeviceName | O nome do dispositivo raiz. | String | Não | Exemplo:/dev/sda1 | |
| sriov NetSupport | Rede aprimorada com a interface Intel 82599 VF. | String | Não | ||
| Suporte TPM | Suporte à versão TPM. | String | Não | Valores válidos: v2.0 | |
| Dados UEFI | Base64-encoded Dados UEFI. | String | Não | ||
| Tipo de virtualização | O tipo de virtualização. | String | Não | Valores válidos: hvm, paravirtual |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| imageId | O ID da AMI da imagem registrada. | String |
Permissões do IAM necessárias
Sua função de execução personalizada deve ter as seguintes permissões para usar essa ação de etapa:
Permitir ações
-
ec2:DescribeSnapshots -
ec2:CreateTags
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- 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"
Use a saída do valor da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.RegisterNewImage.imageId
Exemplo com tags SnapshotId de outra etapa e de snapshot incluídas na AMI gerada
- name: CreateSnapshot action: RunCommand onFailure: Abort inputs: instanceId: "i-1234567890abcdef0" documentName: "AWS-RunShellScript" parameters: commands: - "aws ec2 create-snapshot --volume-idvol-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
Essa ação de etapa executa um documento de comando para seu fluxo de trabalho. O Image Builder usa o sendCommand na API do Systems Manager para executá-lo em seu nome. Para obter mais informações, consulte Comando Run do AWS Systems Manager.
Tempo limite padrão: 720 minutos
Tempo limite máximo: 720 minutos (12 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| instanceId | O ID da instância na qual executar o documento de comando. | String | Sim | Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância para esse fluxo de trabalho. | |
| documentName | O nome do documento de comando do Systems Manager a ser executado. | String | Sim | ||
| parameters | Uma lista de pares chave e valor para qualquer parâmetro exigido pelo documento de comando. | dictionary<string, list<string>> | Condicional | ||
| documentVersion | A versão do documento de comando a ser executada. | String | Não | $DEFAULT |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| correr CommandId | O ID do sendCommand do Systems Manager que executou o documento de comando na instância. | String |
| status | O status retornado do sendCommand do Systems Manager. | String |
| saída | A saída retornada do sendCommand do Systems Manager. | Lista de strings |
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:RunCommandDocaction: RunCommand onFailure: Abort inputs: documentName:SampleDocumentparameters: osPlatform: - "linux" instanceId.$: $.stepOutputs.LaunchStep.instanceId
Use a saída do valor da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.RunCommandDoc.status
RunSysPrep
Essa ação de etapa usa o sendCommand na API do Systems Manager para executar o documento AWSEC2-RunSysprep para instâncias do Windows antes que a instância de compilação seja encerrada para o snapshot. Essas ações seguem as AWS melhores práticas para endurecer e limpar a imagem.
Tempo limite padrão: 60 minutos
Tempo limite máximo: 720 minutos (12 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| instanceId | O ID da instância na qual executar o documento AWSEC2-RunSysprep. |
String | Sim | Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância para esse fluxo de trabalho. |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| correr CommandId | O ID do sendCommand do Systems Manager que executou o documento AWSEC2-RunSysprep na instância. |
String |
| status | O status retornado do sendCommand do Systems Manager. | String |
| saída | A saída retornada do sendCommand do Systems Manager. | String |
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:RunSysprepaction: RunSysPrep onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Use a saída do valor da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.RunSysprep.status
SanitizeInstance
Essa ação de etapa executa o script de limpeza recomendado para instâncias Linux antes que a instância de compilação seja encerrada para o snapshot. O script de limpeza ajuda a garantir que a imagem final siga as práticas recomendadas de segurança e a remoção de qualquer artefato ou configuração de compilação que não deva ser transferida para seu snapshot. Para obter mais informações sobre o script, consulte Limpeza necessária após a construção. Essa ação não se aplica a imagens de contêiner.
O Image Builder usa o sendCommand na API do Systems Manager para executar esse script. Para obter mais informações, consulte Comando Run do AWS Systems Manager.
Tempo limite padrão: 60 minutos
Tempo limite máximo: 720 minutos (12 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| instanceId | O ID da instância a passar por limpeza. | String | Sim | Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância para esse fluxo de trabalho. |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| correr CommandId | O ID do sendCommand do Systems Manager que executou o script de limpeza na instância. | String |
| status | O status retornado do sendCommand do Systems Manager. | String |
| saída | A saída retornada do sendCommand do Systems Manager. | String |
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:SanitizeStepaction: SanitizeInstance onFailure: Abort inputs: instanceId: $.stepOutputs.LaunchStep.instanceId
Use a saída do valor da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.SanitizeStep.status
TerminateInstance
Essa ação de etapa encerra a instância que você especifica com a instanceId entrada. Por padrão, ele inicia o encerramento e passa para a próxima etapa sem esperar. Um processo em segundo plano gerencia a limpeza se a rescisão encontrar erros de serviço do EC2. Para aguardar o encerramento total antes de continuar, defina a waitForTermination true entrada como.
Tempo limite padrão: 30 minutos
Tempo limite máximo: 720 minutos (12 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| instanceId | Forneça o ID da instância a ser encerrada. | String | Sim | Nenhum | Nenhum |
| espere ForTermination | Especifica se a etapa espera que a instância alcance o estado encerrado antes de continuar. Quando definida comotrue, a etapa aguarda o término total (de 10 segundos a vários minutos). |
Booleano | Não | false |
true | false |
Saídas: não há saídas para essa ação de etapa.
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:TerminateInstanceaction: TerminateInstance onFailure: Continue inputs: instanceId.$:i-1234567890abcdef0waitForTermination:false
WaitForAction
Essa ação de etapa pausa o fluxo de trabalho em execução e aguarda o recebimento de uma ação externa da ação SendWorkflowStepAction da API do Image Builder. Esta etapa publica um EventBridge evento em seu barramento de EventBridge eventos padrão com o tipo de EC2 Image Builder Workflow Step Waiting detalhe. A etapa também pode enviar uma notificação do SNS se você fornecer um ARN de tópico do SNS ou invocar uma função do Lambda de forma assíncrona se você fornecer um nome de função do Lambda.
Como funcionam a pausa e a retomada
Quando uma WaitForAction etapa é executada, o Image Builder define o status da etapa WAITING e publica um EventBridge evento (tipo de detalheEC2 Image Builder Workflow Step Waiting). Se você fornecersnsTopicArn, ele também enviará uma notificação do Amazon SNS. Se você fornecerlambdaFunctionName, ele invocará essa função de forma assíncrona. O fluxo de trabalho permanece pausado até que uma das seguintes situações ocorra:
-
Você liga SendWorkflowStepAction
RESUMEpara continuar ou paraSTOPencerrar o fluxo de trabalho. -
A etapa atinge seu tempo limite (padrão de 3 dias, máximo de 7 dias) e o fluxo de trabalho falha.
O reason que você passa SendWorkflowStepAction é armazenado com a etapa e está disponível para etapas posteriores como reason saída da etapa.
Tempo limite padrão: 3 dias
Tempo limite máximo: 7 dias (604.800 segundos)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| pecados TopicArn | Um ARN opcional de tópico do SNS para enviar uma notificação quando a etapa do fluxo de trabalho estiver pendente. | String | Não | ||
| lambda FunctionName | Um nome ou ARN opcional da função Lambda para invocar de forma assíncrona quando a etapa do fluxo de trabalho estiver pendente. | String | Não | ||
| payload | Cadeia de caracteres JSON usada como mensagem para SNS e carga útil para Lambda. Se fornecida, uma carga personalizada é agrupada em padrão message/payload, usada para SNS e Lambda, respectivamente. Se não for fornecido, gera o padrão message/payload. | String | Não | Deve ser uma string JSON válida, no máximo 16 KiB |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| action | A ação retornada pela ação de API SendWorkflowStepAction. | String (RESUME ou STOP) |
| reason | O motivo da ação retornada. | String |
Permissões do IAM necessárias
Sua função de execução personalizada deve ter as seguintes permissões para usar essa ação de etapa:
Permitir ações
-
lambda:InvokeFunction
Especifique recursos
-
arn:aws:lambda:us-west-2:111122223333:function:function-name -
arn:aws:lambda:us-west-2:111122223333:function:*
Exemplo
Especifique a ação da etapa no documento do fluxo de trabalho com a notificação do SNS.
- name:SendEventAndWaitaction: WaitForAction onFailure: Abort inputs: snsTopicArn: arn:aws:sns:us-west-2:111122223333:ExampleTopic
Especifique a ação da etapa no documento do fluxo de trabalho com a invocação da função Lambda.
- name:SendEventAndWaitWithLambdaaction: WaitForAction onFailure: Abort inputs: lambdaFunctionName:ExampleFunctionpayload: | { "imageId": "{{ $.stepOutputs.CreateImageFromInstance.imageId }}", "region": "us-west-2" }
Use a saída do valor da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.SendEventAndWait.reason
WaitForSSMAgent
Essa etapa de ação espera que uma instância do EC2 se torne gerenciável AWS Systems Manager após os períodos esperados de falta de resposta. É particularmente valioso para fluxos de trabalho com interrupções de instância conhecidas, como reinicializações do sistema, atualizações do sistema operacional ou operações específicas da plataforma que desconectam temporariamente a instância do SSM. O Image Builder monitora a instância até que ela recupere a conectividade SSM ou atinja o tempo limite.
Tempo limite padrão: 60 minutos
Tempo limite máximo: 180 minutos (3 horas)
Você pode substituir o padrão portimeoutSeconds, até o máximo mostrado. Um valor acima do máximo falha na validação.
Reversão: não há reversão para essa ação de etapa.
Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.
| Nome da entrada | Description | Tipo | Obrigatório | Padrão | Restrições |
|---|---|---|---|---|---|
| instanceId | O ID da instância a ser monitorada quanto à conectividade SSM. | String | Sim | Deve ser um ID de instância EC2 válido |
Saídas: a tabela a seguir inclui saídas para essa ação de etapa.
| Nome da saída | Description | Tipo |
|---|---|---|
| status | Status da conexão do Agente SSM. | String |
Exemplo
Especifique a ação de etapa no documento de fluxo de trabalho.
- name:WaitForInstanceAfterRebootaction: WaitForSSMAgent onFailure: Abort timeoutSeconds: 900 inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Use a saída do valor da ação da etapa no documento do fluxo de trabalho.
$.stepOutputs.WaitForInstanceAfterReboot.status