

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

# Referência da estrutura da ação
<a name="action-reference"></a>

Esta seção é uma referência somente para a configuração de ações. Para obter uma visão geral conceitual da estrutura do pipeline, consulte [CodePipeline referência de estrutura de tubulação](reference-pipeline-structure.md).

Cada provedor de ação CodePipeline usa um conjunto de campos de configuração obrigatórios e opcionais na estrutura do pipeline. Esta seção fornece as seguintes informações de referência por provedor de ações:
+ Valores válidos para os campos `ActionType` incluídos no bloco de ação da estrutura do pipeline, como `Owner` e `Provider`.
+ Descrições e outras informações de referência para os parâmetros de `Configuration` (obrigatórios e opcionais) incluídos na seção de ação da estrutura do pipeline.
+ Exemplo de campos de ação JSON e YAML válidos.

Esta seção é atualizada periodicamente com mais provedores de ações. No momento, as informações de referência estão disponíveis para os seguintes provedores de ações:

**Topics**
+ [Referência de ação do Amazon EC2](action-reference-EC2Deploy.md)
+ [Referência da ação de origem do Amazon ECR](action-reference-ECR.md)
+ [Referência da ação de compilação `ECRBuildAndPublish`](action-reference-ECRBuildAndPublish.md)
+ [Referência de ação de implantação do Amazon ECS e CodeDeploy azul-verde](action-reference-ECSbluegreen.md)
+ [Referência da ação de implantação do Amazon Elastic Container Service](action-reference-ECS.md)
+ [Referência da ação de implantação `EKS` do Amazon Elastic Container Service](action-reference-EKS.md)
+ [Referência da ação de implantação do AWS Lambda](action-reference-LambdaDeploy.md)
+ [Referência da ação de implantação do Amazon S3](action-reference-S3Deploy.md)
+ [Referência da ação de origem do Amazon S3](action-reference-S3.md)
+ [Referência da ação de implantação do AWS AppConfig](action-reference-AppConfig.md)
+ [Referência da ação de implantação do CloudFormation](action-reference-CloudFormation.md)
+ [CloudFormation StackSets](action-reference-StackSets.md)
+ [AWS CodeBuild referência de ação de criação e teste](action-reference-CodeBuild.md)
+ [AWS CodePipeline invocar referência de ação](action-reference-PipelineInvoke.md)
+ [AWS CodeCommit referência da ação de origem](action-reference-CodeCommit.md)
+ [Referência da ação de implantação do AWS CodeDeploy](action-reference-CodeDeploy.md)
+ [CodeStarSourceConnection para Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com e ações GitLab autogerenciadas](action-reference-CodestarConnectionSource.md)
+ [Referência da ação Commands](action-reference-Commands.md)
+ [AWS Device Farm referência da ação de teste](action-reference-DeviceFarm.md)
+ [Referência da ação de implantação do Elastic Beanstalk](action-reference-Beanstalk.md)
+ [Referência da ação invocar `InspectorScan` do Amazon Inspector](action-reference-InspectorScan.md)
+ [AWS Lambda invocar referência de ação](action-reference-Lambda.md)
+ [Referência da ação de implantação do AWS OpsWorks](action-reference-OpsWorks.md)
+ [Referência da ação de implantação do AWS Service Catalog](action-reference-ServiceCatalog.md)
+ [AWS Step Functions](action-reference-StepFunctions.md)

# Referência de ação do Amazon EC2
<a name="action-reference-EC2Deploy"></a>

Você usa uma ação `EC2` do Amazon EC2 para implantar o código do aplicativo à frota de implantação. A frota de implantação pode consistir em instâncias do Amazon EC2 Linux ou nós gerenciados pelo Linux SSM. As instâncias devem ter o atendente do SSM instalado.

**nota**  
Esta ação oferece suporte somente para tipos de instância do Linux. O tamanho máximo da frota compatível é de 500 instâncias.

A ação escolherá várias instâncias com base em um máximo especificado. As instâncias com falha das instâncias anteriores serão escolhidas primeiro. A ação vai ignorar a implantação em determinadas instâncias se a instância já tiver recebido a implantação do mesmo artefato de entrada, como um caso no qual a ação falhou anteriormente.

**nota**  
Essa ação só é compatível para pipelines tipo V2.

**Topics**
+ [Tipo de ação](#action-reference-EC2Deploy-type)
+ [Parâmetros de configuração](#action-reference-EC2Deploy-parameters)
+ [Input artifacts (Artefatos de entrada)](#action-reference-EC2Deploy-input)
+ [Artefatos de saída](#action-reference-EC2Deploy-output)
+ [Permissões de política do perfil de serviço para a ação de implantação do EC2](#action-reference-EC2Deploy-permissions-action)
+ [Implantar referência do arquivo de especificação](#action-reference-EC2Deploy-spec-reference)
+ [Declaração de ação](#action-reference-EC2Deploy-example)
+ [Declaração de ação com exemplo de especificação Implantar](#action-reference-EC2Deploy-example-spec)
+ [Consulte também](#action-reference-EC2Deploy-links)

## Tipo de ação
<a name="action-reference-EC2Deploy-type"></a>
+ Categoria: `Deploy`
+ Proprietário: `AWS`
+ Fornecedor: `EC2`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-EC2Deploy-parameters"></a>

**InstanceTagKey**  
Obrigatório: Sim  
A chave de tag das instâncias que você criou no Amazon EC2, como `Name`.

**InstanceTagValue**  
Obrigatório: não  
O valor de tag das instâncias criadas por você no Amazon EC2, como `my-instances`.  
Quando esse valor não for especificado, todas as instâncias com **InstanceTagKey**serão correspondidas.

**InstanceType**  
Obrigatório: Sim  
O tipo de instâncias ou nós SSM criados no Amazon EC2. Os valores válidos são `EC2` e `SSM_MANAGED_NODE`.  
Você já deve ter criado, marcado e instalado o atendente SSM em todas as instâncias.  
Ao criar a instância, você cria ou usa uma função de instância do EC2 existente. Para evitar `Access Denied` erros, você deve adicionar permissões de bucket do S3 à função da instância para conceder permissões de instância ao bucket de CodePipeline artefatos. Crie uma função padrão ou atualize a função existente com a permissão `s3:GetObject` limitada ao bucket de artefato da região do pipeline.

**TargetDirectory**  
Obrigatório: sim (se o script for especificado)  
O diretório a ser usado na instância do Amazon EC2 para executar scripts.

**DeploySpec**  
Obrigatório: sim (se a especificação da implantação for especificada)  
O arquivo a ser usado para configurar eventos de instalação e ciclo de vida da implantação. Para ver descrições do campo de especificação e informações, consulte [Implantar referência do arquivo de especificação](#action-reference-EC2Deploy-spec-reference). Para exibir uma configuração de ação com o arquivo de especificação de implantação especificado, consulte o exemplo em [Declaração de ação com exemplo de especificação Implantar](#action-reference-EC2Deploy-example-spec).

**MaxBatch**  
Obrigatório: não  
O número máximo de instâncias permitidas para implantação em paralelo.

**MaxError**  
Obrigatório: não  
O número máximo de erros de instância permitidos durante a implantação.

**TargetGroupNameList**  
Obrigatório: não  
A lista de nomes do grupo de destino para implantação. Você já deve ter criado os grupos de destino.  
Os grupos de destino oferecem um conjunto de instâncias para processar solicitações específicas. Se o grupo de destino for especificado, as instâncias serão removidas do grupo de destino antes da implantação e readicionadas ao grupo de destino depois da implantação.

**PreScript**  
Obrigatório: não  
O script a ser executado antes da fase Implantar da ação.

**PostScript**  
Obrigatório: Sim  
O script a ser executado depois da fase Implantar da ação.

A imagem a seguir mostra um exemplo da página **Editar** da ação na qual **Usar configurações de ação** é escolhida.

![\[A página Editar ação de um novo pipeline com a ação EC2 Deploy especificando o uso da configuração da ação\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/ec2deploy-action.png)


A imagem a seguir mostra um exemplo da página **Editar** para a ação em que **Usar um DeploySpec arquivo** é escolhido.

![\[A página Editar ação de um novo pipeline com a opção de ação EC2 Implantar para usar um arquivo de especificação\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/ec2deploy-action-spec.png)


## Input artifacts (Artefatos de entrada)
<a name="action-reference-EC2Deploy-input"></a>
+ **Número de artefatos:** `1`
+ **Descrição:** os arquivos fornecidos, se houver, para oferecer suporte às ações de script durante a implantação.

## Artefatos de saída
<a name="action-reference-EC2Deploy-output"></a>
+ **Número de artefatos:** `0` 
+ **Descrição:** os artefatos de saída não se aplicam a esse tipo de ação.

## Permissões de política do perfil de serviço para a ação de implantação do EC2
<a name="action-reference-EC2Deploy-permissions-action"></a>

Ao CodePipeline executar a ação, a função CodePipeline de serviço exige as seguintes permissões, com escopo adequado para acesso com menos privilégios.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "StatementWithAllResource",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "elasticloadbalancing:DescribeTargetGroupAttributes",
                "elasticloadbalancing:DescribeTargetGroups",
                "elasticloadbalancing:DescribeTargetHealth",
                "ssm:CancelCommand",
                "ssm:DescribeInstanceInformation",
                "ssm:ListCommandInvocations"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "StatementForLogs",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:111122223333:log-group:/aws/codepipeline/{{pipelineName}}:*"
            ]
        },
        {
            "Sid": "StatementForElasticloadbalancing",
            "Effect": "Allow",
            "Action": [
                "elasticloadbalancing:DeregisterTargets",
                "elasticloadbalancing:RegisterTargets"
            ],
            "Resource": [
                "arn:aws:elasticloadbalancing:us-east-1:111122223333:targetgroup/[[targetGroupName]]/*"
            ]
        },
        {
            "Sid": "StatementForSsmOnTaggedInstances",
            "Effect": "Allow",
            "Action": [
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/{{tagKey}}": "{{tagValue}}"
                }
            }
        },
        {
            "Sid": "StatementForSsmApprovedDocuments",
            "Effect": "Allow",
            "Action": [
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1::document/AWS-RunPowerShellScript",
                "arn:aws:ssm:us-east-1::document/AWS-RunShellScript"
            ]
        }
    ]
}
```

------

### Grupos de registros para seu pipeline em CloudWatch registros
<a name="action-reference-EC2Deploy-logs"></a>

Ao CodePipeline executar a ação, CodePipeline cria um grupo de registros usando o nome do pipeline da seguinte forma. Isso permite reduzir as permissões para os recursos de log usando o nome do pipeline.

```
/aws/codepipeline/MyPipelineName
```

As seguintes permissões do registro em log estão incluídas nas atualizações acima para o perfil de serviço.
+ registros: CreateLogGroup
+ registros: CreateLogStream
+ registros: PutLogEvents

Para visualizar logs no console usando a página de diálogo de detalhes da ação, a permissão para visualizar logs deve ser adicionada ao perfil do console. Para ter mais informações, consulte o exemplo de política de permissões do console em [Permissões necessárias para visualizar registros computacionais no console](security-iam-permissions-console-logs.md).

### Permissões da política de função de serviço para CloudWatch registros
<a name="w2aac56c13c21c11"></a>

Ao CodePipeline executar a ação, CodePipeline cria um grupo de registros usando o nome do pipeline da seguinte forma. Isso permite reduzir as permissões para os recursos de log usando o nome do pipeline.

```
/aws/codepipeline/MyPipelineName
```

Para visualizar logs no console usando a página de diálogo de detalhes da ação, a permissão para visualizar logs deve ser adicionada ao perfil do console. Para ter mais informações, consulte o exemplo de política de permissões do console em [Permissões necessárias para visualizar registros computacionais no console](security-iam-permissions-console-logs.md).

## Implantar referência do arquivo de especificação
<a name="action-reference-EC2Deploy-spec-reference"></a>

Ao CodePipeline executar a ação, você pode especificar um arquivo de especificação para configurar a implantação em suas instâncias. O arquivo de especificação da implantação especifica o que instalar e quais hooks de evento do ciclo de vida executar em resposta a eventos do ciclo de vida da implantação. O arquivo de especificação da implantação é formatado sempre em YAML. O arquivo de especificação da implantação é usado para:
+ Mapear os arquivos de origem na sua revisão de aplicativo para os respectivos destinos na instância.
+ Especificar permissões personalizadas para arquivos implantados.
+ Especificar scripts a serem executados em cada instância, em vários estágios do processo de implantação.

O arquivo de especificação de implantação oferece suporte a parâmetros de configuração de implantação específicos suportados pelo CodeDeploy AppSpec arquivo. Você pode usar seu AppSpec arquivo existente diretamente e quaisquer parâmetros não suportados serão ignorados. Para obter mais informações sobre o AppSpec arquivo em CodeDeploy, consulte a referência do arquivo de especificação do aplicativo no *Guia [CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file.html)do usuário*.

Os parâmetros de implantação do arquivo são especificados da seguinte forma: 
+ `files`: o arquivo de especificação da implantação designa `source:` e `destination:` para os arquivos de implantação. 
+ `scripts`: os eventos com script para a implantação. Dois eventos são compatíveis: `BeforeDeploy` e `AfterDeploy`.
+ `hooks`: os ganchos do ciclo de vida do evento. Os seguintes hooks são compatíveis: `ApplicationStop`, `BeforeInstall`, `AfterInstall`, `ApplicationStart` e `ValidateService`.
**nota**  
O parâmetro hooks está disponível para AppSpec compatibilidade com CodeDeploy e só está disponível na versão 0.0 (AppSpec formato). Para este formato, CodePipeline realizará um mapeamento de melhor esforço dos eventos.

O espaçamento YAML correto deve ser usado no arquivo de especificação. Do contrário, um erro não será lançado se os locais e o número de espaços em um arquivo de especificação da implantação não estiverem corretos. Para obter mais informações sobre espaçamento, consulte a especificação [YAML](http://www.yaml.org/).

Um arquivo de especificação da implantação de exemplo está abaixo. 

```
version: 0.1
files:
  - source: /index.html
    destination: /var/www/html/
scripts:
  BeforeDeploy:
    - location: scripts/install_dependencies
      timeout: 300
      runas: myuser
  AfterDeploy:
    - location: scripts/start_server
      timeout: 300
      runas: myuser
```

Para exibir uma configuração de ação com o arquivo de especificação de implantação especificado, consulte o exemplo em [Declaração de ação com exemplo de especificação Implantar](#action-reference-EC2Deploy-example-spec).

## Declaração de ação
<a name="action-reference-EC2Deploy-example"></a>

------
#### [ YAML ]

```
name: DeployEC2
actions:
- name: EC2
  actionTypeId:
    category: Deploy
    owner: AWS
    provider: EC2
    version: '1'
  runOrder: 1
  configuration:
    InstanceTagKey: Name
    InstanceTagValue: my-instances
    InstanceType: EC2
    PostScript: "test/script.sh",
    TargetDirectory: "/home/ec2-user/deploy"
  outputArtifacts: []
  inputArtifacts:
  - name: SourceArtifact
  region: us-east-1
```

------
#### [ JSON ]

```
{
    "name": "DeployEC2",
    "actions": [
        {
            "name": "EC2Deploy",
            "actionTypeId": {
                "category": "Deploy",
                "owner": "AWS",
                "provider": "EC2",
                "version": "1"
            },
            "runOrder": 1,
            "configuration": {
                "InstanceTagKey": "Name",
                "InstanceTagValue": "my-instances",
                "InstanceType": "EC2",
                "PostScript": "test/script.sh",
                "TargetDirectory": "/home/ec2-user/deploy"
            },
            "outputArtifacts": [],
            "inputArtifacts": [
                {
                    "name": "SourceArtifact"
                }
            ],
            "region": "us-east-1"
        }
    ]
},
```

------

## Declaração de ação com exemplo de especificação Implantar
<a name="action-reference-EC2Deploy-example-spec"></a>

------
#### [ YAML ]

```
name: DeployEC2
actions:
- name: EC2
  actionTypeId:
    category: Deploy
    owner: AWS
    provider: EC2
    version: '1'
  runOrder: 1
  configuration:
    DeploySpec: "deployspec.yaml"
    InstanceTagKey: Name
    InstanceTagValue: my-instances
    InstanceType: EC2
  outputArtifacts: []
  inputArtifacts:
  - name: SourceArtifact
  region: us-east-1
```

------
#### [ JSON ]

```
{
    "name": "DeployEC2",
    "actions": [
        {
            "name": "EC2Deploy",
            "actionTypeId": {
                "category": "Deploy",
                "owner": "AWS",
                "provider": "EC2",
                "version": "1"
            },
            "runOrder": 1,
            "configuration": {
                "DeploySpec": "deployspec.yaml",
                "InstanceTagKey": "Name",
                "InstanceTagValue": "my-instances",
                "InstanceType": "EC2"
            },
            "outputArtifacts": [],
            "inputArtifacts": [
                {
                    "name": "SourceArtifact"
                }
            ],
            "region": "us-east-1"
        }
    ]
},
```

------

## Consulte também
<a name="action-reference-EC2Deploy-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+  [Tutorial: Implante em instâncias do Amazon EC2 com CodePipeline](tutorials-ec2-deploy.md): este tutorial apresenta a você a criação de instâncias do EC2 nas quais implantará um arquivo de script, além da criação do pipeline usando a ação do EC2.
+ [A ação Implantar do EC2 falha com uma mensagem de erro `No such file`](troubleshooting.md#troubleshooting-ec2-deploy): este tópico descreve a solução de problemas dos erros de arquivo não encontrado com a ação do EC2.

# Referência da ação de origem do Amazon ECR
<a name="action-reference-ECR"></a>

Aciona o pipeline quando uma nova imagem é enviada por push para o repositório do Amazon ECR. Essa ação fornece um arquivo de definições de imagem que faz referência ao URI da imagem que foi enviada por push ao Amazon ECR. Essa ação de origem geralmente é usada em conjunto com outra ação de origem, como CodeCommit, para permitir um local de origem para todos os outros artefatos de origem. Para obter mais informações, consulte [Tutorial: Crie um pipeline com uma fonte e ECS-to-CodeDeploy implantação do Amazon ECR](tutorials-ecs-ecr-codedeploy.md).

Quando você usa o console para criar ou editar seu pipeline, CodePipeline cria uma EventBridge regra que inicia seu pipeline quando ocorre uma alteração no repositório.

**nota**  
Para Amazon ECR, Amazon S3 CodeCommit ou fontes, você também pode criar uma substituição de origem usando a entrada de transformação de entrada para usar `revisionValue` o EventBridge in para seu evento de pipeline, onde `revisionValue` o é derivado da variável de evento de origem para sua chave de objeto, confirmação ou ID de imagem. Para saber mais, consulte a etapa opcional da entrada da transformação de entrada incluída nos procedimentos em [Recursos e ações de origem do Amazon ECR EventBridge](create-cwe-ecr-source.md), [Conexão a ações de origem do Amazon S3 com uma fonte habilitada para eventos](create-S3-source-events.md) ou [CodeCommit ações de origem e EventBridge](triggering.md).

Você já deve ter criado um repositório do Amazon ECR e enviado uma imagem por push para que possa conectar o pipeline por meio de uma ação do Amazon ECR.

**Topics**
+ [Tipo de ação](#action-reference-ECR-type)
+ [Parâmetros de configuração](#action-reference-ECR-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-ECR-input)
+ [Artefatos de saída](#action-reference-ECR-output)
+ [Variáveis de saída](#action-reference-ECR-variables)
+ [Permissões do perfil de serviço: ação do Amazon ECR](#edit-role-ecr)
+ [Declaração de ação (exemplo do Amazon ECR)](#action-reference-ECR-example)
+ [Consulte também](#action-reference-ECR-links)

## Tipo de ação
<a name="action-reference-ECR-type"></a>
+ Categoria: `Source`
+ Proprietário: `AWS`
+ Fornecedor: `ECR`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-ECR-config"></a>

**RepositoryName**  
Obrigatório: Sim  
O nome do repositório do Amazon ECR ao qual a imagem foi enviada por push.

**ImageTag**  
Obrigatório: não  
A tag usada para a imagem.  
Se não for especificado um valor para `ImageTag`, o valor assumirá `latest` como padrão.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-ECR-input"></a>
+ **Número de artefatos:** `0`
+ **Descrição:** os artefatos de entrada não se aplicam a esse tipo de ação.

## Artefatos de saída
<a name="action-reference-ECR-output"></a>
+ **Número de artefatos:** `1` 
+ **Descrição:** esta ação produz um artefato que contém um arquivo `imageDetail.json` que contém o URI da imagem que acionou a execução do pipeline. Para mais informações sobre o arquivo `imageDetail.json`, consulte [Arquivo ImageDetail.json para ações de implantação do Amazon ECS blue/green](file-reference.md#file-reference-ecs-bluegreen).

## Variáveis de saída
<a name="action-reference-ECR-variables"></a>

Quando configurada, essa ação produz variáveis que podem ser referenciadas pela configuração de ação de uma ação downstream no pipeline. Esta ação produz variáveis que podem ser visualizadas como variáveis de saída, mesmo que a ação não tenha um namespace. Configure uma ação com um namespace a fim de disponibilizar as variáveis para a configuração de ações downstream.

Para obter mais informações, consulte [Referência de variáveis](reference-variables.md).

**RegistryId**  
O ID da AWS conta associado ao registro que contém o repositório.

**RepositoryName**  
O nome do repositório do Amazon ECR ao qual a imagem foi enviada por push.

**ImageTag**  
A tag usada para a imagem.  
A variável de saída `ImageTag` não é produzida quando a revisão da origem é substituída

**ImageDigest**  
O resumo `sha256` do manifesto da imagem.

**ImageURI**  
O URI da imagem.

## Permissões do perfil de serviço: ação do Amazon ECR
<a name="edit-role-ecr"></a>

Para compatibilidade com o Amazon ECR, adicione o seguinte à declaração da política:

```
{
    "Effect": "Allow",
    "Action": [
        "ecr:DescribeImages"
    ],
    "Resource": "resource_ARN"
},
```

Para obter mais informações sobre a ação, consulte [Referência da ação de origem do Amazon ECR](#action-reference-ECR).

## Declaração de ação (exemplo do Amazon ECR)
<a name="action-reference-ECR-example"></a>

------
#### [ YAML ]

```
Name: Source
Actions:
  - InputArtifacts: []
    ActionTypeId:
      Version: '1'
      Owner: AWS
      Category: Source
      Provider: ECR
    OutputArtifacts:
      - Name: SourceArtifact
    RunOrder: 1
    Configuration:
      ImageTag: latest
      RepositoryName: my-image-repo

    Name: ImageSource
```

------
#### [ JSON ]

```
{
    "Name": "Source",
    "Actions": [
        {
            "InputArtifacts": [],
            "ActionTypeId": {
                "Version": "1",
                "Owner": "AWS",
                "Category": "Source",
                "Provider": "ECR"
            },
            "OutputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "RunOrder": 1,
            "Configuration": {
                "ImageTag": "latest",
                "RepositoryName": "my-image-repo"
            },
            "Name": "ImageSource"
        }
    ]
},
```

------

## Consulte também
<a name="action-reference-ECR-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [Tutorial: Crie um pipeline com uma fonte e ECS-to-CodeDeploy implantação do Amazon ECR](tutorials-ecs-ecr-codedeploy.md)— Este tutorial fornece um exemplo de arquivo de especificação do aplicativo e um exemplo de grupo de CodeDeploy aplicação e implantação para criar um pipeline com uma CodeCommit fonte do Amazon ECR que é implantada em instâncias do Amazon ECS.

# Referência da ação de compilação `ECRBuildAndPublish`
<a name="action-reference-ECRBuildAndPublish"></a>

Esta ação de compilação permite automatizar a compilação e o envio de uma nova imagem quando ocorre uma alteração na origem. Esta ação é compilada com base em uma localização específica do arquivo do Docker e envia a imagem por push. Essa ação de criação não é a mesma que a ação de origem do Amazon ECR em CodePipeline, que aciona o pipeline quando ocorre uma alteração no seu repositório de origem do Amazon ECR. Para obter informações sobre essa ação, consulte [Referência da ação de origem do Amazon ECR](action-reference-ECR.md).

Esta não é uma ação de origem que vai disparar o pipeline. Esta ação compila uma imagem e a envia para o repositório de imagens do Amazon ECR.

Você já deve ter criado um repositório Amazon ECR e ter adicionado um Dockerfile ao seu repositório de código-fonte, por exemplo GitHub, antes de adicionar a ação ao seu pipeline.

**Importante**  
Essa ação usa CodeBuild computação CodePipeline gerenciada para executar comandos em um ambiente de compilação. A execução da ação Comandos incorrerá em cobranças separadas no AWS CodeBuild.

**nota**  
Esta só está disponível para pipelines do tipo V2.

**Topics**
+ [Tipo de ação](#action-reference-ECRBuildAndPublish-type)
+ [Parâmetros de configuração](#action-reference-ECRBuildAndPublish-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-ECRBuildAndPublish-input)
+ [Artefatos de saída](#action-reference-ECRBuildAndPublish-output)
+ [Variáveis de saída](#action-reference-ECRBuildAndPublish-output-variables)
+ [Permissões do perfil de serviço: ação `ECRBuildAndPublish`](#edit-role-ECRBuildAndPublish)
+ [Declaração de ação](#action-reference-ECRBuildAndPublish-example)
+ [Consulte também](#action-reference-ECRBuildAndPublish-links)

## Tipo de ação
<a name="action-reference-ECRBuildAndPublish-type"></a>
+ Categoria: `Build`
+ Proprietário: `AWS`
+ Fornecedor: `ECRBuildAndPublish`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-ECRBuildAndPublish-config"></a>

**ECRRepositoryNome**  
Obrigatório: Sim  
O nome do repositório do Amazon ECR para o qual a imagem é enviada por push.

**DockerFilePath**  
Obrigatório: não  
O local do arquivo do Docker usado para compilar a imagem. Você também poderá oferecer um local de arquivo do docker alternativo, se não estiver no nível raiz.  
Se um valor para `DockerFilePath` não for especificado, o valor assumirá o nível raiz do repositório de origem como padrão.

**ImageTags**  
Obrigatório: não  
As tags usadas para a imagem. Você pode inserir várias tags como uma lista de strings delimitada por vírgulas.  
Se não for especificado um valor para `ImageTags`, o valor assumirá `latest` como padrão.

**RegistryType**  
Obrigatório: não  
Especifica se o repositório é público ou privado. O valor válido é `private | public`.  
Se não for especificado um valor para `RegistryType`, o valor assumirá `private` como padrão.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-ECRBuildAndPublish-input"></a>
+ **Número de artefatos:** `1`
+ **Descrição:** o artefato produzido pela ação de origem que contém o Dockerfile necessário para compilar a imagem.

## Artefatos de saída
<a name="action-reference-ECRBuildAndPublish-output"></a>
+ **Número de artefatos:** `0` 

## Variáveis de saída
<a name="action-reference-ECRBuildAndPublish-output-variables"></a>

Quando configurada, essa ação produz variáveis que podem ser referenciadas pela configuração de ação de uma ação downstream no pipeline. Esta ação produz variáveis que podem ser visualizadas como variáveis de saída, mesmo que a ação não tenha um namespace. Configure uma ação com um namespace a fim de disponibilizar as variáveis para a configuração de ações downstream. 

Para obter mais informações, consulte [Referência de variáveis](reference-variables.md).

**ECRImageDigestId **  
O resumo `sha256` do manifesto da imagem.

**ECRRepositoryNome **  
O nome do repositório do Amazon ECR ao qual a imagem foi enviada por push.

## Permissões do perfil de serviço: ação `ECRBuildAndPublish`
<a name="edit-role-ECRBuildAndPublish"></a>

Para suporte à ação `ECRBuildAndPublish`, adicione o seguinte à declaração da política:

```
{
    "Statement": [
         {
            "Sid": "ECRRepositoryAllResourcePolicy",
            "Effect": "Allow",
            "Action": [
                "ecr:DescribeRepositories",
                "ecr:GetAuthorizationToken",
                "ecr-public:DescribeRepositories",
                "ecr-public:GetAuthorizationToken"
            ],
        "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken",
                "ecr:InitiateLayerUpload",
                "ecr:UploadLayerPart",
                "ecr:CompleteLayerUpload",
                "ecr:PutImage",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchCheckLayerAvailability"
            ],
            "Resource": "PrivateECR_Resource_ARN"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr-public:GetAuthorizationToken",
                "ecr-public:DescribeRepositories",
                "ecr-public:InitiateLayerUpload",
                "ecr-public:UploadLayerPart",
                "ecr-public:CompleteLayerUpload",
                "ecr-public:PutImage",
                "ecr-public:BatchCheckLayerAvailability",
                "sts:GetServiceBearerToken"
            ],
            "Resource": "PublicECR_Resource_ARN"
        },
        {
            "Effect": "Allow",
            "Action": [
                "sts:GetServiceBearerToken"
            ],
            "Resource": "*"
        }
    ]
}
```

Além disso, se ainda não tiver sido adicionada à `Commands` ação, adicione as seguintes permissões à sua função de serviço para visualizar CloudWatch os registros.

```
{
    "Effect": "Allow",
    "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream", 
        "logs:PutLogEvents"
    ],
    "Resource": "resource_ARN"
},
```

**nota**  
Restrinja as permissões ao nível de recurso do pipeline aplicando permissões baseadas em recurso na declaração de política do perfil de serviço.

Para obter mais informações sobre a ação, consulte [Referência da ação de compilação `ECRBuildAndPublish`](#action-reference-ECRBuildAndPublish).

## Declaração de ação
<a name="action-reference-ECRBuildAndPublish-example"></a>

------
#### [ YAML ]

```
name: ECRBuild
actionTypeId:
  category: Build
  owner: AWS
  provider: ECRBuildAndPublish
  version: '1'
runOrder: 1
configuration:
  ECRRepositoryName: actions/my-imagerepo
outputArtifacts: []
inputArtifacts:
- name: SourceArtifact
region: us-east-1
namespace: BuildVariables
```

------
#### [ JSON ]

```
{
    "name": "ECRBuild",
    "actionTypeId": {
        "category": "Build",
        "owner": "AWS",
        "provider": "ECRBuildAndPublish",
        "version": "1"
    },
    "runOrder": 1,
    "configuration": {
        "ECRRepositoryName": "actions/my-imagerepo"
    },
    "outputArtifacts": [],
    "inputArtifacts": [
        {
            "name": "SourceArtifact"
        }
    ],
    "region": "us-east-1",
    "namespace": "BuildVariables"
},
```

------

## Consulte também
<a name="action-reference-ECRBuildAndPublish-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [Tutorial: Crie e envie uma imagem do Docker para o Amazon ECR com CodePipeline (tipo V2)](tutorials-ecr-build-publish.md): este tutorial apresenta um Dockerfile de amostra e instruções para criar um pipeline que envia por push a imagem para o ECR em uma alteração feita no repositório de origem e, em seguida, implanta-a no Amazon ECS.

# Amazon Elastic Container Service e referência de ação de implantação CodeDeploy azul-verde
<a name="action-reference-ECSbluegreen"></a>

Você pode configurar um pipeline AWS CodePipeline que implanta aplicativos de contêiner usando uma blue/green implantação. Em uma blue/green implantação, você pode iniciar uma nova versão do seu aplicativo junto com a versão antiga e testar a nova versão antes de redirecionar o tráfego para ela. Você também poderá monitorar o processo de implantação e realizar uma reversão rapidamente se houver algum problema.

O pipeline concluído detecta alterações em suas imagens ou arquivo de definição de tarefas e o usa CodeDeploy para rotear e implantar tráfego em um cluster e balanceador de carga do Amazon ECS. CodeDeploy cria um novo ouvinte em seu balanceador de carga que pode direcionar sua nova tarefa por meio de uma porta especial. Você também pode configurar o pipeline para usar um local de origem, como um CodeCommit repositório, onde sua definição de tarefa do Amazon ECS é armazenada.

Antes de criar seu pipeline, você já deve ter criado os recursos do Amazon ECS, os recursos, o CodeDeploy balanceador de carga e o grupo-alvo. Você já deve ter marcado e armazenado a imagem em seu repositório de imagens e carregado a definição da tarefa e o AppSpec arquivo em seu repositório de arquivos.

**nota**  
Este tópico descreve a ação de implantação do Amazon ECS para CodeDeploy azul/verde para. CodePipeline Para obter informações de referência sobre as ações de implantação padrão do Amazon ECS em CodePipeline, consulte[Referência da ação de implantação do Amazon Elastic Container Service](action-reference-ECS.md).

**Topics**
+ [Tipo de ação](#action-reference-ECSbluegreen-type)
+ [Parâmetros de configuração](#action-reference-ECSbluegreen-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-ECSbluegreen-input)
+ [Artefatos de saída](#action-reference-ECSbluegreen-output)
+ [Permissões do perfil de serviço: ação `CodeDeployToECS`](#edit-role-codedeploy-ecs)
+ [Declaração de ação](#action-reference-ECSbluegreen-example)
+ [Consulte também](#action-reference-ECSbluegreen-links)

## Tipo de ação
<a name="action-reference-ECSbluegreen-type"></a>
+ Categoria: `Deploy`
+ Proprietário: `AWS`
+ Fornecedor: `CodeDeployToECS`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-ECSbluegreen-config"></a>

**ApplicationName**  
Obrigatório: Sim  
O nome do aplicativo em CodeDeploy. Antes de criar seu pipeline, você já deve ter criado o aplicativo em CodeDeploy.

**DeploymentGroupName**  
Obrigatório: Sim  
O grupo de implantação especificado para os conjuntos de tarefas do Amazon ECS que você criou para seu CodeDeploy aplicativo. Antes de criar seu pipeline, você já deve ter criado o grupo de implantação em CodeDeploy.

**TaskDefinitionTemplateArtifact**  
Obrigatório: Sim  
O nome do artefato de entrada que fornece o arquivo de definição de tarefa para a ação de implantação. Geralmente, esse é o nome do artefato de saída da ação de origem. Quando você usa o console, o nome padrão do artefato de saída da ação de origem é `SourceArtifact`.

**AppSpecTemplateArtifact**  
Obrigatório: Sim  
O nome do artefato de entrada que fornece o AppSpec arquivo para a ação de implantação. Esse valor é atualizado quando o pipeline é executado. Geralmente, esse é o nome do artefato de saída da ação de origem. Quando você usa o console, o nome padrão do artefato de saída da ação de origem é `SourceArtifact`. Para `TaskDefinition` no AppSpec arquivo, você pode manter o texto do `<TASK_DEFINITION>` espaço reservado conforme mostrado [aqui](tutorials-ecs-ecr-codedeploy.md#tutorials-ecs-ecr-codedeploy-taskdefinition).

**AppSpecTemplatePath**  
Obrigatório: não  
O nome do AppSpec arquivo armazenado no local do arquivo de origem do pipeline, como o CodeCommit repositório do pipeline. O nome de arquivo padrão é `appspec.yaml`. Se o AppSpec arquivo tiver o mesmo nome e estiver armazenado no nível raiz do repositório de arquivos, você não precisará fornecer o nome do arquivo. Se o caminho não for o padrão, insira o caminho e o nome do arquivo.

**TaskDefinitionTemplatePath**  
Obrigatório: não  
O nome do arquivo da definição da tarefa armazenada no local de origem do arquivo do pipeline, como o CodeCommit repositório do pipeline. O nome de arquivo padrão é `taskdef.json`. Se o arquivo de definição tiver o mesmo nome e estiver armazenado no nível raiz do repositório de arquivos, você não precisará fornecer o nome do arquivo. Se o caminho não for o padrão, insira o caminho e o nome do arquivo.

**Imagem <Number>ArtifactName**  
Obrigatório: não  
O nome do artefato de entrada que fornece a imagem para a ação de implantação. Geralmente, esse é o artefato de saída do repositório de imagens, como a saída da ação de origem do Amazon ECR.  
Os valores disponíveis para `<Number>` vão de 1 a 4.

**Imagem <Number>ContainerName**  
Obrigatório: não  
O nome da imagem disponível no repositório de imagens; por exemplo, o repositório de origem do Amazon ECR.  
Os valores disponíveis para `<Number>` vão de 1 a 4.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-ECSbluegreen-input"></a>
+ **Número de artefatos:** `1 to 5`
+ **Descrição:** a `CodeDeployToECS` ação primeiro procura o arquivo de definição da tarefa e o AppSpec arquivo no repositório de arquivos de origem, depois procura a imagem no repositório de imagens, depois gera dinamicamente uma nova revisão da definição da tarefa e, por fim, executa os AppSpec comandos para implantar o conjunto de tarefas e o contêiner no cluster.

  A ação `CodeDeployToECS` procura um arquivo `imageDetail.json` que mapeie o URI de imagem para a imagem. Quando você confirmar uma alteração no repositório de imagens do Amazon ECR, a ação de origem do ECR do pipeline criará um arquivo `imageDetail.json` para essa confirmação. Você também pode adicionar manualmente um arquivo `imageDetail.json` para um pipeline em que a ação não seja automatizada. Para mais informações sobre o arquivo `imageDetail.json`, consulte [Arquivo ImageDetail.json para ações de implantação do Amazon ECS blue/green](file-reference.md#file-reference-ecs-bluegreen).

  A ação `CodeDeployToECS` gera dinamicamente uma nova revisão da definição de tarefa. Nessa fase, essa ação substitui os espaços reservados no arquivo de definição de tarefa pelo URI de imagem recuperado nos arquivos imageDetail.json. Por exemplo, se você definir *IMAGE1\$1NAME* como ContainerName parâmetro Image1, deverá especificar o espaço reservado *< IMAGE1 \$1NAME>* como o valor do campo de imagem em seu arquivo de definição de tarefa. Nesse caso, a ação do CodeDeployTo ECS substitui o espaço reservado *< IMAGE1 \$1NAME>* no URI de imagem real recuperado de ImageDetail.json no artefato que você especifica como Image1. ArtifactName

  Para atualizações de definição de tarefas, o CodeDeploy `AppSpec.yaml` arquivo contém a `TaskDefinition` propriedade. 

  ```
  TaskDefinition: <TASK_DEFINITION>
  ```

  Essa propriedade será atualizada pela ação `CodeDeployToECS` depois que a nova definição de tarefa for criada.

  Para o valor do campo `TaskDefinition`, o texto do espaço reservado deve ser <TASK\$1DEFINITION>. A ação `CodeDeployToECS` substitui esse espaço reservado pelo ARN real da definição de tarefa gerada dinamicamente.

## Artefatos de saída
<a name="action-reference-ECSbluegreen-output"></a>
+ **Número de artefatos:** `0` 
+ **Descrição:** os artefatos de saída não se aplicam a esse tipo de ação.

## Permissões do perfil de serviço: ação `CodeDeployToECS`
<a name="edit-role-codedeploy-ecs"></a>

Para a `CodeDeployToECS` ação (ação blue/green deployments), the following are the minimum permissions needed to create pipelines with a CodeDeploy to Amazon ECS blue/green de implantação).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCodeDeployDeploymentActions",
            "Action": [
                "codedeploy:CreateDeployment",
                "codedeploy:GetDeployment"
            ],
            "Resource": [
                "arn:aws:codedeploy:*:111122223333:deploymentgroup:[[ApplicationName]]/*"
            ],
            "Effect": "Allow"
        },
        {
            "Sid": "AllowCodeDeployApplicationActions",
            "Action": [
                "codedeploy:GetApplication",
                "codedeploy:GetApplicationRevision",
                "codedeploy:RegisterApplicationRevision"
            ],
            "Resource": [
                "arn:aws:codedeploy:*:111122223333:application:[[ApplicationName]]",
                "arn:aws:codedeploy:*:111122223333:application:[[ApplicationName]]/*"
            ],
            "Effect": "Allow"
        },
        {
            "Sid": "AllowCodeDeployDeploymentConfigAccess",
            "Action": [
                "codedeploy:GetDeploymentConfig"
            ],
            "Resource": [
                "arn:aws:codedeploy:*:111122223333:deploymentconfig:*"
            ],
            "Effect": "Allow"
        },
        {
            "Sid": "AllowECSRegisterTaskDefinition",
            "Action": [
                "ecs:RegisterTaskDefinition"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        },
        {
            "Sid": "AllowPassRoleToECS",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::111122223333:role/[[PassRoles]]"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "ecs.amazonaws.com",
                        "ecs-tasks.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

Você pode aceitar o uso da autorização para atribuição de tags no Amazon ECS. Ao aceitar, você deve conceder as seguintes permissões: `ecs:TagResource`. Para obter mais informações sobre como aceitar e determinar se a permissão será necessária e a autorização de tag será aplicada, consulte o [Cronograma de autorização para atribuição de tags](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources-timeline) no Guia do desenvolvedor do Amazon Elastic Container Service.

Você também deve adicionar as permissões `iam:PassRole` para usar os perfis do IAM para tarefas. Para obter mais informações, consulte [Perfil do IAM para execução de tarefas do Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) e [Perfis do IAM para tarefas](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html).

Você também pode adicionar `ecs-tasks.amazonaws.com` à lista de serviços na condição `iam:PassedToService`, conforme mostrado no exemplo acima.

## Declaração de ação
<a name="action-reference-ECSbluegreen-example"></a>

------
#### [ YAML ]

```
Name: Deploy
Actions:
  - Name: Deploy
    ActionTypeId:
      Category: Deploy
      Owner: AWS
      Provider: CodeDeployToECS
      Version: '1'
    RunOrder: 1
    Configuration:
      AppSpecTemplateArtifact: SourceArtifact
      ApplicationName: ecs-cd-application
      DeploymentGroupName: ecs-deployment-group
      Image1ArtifactName: MyImage
      Image1ContainerName: IMAGE1_NAME
      TaskDefinitionTemplatePath: taskdef.json
      AppSpecTemplatePath: appspec.yaml
      TaskDefinitionTemplateArtifact: SourceArtifact
    OutputArtifacts: []
    InputArtifacts:
      - Name: SourceArtifact
      - Name: MyImage
    Region: us-west-2
    Namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "Name": "Deploy",
    "Actions": [
        {
            "Name": "Deploy",
            "ActionTypeId": {
                "Category": "Deploy",
                "Owner": "AWS",
                "Provider": "CodeDeployToECS",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "AppSpecTemplateArtifact": "SourceArtifact",
                "ApplicationName": "ecs-cd-application",
                "DeploymentGroupName": "ecs-deployment-group",
                "Image1ArtifactName": "MyImage",
                "Image1ContainerName": "IMAGE1_NAME",
                "TaskDefinitionTemplatePath": "taskdef.json",
                "AppSpecTemplatePath": "appspec.yaml",
                "TaskDefinitionTemplateArtifact": "SourceArtifact"
            },
            "OutputArtifacts": [],
            "InputArtifacts": [
                {
                    "Name": "SourceArtifact"
                },
                {
                    "Name": "MyImage"
                }
            ],
            "Region": "us-west-2",
            "Namespace": "DeployVariables"
        }
    ]
}
```

------

## Consulte também
<a name="action-reference-ECSbluegreen-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [Tutorial: Crie um pipeline com uma fonte e ECS-to-CodeDeploy implantação do Amazon ECR](tutorials-ecs-ecr-codedeploy.md)— Este tutorial orienta você na criação dos recursos CodeDeploy e dos recursos do Amazon ECS necessários para uma blue/green implantação. O tutorial mostra como enviar por push uma imagem do Docker para o Amazon ECR e criar uma definição de tarefa do Amazon ECS que lista o nome da imagem do Docker, o nome do contêiner, o nome do serviço do Amazon ECS e a configuração do balanceador de carga. Em seguida, o tutorial orienta você na criação do AppSpec arquivo e do pipeline para sua implantação.
**nota**  
Este tópico e tutorial descrevem a ação CodeDeploy/ECS azul/verde para. CodePipeline Para obter informações sobre as ações padrão do ECS em CodePipeline, consulte [Tutorial: Implantação contínua com CodePipeline](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cd-pipeline.html).
+ *AWS CodeDeploy Guia do usuário* — Para obter informações sobre como usar o balanceador de carga, o ouvinte de produção, os grupos-alvo e seu aplicativo Amazon ECS em uma blue/green implantação, consulte [Tutorial: Implantar um serviço do Amazon](https://docs.aws.amazon.com/codedeploy/latest/userguide/tutorial-ecs-deployment.html) ECS. Essas informações de referência no *Guia do AWS CodeDeploy usuário* fornecem uma visão geral das implantações azul/verde com o Amazon ECS e. AWS CodeDeploy
+ *Guia do desenvolvedor do Amazon Elastic Container Service*: para obter informações sobre como trabalhar com imagens e contêineres do Docker, serviços e clusters do ECS e conjuntos de tarefas do ECS, consulte [O que é o Amazon ECS?](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/)

# Referência da ação de implantação do Amazon Elastic Container Service
<a name="action-reference-ECS"></a>

Você pode usar uma ação do Amazon ECS para implantar um serviço e um conjunto de tarefas do Amazon ECS. Um serviço do Amazon ECS é uma aplicação de contêiner implantada em um cluster do Amazon ECS. Um cluster do Amazon ECS é um conjunto de instâncias que hospedam sua aplicação de contêiner na nuvem. A implantação exige uma definição de tarefa que você cria no Amazon ECS e um arquivo de definições de imagem que CodePipeline usa para implantar a imagem.

**Importante**  
A ação de implantação padrão do Amazon ECS para CodePipeline cria sua própria revisão da definição da tarefa com base na revisão usada pelo serviço Amazon ECS. Se você criar novas revisões para a definição de tarefa sem atualizar o serviço Amazon ECS, a ação de implantação ignorará essas revisões.

Antes de criar seu pipeline, você já deve ter criado os recursos do Amazon ECS, marcado e armazenado a imagem em seu repositório de imagens e carregado o BuildSpec arquivo em seu repositório de arquivos.

**nota**  
Este tópico de referência descreve a ação de implantação padrão do Amazon ECS para CodePipeline. Para obter informações de referência sobre as ações de implantação CodeDeploy azul/verde do Amazon ECS em CodePipeline, consulte. [Amazon Elastic Container Service e referência de ação de implantação CodeDeploy azul-verde](action-reference-ECSbluegreen.md)

**Topics**
+ [Tipo de ação](#action-reference-ECS-type)
+ [Parâmetros de configuração](#action-reference-ECS-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-ECS-input)
+ [Artefatos de saída](#action-reference-ECS-output)
+ [Permissões do perfil de serviço: ação padrão do Amazon ECS](#edit-role-ecs)
+ [Declaração de ação](#action-reference-ECS-example)
+ [Consulte também](#action-reference-ECS-links)

## Tipo de ação
<a name="action-reference-ECS-type"></a>
+ Categoria: `Deploy`
+ Proprietário: `AWS`
+ Fornecedor: `ECS`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-ECS-config"></a>

**ClusterName**  
Obrigatório: Sim  
O cluster do Amazon ECS no Amazon ECS.

**ServiceName**  
Obrigatório: Sim  
O serviço Amazon ECS que você criou no Amazon ECS.

**FileName**  
Obrigatório: não  
O nome do arquivo de definições de imagem, o arquivo JSON que descreve o nome de contêiner, a imagem e a tag do serviço. Você usa esse arquivo para implantações padrão do ECS. Para obter mais informações, consulte [Input artifacts (Artefatos de entrada)](#action-reference-ECS-input) e [Arquivo imagedefinitions.json para ações de implantação padrão do Amazon ECS](file-reference.md#pipelines-create-image-definitions).

**DeploymentTimeout**  
Obrigatório: não  
O tempo limite da ação de implantação do Amazon ECS em minutos. O tempo limite é configurável até o tempo limite padrão máximo para essa ação. Por exemplo:   

```
"DeploymentTimeout": "15"
```

## Input artifacts (Artefatos de entrada)
<a name="action-reference-ECS-input"></a>
+ **Número de artefatos:** `1`
+ **Descrição:** a ação procura um arquivo `imagedefinitions.json` no repositório de arquivos de origem do pipeline. Um documento de definições de imagem é um arquivo JSON que descreve o nome do contêiner do Amazon ECS, a imagem e a tag. CodePipeline usa o arquivo para recuperar a imagem do seu repositório de imagens, como o Amazon ECR. Você também pode adicionar manualmente um arquivo `imagedefinitions.json` para um pipeline em que a ação não seja automatizada. Para mais informações sobre o arquivo `imagedefinitions.json`, consulte [Arquivo imagedefinitions.json para ações de implantação padrão do Amazon ECS](file-reference.md#pipelines-create-image-definitions).

  A ação requer uma imagem existente que já tenha sido enviada por push para o repositório de imagens. Como o mapeamento da imagem é fornecido pelo arquivo `imagedefinitions.json`, a ação não exige que a fonte do Amazon ECR seja incluída como uma ação de origem no pipeline.

## Artefatos de saída
<a name="action-reference-ECS-output"></a>
+ **Número de artefatos:** `0` 
+ **Descrição:** os artefatos de saída não se aplicam a esse tipo de ação.

## Permissões do perfil de serviço: ação padrão do Amazon ECS
<a name="edit-role-ecs"></a>

Para o Amazon ECR, estas são as permissões mínimas necessárias para criar pipelines com uma ação de implantação do Amazon ECS.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "TaskDefinitionPermissions",
            "Effect": "Allow",
            "Action": [
                "ecs:DescribeTaskDefinition",
                "ecs:RegisterTaskDefinition"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "ECSServicePermissions",
            "Effect": "Allow",
            "Action": [
                "ecs:DescribeServices",
                "ecs:UpdateService"
            ],
            "Resource": [
                "arn:aws:ecs:*:111122223333:service/[[clusters]]/*"
            ]
        },
        {
            "Sid": "ECSTagResource",
            "Effect": "Allow",
            "Action": [
                "ecs:TagResource"
            ],
            "Resource": [
                "arn:aws:ecs:*:111122223333:task-definition/[[taskDefinitions]]:*"
            ],
            "Condition": {
                "StringEquals": {
                    "ecs:CreateAction": [
                        "RegisterTaskDefinition"
                    ]
                }
            }
        },
        {
            "Sid": "IamPassRolePermissions",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::111122223333:role/[[passRoles]]"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "ecs.amazonaws.com",
                        "ecs-tasks.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

Você pode aceitar o uso da autorização para atribuição de tags no Amazon ECS. Ao aceitar, você deve conceder as seguintes permissões: `ecs:TagResource`. Para obter mais informações sobre como aceitar e determinar se a permissão será necessária e a autorização de tag será aplicada, consulte o [Cronograma de autorização para atribuição de tags](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources-timeline) no Guia do desenvolvedor do Amazon Elastic Container Service.

Você deve adicionar as permissões `iam:PassRole` para usar os perfis do IAM para tarefas. Para obter mais informações, consulte [Perfil do IAM para execução de tarefas do Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) e [Perfis do IAM para tarefas](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html). Use o seguinte texto de política:

## Declaração de ação
<a name="action-reference-ECS-example"></a>

------
#### [ YAML ]

```
Name: DeployECS
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Provider: ECS
  Version: '1'
RunOrder: 2
Configuration:
  ClusterName: my-ecs-cluster
  ServiceName: sample-app-service
  FileName: imagedefinitions.json
  DeploymentTimeout: '15'
OutputArtifacts: []
InputArtifacts:
  - Name: my-image
```

------
#### [ JSON ]

```
{
    "Name": "DeployECS",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Provider": "ECS",
        "Version": "1"
    },
    "RunOrder": 2,
    "Configuration": {
        "ClusterName": "my-ecs-cluster",
        "ServiceName": "sample-app-service",
        "FileName": "imagedefinitions.json",
        "DeploymentTimeout": "15"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "my-image"
        }
    ]
},
```

------

## Consulte também
<a name="action-reference-ECS-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ Veja [Tutorial: Crie e envie uma imagem do Docker para o Amazon ECR com CodePipeline (tipo V2)](tutorials-ecr-build-publish.md) um tutorial que mostra como usar a ação ECRBuildand Publish para enviar uma imagem e, em seguida, usar a ação padrão do ECS para implantá-la no Amazon ECS.
+ [Tutorial: Implantação contínua com CodePipeline](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cd-pipeline.html) — Este tutorial mostra como criar um Dockerfile que você armazena em um repositório de arquivos de origem, como. CodeCommit A seguir, o tutorial mostra como incorporar um CodeBuild BuildSpec arquivo que cria e envia sua imagem do Docker para o Amazon ECR e cria seu arquivo imagedefinitions.json. Por fim, você cria uma definição de serviço e tarefa do Amazon ECS e, em seguida, cria seu pipeline com uma ação de implantação do Amazon ECS.
**nota**  
Este tópico e tutorial descrevem a ação de implantação padrão do Amazon ECS para CodePipeline. Para obter informações sobre as ações de implantação do Amazon ECS para CodeDeploy azul/verde em CodePipeline, consulte. [Tutorial: Crie um pipeline com uma fonte e ECS-to-CodeDeploy implantação do Amazon ECR](tutorials-ecs-ecr-codedeploy.md)
+ *Guia do desenvolvedor do Amazon Elastic Container Service:* para obter informações sobre como trabalhar com imagens e contêineres do Docker, serviços e clusters do Amazon ECS e conjuntos de tarefas do ECS, consulte [O que é o Amazon ECS?](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/)

# Referência da ação de implantação `EKS` do Amazon Elastic Container Service
<a name="action-reference-EKS"></a>

Você pode usar a ação `EKSDeploy` para implantar um serviço do Amazon EKS. A implantação requer um arquivo de manifesto do Kubernetes CodePipeline usado para implantar a imagem.

Antes de criar o pipeline, você também já deve ter criado os recursos do Amazon EKS e armazenado a imagem no repositório de imagens. Você também pode fornecer as informações do VPC para o cluster.

**Importante**  
Essa ação usa CodeBuild computação CodePipeline gerenciada para executar comandos em um ambiente de compilação. A execução da ação Comandos incorrerá em cobranças separadas no AWS CodeBuild.

**nota**  
A ação de implantação `EKS` está disponível somente para pipelines do tipo V2.

A ação do EKS oferece suporte a clusters do EKS públicos e privados. Os clusters privados são do tipo recomendado pelo EKS. No entanto, ambos os tipos são compatíveis.

A ação do EKS é compatível com ações entre contas. Para adicionar uma ação do EKS entre contas, adicione `actionRoleArn` da conta de destino na declaração de ação.

**Topics**
+ [Tipo de ação](#action-reference-EKS-type)
+ [Parâmetros de configuração](#action-reference-EKS-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-EKS-input)
+ [Artefatos de saída](#action-reference-EKS-output)
+ [Variáveis de ambiente](#action-reference-EKS-env-variables)
+ [Variáveis de saída](#action-reference-EKS-output-vars)
+ [Permissões de política de perfil de serviço](#action-reference-EKS-service-role)
+ [Declaração de ação](#action-reference-EKS-example)
+ [Consulte também](#action-reference-EKS-links)

## Tipo de ação
<a name="action-reference-EKS-type"></a>
+ Categoria: `Deploy`
+ Proprietário: `AWS`
+ Fornecedor: `EKS`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-EKS-config"></a>

**ClusterName**  
Obrigatório: Sim  
O cluster do Amazon EKS no Amazon EKS.

**Opções no Helm**  
Estas serão as opções disponíveis quando o **Helm** for a ferramenta de implantação selecionada.    
**HelmReleaseName **  
Obrigatório: sim (obrigatório apenas para o tipo **Helm**)  
O nome da versão da implantação.  
**HelmChartLocation **  
Obrigatório: sim (obrigatório apenas para o tipo **Helm**)  
A localização do gráfico da implantação.  
**HelmValuesFiles **  
Obrigatório: não (opcional apenas para o tipo **Helm**)  
Para substituir os arquivos de valores do Helm, insira os arquivos de valores do Helm separados por vírgula no local do chart do Helm.

**Opções em Kubectl**  
Estas serão as opções disponíveis quando o **Kubectl** for a ferramenta de implantação selecionada.    
**ManifestFiles**  
Obrigatório: sim (obrigatório apenas para o tipo **Kubectl**)  
O nome do arquivo de manifesto, o arquivo de texto que descreve o nome de contêiner, a imagem e a tag do serviço. Você usa esse arquivo para parametrizar o URI da imagem e outras informações. Você pode usar uma variável de ambiente com essa finalidade.  
 Você armazena esse arquivo no repositório de origem do pipeline.

**Namespace**  
Obrigatório: não  
O namespace kubernetes a ser usado em comandos `kubectl` ou `helm`.

**Sub-redes**  
Obrigatório: não  
As sub-redes da VPC do cluster. Elas fazem parte da mesma VPC conectada ao cluster. Você também pode fornecer sub-redes ainda não conectadas ao cluster e especificá-las aqui.

**SecurityGroupIds**  
Obrigatório: não  
Os grupos de segurança da VPC do cluster. Elas fazem parte da mesma VPC conectada ao cluster. Você também pode fornecer grupos de segurança ainda não conectados ao cluster e especificá-los aqui.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-EKS-input"></a>
+ **Número de artefatos:** `1`
+ **Descrição:** a ação procura o arquivo de manifesto do Kubernetes ou o chart do Helm no repositório de arquivos de origem do pipeline. Se quiser usar gráficos helm no formato.tgz armazenados em um bucket do S3, você pode fazer isso configurando o Bucket/Key S3 como sua ação de origem. Por exemplo, a chave do objeto fornecida seria `my-chart-0.1.0.tgz`.

## Artefatos de saída
<a name="action-reference-EKS-output"></a>
+ **Número de artefatos:** `0` 
+ **Descrição:** os artefatos de saída não se aplicam a esse tipo de ação.

## Variáveis de ambiente
<a name="action-reference-EKS-env-variables"></a>

Usado para substituir variáveis como repositórios de imagens ou tags de imagem em arquivos de manifesto ou arquivos de valores do chart do Helm.

**Chave**  
A chave em um par de variáveis do ambiente chave-valor, como `$IMAGE_TAG`.

**Valor**  
O valor do par chave-valor, como `v1.0`. O valor pode ser parametrizado com variáveis de saída a partir de ações ou variáveis do pipeline. Por exemplo, o pipeline pode ter uma ECRBuild AndPublish ação que cria uma imagem ECR com`${codepipeline.PipelineExecutionId}`, e a ação EKS pode usar essa imagem usando `${codepipeline.PipelineExecutionId}` como valor da variável de ambiente. 

## Variáveis de saída
<a name="action-reference-EKS-output-vars"></a>

**EKSClusterNome**  
O cluster do Amazon EKS no Amazon EKS.

## Permissões de política de perfil de serviço
<a name="action-reference-EKS-service-role"></a>

Para executar essa ação, as permissões a seguir devem estar disponíveis na política do perfil de serviço do pipeline.
+ **Ações do EC2:** quando a ação CodePipeline é executada, as permissões da instância do EC2 são necessárias. Não se trata da mesma função da instância do EC2 necessária quando você cria o cluster do EKS.

  Se estiver usando um perfil de serviço existente, para usar essa ação, você precisará adicionar as permissões a seguir para o perfil de serviço.
  + ec2: CreateNetworkInterface
  + ec2: DescribeDhcpOptions
  + ec2: DescribeNetworkInterfaces
  + ec2: DeleteNetworkInterface
  + ec2: DescribeSubnets
  + ec2: DescribeSecurityGroups
  + ec2: DescribeVpcs
+ **Ações do EKS:** ao CodePipeline executar a ação, as permissões do cluster EKS são necessárias. Não se trata da mesma função do cluster do EKS do IAM necessária quando você cria o cluster do EKS.

  Se estiver usando um perfil de serviço existente, para usar essa ação, você precisará adicionar a permissão a seguir para o perfil de serviço.
  + ex: DescribeCluster
+ **Ações de fluxo de log:** ao CodePipeline executar a ação, CodePipeline cria um grupo de registros usando o nome do pipeline da seguinte forma. Isso permite reduzir as permissões para os recursos de log usando o nome do pipeline.

  ```
  /aws/codepipeline/MyPipelineName
  ```

  Se estiver usando um perfil de serviço existente, para usar essa ação, você precisará adicionar as permissões a seguir para o perfil de serviço.
  + troncos: CreateLogGroup
  + troncos: CreateLogStream
  + troncos: PutLogEvents

Na declaração da política do perfil de serviço, reduza o escopo das permissões até o nível de recurso conforme mostrado no exemplo a seguir.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "eks:DescribeCluster"
            ],
            "Resource": "arn:aws:eks:*:111122223333:cluster/YOUR_CLUSTER_NAME"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeVpcs",
                "ec2:DescribeRouteTables"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:CreateLogGroup",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:111122223333:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME",
                "arn:aws:logs:*:111122223333:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME:*"
            ]
        }
    ]
}
```

------

Para visualizar logs no console usando a página de diálogo de detalhes da ação, a permissão para visualizar logs deve ser adicionada ao perfil do console. Para ter mais informações, consulte o exemplo de política de permissões do console em [Permissões necessárias para visualizar registros computacionais no console](security-iam-permissions-console-logs.md).

### Adição do perfil de serviço como uma entrada de acesso para o cluster
<a name="action-reference-EKS-service-role-access"></a>

Depois que as permissões estiverem disponíveis na política de função de serviço do seu pipeline, você configura suas permissões de cluster adicionando a função de CodePipeline serviço como uma entrada de acesso para seu cluster.

Você também pode usar uma função de ação que tenha as permissões atualizadas. Para obter mais informações, consulte o exemplo do tutorial em [Etapa 4: criar uma entrada de acesso para a função CodePipeline de serviço](tutorials-eks-deploy.md#tutorials-eks-deploy-access-entry).

## Declaração de ação
<a name="action-reference-EKS-example"></a>

------
#### [ YAML ]

```
Name: DeployEKS
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Provider: EKS
  Version: '1'
RunOrder: 2
Configuration:
  ClusterName: my-eks-cluster
  ManifestFiles: ManifestFile.json
OutputArtifacts: []
InputArtifacts:
  - Name: SourceArtifact
```

------
#### [ JSON ]

```
{
    "Name": "DeployECS",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Provider": "EKS",
        "Version": "1"
    },
    "RunOrder": 2,
    "Configuration": {
        "ClusterName": "my-eks-cluster",
        "ManifestFiles": "ManifestFile.json"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "SourceArtifact"
        }
    ]
},
```

------

## Consulte também
<a name="action-reference-EKS-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ Consulte [Tutorial: implante no Amazon EKS com CodePipeline](tutorials-eks-deploy.md) acessar para um tutorial que demonstre como criar um cluster do EKS e um arquivo de manifesto do Kubernetes para adicionar a ação ao pipeline.

# Referência da ação de implantação do AWS Lambda
<a name="action-reference-LambdaDeploy"></a>

Você usa uma ação de AWS Lambda implantação para gerenciar a implantação do código do aplicativo para sua implantação sem servidor. Você pode implantar uma função e usar estratégias de implantação para implantação de tráfego assim:
+ Implantações canário e linear para mudança de tráfego
+ Implantações todas de uma vez

**nota**  
Essa ação é compatível somente para pipelines tipo V2.

**Topics**
+ [Tipo de ação](#action-reference-LambdaDeploy-type)
+ [Parâmetros de configuração](#action-reference-LambdaDeploy-parameters)
+ [Input artifacts (Artefatos de entrada)](#action-reference-LambdaDeploy-input)
+ [Artefatos de saída](#action-reference-LambdaDeploy-output)
+ [Variáveis de saída](#action-reference-LambdaDeploy-output-variables)
+ [Permissões de política do perfil de serviço para a ação de implantação do Lambda](#action-reference-LambdaDeploy-permissions-action)
+ [Declaração de ação](#action-reference-LambdaDeploy-example)
+ [Consulte também](#action-reference-LambdaDeploy-links)

## Tipo de ação
<a name="action-reference-LambdaDeploy-type"></a>
+ Categoria: `Deploy`
+ Proprietário: `AWS`
+ Fornecedor: `Lambda`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-LambdaDeploy-parameters"></a>

**FunctionName**  
Obrigatório: Sim  
O nome da função criado por você no Lambda, como `MyLambdaFunction`.  
Você já deve ter criado uma versão.

**FunctionAlias**  
Obrigatório: não  
O alias da função que você criou no Lambda e é a função a ser implantada, como `live`. O alias deverá existir e ter uma versão por trás quando a execução da ação for iniciada. (Será a versão de destino da reversão.)  
Se não for fornecida, a ação vai implantar o artefato de origem em `$LATEST` e criar uma nova versão. Nesse caso de uso, as opções da estratégia de implantação e da versão de destino não estão disponíveis. 

**PublishedTargetVersion**  
Obrigatório: não  
A versão desejada da Função Lambda para ser implantada. FunctionAlias Podem ser variáveis do pipeline ou do nível de ação, como `#{variables.lambdaTargetVersion}`. A versão deverá ser publicada quando a execução da ação for iniciada.  
Obrigatório se nenhum artefato de entrada for fornecido.

**DeployStrategy**  
Obrigatório: não (o padrão é `AllAtOnce`)  
  
Determina a taxa que a ação de implantação do Lambda adota para transferir o tráfego da versão original da função do Lambda para a nova versão. **FunctionAlias** As estratégias de implantação disponíveis são canário ou linear. Formatos aceitos:  
+ `AllAtOnce` - 

  Desloca todo o tráfego para as funções do Lambda atualizadas de uma única vez.

   Se não for especificado, o padrão é`AllAtOnce`)
+ `Canary10Percent5Minutes`: muda 10 por cento do tráfego no primeiro incremento. Os 90 por cento restantes serão implantados cinco minutos depois.

  Os valores de porcentagem e minutos podem ser alterados.
+ `Linear10PercentEvery1Minute`: muda 10 por cento do tráfego a cada minuto até que todo o tráfego seja deslocado.

  Os valores de porcentagem e minutos podem ser alterados.
As seguintes considerações se aplicam para este campo:  
+ O tempo de espera total máximo é de 2 dias.
+ Disponível somente quando **FunctionAlias**fornecido.


**Alarmes**  
Obrigatório: não  
Uma lista separada por vírgulas dos nomes de alarme configurados para a implantação do Lambda. No máximo, dez alarmes podem ser adicionados. A ação falha quando alarmes monitorados vão para o estado ALARME.

A imagem a seguir mostra um exemplo da página Editar da ação.

![\[A página Editar ação de um novo pipeline com a ação de implantação do Lambda.\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/lambdadeploy-edit-screen.png)


## Input artifacts (Artefatos de entrada)
<a name="action-reference-LambdaDeploy-input"></a>
+ **Número de artefatos:** `1`
+ **Descrição:** os arquivos fornecidos, se houver, para oferecer suporte às ações de script durante a implantação.

## Artefatos de saída
<a name="action-reference-LambdaDeploy-output"></a>
+ **Número de artefatos:** `0` 
+ **Descrição:** os artefatos de saída não se aplicam a esse tipo de ação.

## Variáveis de saída
<a name="action-reference-LambdaDeploy-output-variables"></a>

Quando configurada, essa ação produz variáveis que podem ser referenciadas pela configuração de ação de uma ação downstream no pipeline. Esta ação produz variáveis que podem ser visualizadas como variáveis de saída, mesmo que a ação não tenha um namespace. Configure uma ação com um namespace a fim de disponibilizar as variáveis para a configuração de ações downstream. 

Para obter mais informações, consulte [Referência de variáveis](reference-variables.md).

**FunctionVersion**  
A nova versão da função do Lambda que foi implantada.

## Permissões de política do perfil de serviço para a ação de implantação do Lambda
<a name="action-reference-LambdaDeploy-permissions-action"></a>

Quando CodePipeline executa a ação, a função de CodePipeline serviço exige as seguintes permissões, com escopo adequado para acesso com menos privilégios.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "StatementForLambda",
            "Effect": "Allow",
            "Action": [
                "lambda:GetAlias",
                "lambda:GetFunctionConfiguration",
                "lambda:GetProvisionedConcurrencyConfig",
                "lambda:PublishVersion",
                "lambda:UpdateAlias",
                "lambda:UpdateFunctionCode"
            ],
            "Resource": [
                "arn:aws:lambda:us-east-1:111122223333:function:{{FunctionName}}",
                "arn:aws:lambda:us-east-1:111122223333:function:{{FunctionName}}:*"
            ]
        },
        {
            "Sid": "StatementForCloudWatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:DescribeAlarms"
            ],
            "Resource": [
                "arn:aws:cloudwatch:us-east-1:111122223333:alarm:{{AlarmNames}}"
            ]
        },
        {
            "Sid": "StatementForLogs1",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:111122223333:log-group:/us-east-1/codepipeline/{{pipelineName}}",
                "arn:aws:logs:us-east-1:111122223333:log-group:/us-east-1/codepipeline/{{pipelineName}}:*"
            ]
        },
        {
            "Sid": "StatementForLogs2",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:111122223333:log-group:/us-east-1/codepipeline/{{pipelineName}}:log-stream:*"
            ]
        }
    ]
}
```

------

## Declaração de ação
<a name="action-reference-LambdaDeploy-example"></a>

------
#### [ YAML ]

```
name: Deploy
actionTypeId:
  category: Deploy
  owner: AWS
  provider: Lambda
  version: '1'
runOrder: 1
configuration:
  DeployStrategy: Canary10Percent5Minutes
  FunctionAlias: aliasV1
  FunctionName: MyLambdaFunction
outputArtifacts: []
inputArtifacts:
- name: SourceArtifact
region: us-east-1
namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "name": "Deploy",
    "actionTypeId": {
        "category": "Deploy",
        "owner": "AWS",
        "provider": "Lambda",
        "version": "1"
    },
    "runOrder": 1,
    "configuration": {
        "DeployStrategy": "Canary10Percent5Minutes",
        "FunctionAlias": "aliasV1",
        "FunctionName": "MyLambdaFunction"
    },
    "outputArtifacts": [],
    "inputArtifacts": [
        {
            "name": "SourceArtifact"
        }
    ],
    "region": "us-east-1",
    "namespace": "DeployVariables"
},
```

------

## Consulte também
<a name="action-reference-LambdaDeploy-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+  [Tutorial: implantações da função Lambda com CodePipeline](tutorials-lambda-deploy.md): este tutorial apresenta a criação de uma função do Lambda de amostra em que você criará um alias e uma versão, adicionar a função do Lambda compactada ao local de origem e executar a ação do Lambda no pipeline.

# Referência da ação de implantação do Amazon S3
<a name="action-reference-S3Deploy"></a>

Você usa uma ação de implantação do Amazon S3 para implantar arquivos em um bucket do Amazon S3 para hospedagem ou arquivamento de sites estáticos. Você pode especificar se deseja extrair os arquivos de implantação antes de fazer upload para seu bucket.

**nota**  
Este tópico de referência descreve a ação de implantação do Amazon S3 em CodePipeline que a plataforma de implantação é um bucket do Amazon S3 configurado para hospedagem. Para obter informações de referência sobre a ação de origem do Amazon S3 em CodePipeline, consulte. [Referência da ação de origem do Amazon S3](action-reference-S3.md)

**Topics**
+ [Tipo de ação](#action-reference-S3Deploy-type)
+ [Parâmetros de configuração](#action-reference-S3Deploy-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-S3Deploy-input)
+ [Artefatos de saída](#action-reference-S3Deploy-output)
+ [Permissões do perfil de serviço: ação de implantação do S3](#edit-role-s3deploy)
+ [Exemplo de configuração da ação](#action-reference-S3Deploy-example)
+ [Consulte também](#action-reference-S3Deploy-links)

## Tipo de ação
<a name="action-reference-S3Deploy-type"></a>
+ Categoria: `Deploy`
+ Proprietário: `AWS`
+ Fornecedor: `S3`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-S3Deploy-config"></a>

**BucketName**  
Obrigatório: Sim  
O nome do bucket do Amazon S3 em que os arquivos serão implantados.

**Extract**  
Obrigatório: Sim  
Se for true, especifica que os arquivos serão extraídos antes do upload. Caso contrário, os arquivos da aplicação permanecerão compactados para upload, como acontece no caso de um site estático hospedado. Se for false, `ObjectKey` será obrigatório.

**ObjectKey**  
Condicional. Obrigatório se `Extract` = falso  
O nome da chave de objeto do Amazon S3 que identifica exclusivamente o objeto no bucket do S3.

**KMSEncryptionKEYarn**  
Obrigatório: não  
O ARN da chave de AWS KMS criptografia do bucket do host. O parâmetro `KMSEncryptionKeyARN` criptografa os artefatos carregados com a AWS KMS key fornecida. Para uma chave do KMS, você pode usar o ID da chave, o ARN da chave ou o ARN do alias.  
Os aliases são reconhecidos apenas na conta que criou a chave do KMS. Para ações entre contas, você só pode usar o ID ou o ARN da chave para identificar a chave. As ações entre contas envolvem o uso do perfil da outra conta (AccountB), portanto, a especificação do ID da chave usará a chave da outra conta (AccountB).
CodePipeline só oferece suporte a chaves KMS simétricas. Não use uma chave assimétrica do KMS para criptografar os dados no bucket do S3.

**CannedACL**  
Obrigatório: não  
O parâmetro `CannedACL` aplica a [ACL pré-configurada](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) especificada aos objetos implantados no Amazon S3. Isso substitui todas as ACLs existentes que foram aplicadas ao objeto.

**CacheControl**  
Obrigatório: não  
O `CacheControl` parâmetro controla o comportamento de armazenamento em cache requests/responses para objetos no bucket. Para obter uma lista de valores válidos, consulte o campo de cabeçalho [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) para operações HTTP. Para inserir vários valores em `CacheControl`, use uma vírgula entre cada valor. É possível adicionar um espaço após cada vírgula (opcional), conforme mostrado neste exemplo para a CLI:  

```
"CacheControl": "public, max-age=0, no-transform"
```

## Input artifacts (Artefatos de entrada)
<a name="action-reference-S3Deploy-input"></a>
+ **Número de artefatos:** `1`
+ **Descrição:** Os arquivos para implantação ou arquivamento são obtidos do repositório de origem, compactados e enviados por. CodePipeline

## Artefatos de saída
<a name="action-reference-S3Deploy-output"></a>
+ **Número de artefatos:** `0` 
+ **Descrição:** os artefatos de saída não se aplicam a esse tipo de ação.

## Permissões do perfil de serviço: ação de implantação do S3
<a name="edit-role-s3deploy"></a>

Para suporte à ação de implantação do S3, adicione o seguinte à declaração da política:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:PutObjectAcl",
        "s3:PutObjectVersionAcl",
        "s3:GetBucketVersioning",
        "s3:GetBucketAcl",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::[[s3DeployBuckets]]",
        "arn:aws:s3:::[[s3DeployBuckets]]/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "111122223333"
        }
      }
    }
  ]
}
```

------

Para respaldar a ação de implantação do S3, se os objetos do S3 tiverem tags, você também deverá adicionar as seguintes permissões à declaração da política:

```
"s3:GetObjectTagging",
"s3:GetObjectVersionTagging",
"s3:PutObjectTagging"
```

## Exemplo de configuração da ação
<a name="action-reference-S3Deploy-example"></a>

O exemplo a seguir mostra exemplos da configuração da ação.

### Exemplo de configuração quando `Extract` é definido como `false`
<a name="action-reference-S3Deploy-extractfalse"></a>

O exemplo a seguir mostra a configuração de ação padrão quando a ação é criada com o campo `Extract` definido como `false`.

------
#### [ YAML ]

```
Name: Deploy
Actions:
  - Name: Deploy
    ActionTypeId:
      Category: Deploy
      Owner: AWS
      Provider: S3
      Version: '1'
    RunOrder: 1
    Configuration:
      BucketName: website-bucket
      Extract: 'false'
      ObjectKey: MyWebsite
    OutputArtifacts: []
    InputArtifacts:
      - Name: SourceArtifact
    Region: us-west-2
    Namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "Name": "Deploy",
    "Actions": [
        {
            "Name": "Deploy",
            "ActionTypeId": {
                "Category": "Deploy",
                "Owner": "AWS",
                "Provider": "S3",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "BucketName": "website-bucket",
                "Extract": "false",
                "ObjectKey": "MyWebsite"
                },
            "OutputArtifacts": [],
            "InputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "Region": "us-west-2",
            "Namespace": "DeployVariables"
        }
    ]
},
```

------

### Exemplo de configuração quando `Extract` é definido como `true`
<a name="action-reference-S3Deploy-extracttrue"></a>

O exemplo a seguir mostra a configuração de ação padrão quando a ação é criada com o campo `Extract` definido como `true`.

------
#### [ YAML ]

```
Name: Deploy
Actions:
  - Name: Deploy
    ActionTypeId:
      Category: Deploy
      Owner: AWS
      Provider: S3
      Version: '1'
    RunOrder: 1
    Configuration:
      BucketName: website-bucket
      Extract: 'true'
    OutputArtifacts: []
    InputArtifacts:
      - Name: SourceArtifact
    Region: us-west-2
    Namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "Name": "Deploy",
    "Actions": [
        {
            "Name": "Deploy",
            "ActionTypeId": {
                "Category": "Deploy",
                "Owner": "AWS",
                "Provider": "S3",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "BucketName": "website-bucket",
                "Extract": "true"
                },
            "OutputArtifacts": [],
            "InputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "Region": "us-west-2",
            "Namespace": "DeployVariables"
        }
    ]
},
```

------

## Consulte também
<a name="action-reference-S3Deploy-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [Tutorial: Criar um pipeline que usa o Amazon S3 como um provedor de implantação](tutorials-s3deploy.md): este tutorial mostra dois exemplos de criação de um pipeline com uma ação de implantação do S3. Você baixa arquivos de amostra, carrega os arquivos no seu CodeCommit repositório, cria seu bucket S3 e configura seu bucket para hospedagem. Em seguida, você usa o CodePipeline console para criar seu pipeline e especificar uma configuração de implantação do Amazon S3.
+ [Referência da ação de origem do Amazon S3](action-reference-S3.md)— Essa referência de ação fornece informações de referência e exemplos de ações de origem do Amazon S3 em. CodePipeline

# Referência da ação de origem do Amazon S3
<a name="action-reference-S3"></a>

Aciona o pipeline quando um novo objeto é carregado no bucket e na chave do objeto.

**nota**  
Este tópico de referência descreve a ação de origem do Amazon S3 para CodePipeline onde o local de origem é um bucket do Amazon S3 configurado para versionamento. Para obter informações de referência sobre a ação de implantação do Amazon S3 em CodePipeline, consulte. [Referência da ação de implantação do Amazon S3](action-reference-S3Deploy.md)

Você pode criar um bucket do Amazon S3 para usar como local de origem dos arquivos da sua aplicação.

**nota**  
Ao criar seu bucket de origem, certifique-se de ativar o versionamento no bucket. Para usar um bucket existente do Amazon S3, consulte [Usar o versionamento](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) para habilitar o versionamento em um bucket existente.

Se você usa o console para criar ou editar seu pipeline, CodePipeline cria uma EventBridge regra que inicia seu pipeline quando ocorre uma alteração no bucket de origem do S3.

**nota**  
Para Amazon ECR, Amazon S3 CodeCommit ou fontes, você também pode criar uma substituição de origem usando a entrada de transformação de entrada para usar `revisionValue` o EventBridge in para seu evento de pipeline, onde `revisionValue` o é derivado da variável de evento de origem para sua chave de objeto, confirmação ou ID de imagem. Para saber mais, consulte a etapa opcional da entrada da transformação de entrada incluída nos procedimentos em [Recursos e ações de origem do Amazon ECR EventBridge](create-cwe-ecr-source.md), [Conexão a ações de origem do Amazon S3 com uma fonte habilitada para eventos](create-S3-source-events.md) ou [CodeCommit ações de origem e EventBridge](triggering.md).

Você já deve ter criado um bucket de origem do Amazon S3 e carregado os arquivos de origem como um único arquivo ZIP antes de conectar o pipeline por meio de uma ação do Amazon S3.

**nota**  
Quando o Amazon S3 é o provedor de origem do pipeline, é possível compactar o(s) arquivo(s) de origem em um único .zip e fazer upload do .zip para o bucket de origem. Também é possível fazer upload de um único arquivo descompactado; no entanto, ocorrerão falha nas ações downstream que aguardam um arquivo .zip.

**Topics**
+ [Tipo de ação](#action-reference-S3-type)
+ [Parâmetros de configuração](#action-reference-S3-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-S3-input)
+ [Artefatos de saída](#action-reference-S3-output)
+ [Variáveis de saída](#action-reference-S3-variables)
+ [Permissões do perfil de serviço: ação de origem do S3](#edit-role-s3source)
+ [Declaração de ação](#action-reference-S3-example)
+ [Consulte também](#action-reference-S3-links)

## Tipo de ação
<a name="action-reference-S3-type"></a>
+ Categoria: `Source`
+ Proprietário: `AWS`
+ Fornecedor: `S3`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-S3-config"></a>

**S3 Bucket**  
Obrigatório: Sim  
O nome do bucket do Amazon S3 em que as alterações na origem devem ser detectadas.

**S3 ObjectKey**  
Obrigatório: Sim  
O nome da chave de objeto do Amazon S3 em que as alterações na origem devem ser detectadas.

**AllowOverrideForS3ObjectKey**  
Obrigatório: não  
`AllowOverrideForS3ObjectKey` controla se as substituições de origem de `StartPipelineExecution` podem substituir a `S3ObjectKey` que já está configurada na ação de origem. Para ter mais informações sobre substituições de origem com a chave de objeto do S3, consulte [Iniciar um pipeline com uma substituição da revisão de origem](pipelines-trigger-source-overrides.md).  
Se você omitir`AllowOverrideForS3ObjectKey`, CodePipeline assume como padrão a capacidade de substituir o S3 ObjectKey na ação de origem definindo esse parâmetro como. `false`
Os valores válidos para esse parâmetro:  
+ `true`: se definido, a chave de objeto do S3 pré-configurada poderá ser substituída por revisões de origem durante a execução de um pipeline.
**nota**  
Se você pretende permitir que todos os CodePipeline usuários substituam a chave de objeto S3 pré-configurada ao iniciar a execução de um novo pipeline, defina como. `AllowOverrideForS3ObjectKey` `true`
+ `false`: 

  Se definido, não CodePipeline permitirá que a chave de objeto do S3 seja substituída usando substituições de revisão de origem. Esse também é o valor padrão para este parâmetro.

**PollForSourceChanges**  
Obrigatório: não  
`PollForSourceChanges`controla se CodePipeline pesquisa o bucket de origem do Amazon S3 em busca de alterações na fonte. Em vez disso, recomendamos que você use CloudWatch Eventos e CloudTrail detecte alterações na fonte. Para obter mais informações sobre a configuração de CloudWatch eventos, consulte [Migre os pipelines de votação com uma fonte e trilha CloudTrail (CLI) do S3](update-change-detection.md#update-change-detection-cli-S3) ou[Migre os pipelines de votação com uma fonte e CloudTrail uma trilha do S3 (modelo)CloudFormation](update-change-detection.md#update-change-detection-cfn-s3).  
Se você pretende configurar CloudWatch Eventos, deve definir `PollForSourceChanges` `false` para evitar execuções duplicadas no pipeline.
Os valores válidos para esse parâmetro:  
+ `true`: se definido, CodePipeline pesquisa sua localização de origem em busca de alterações na fonte.
**nota**  
Se você omitir`PollForSourceChanges`, o CodePipeline padrão é pesquisar seu local de origem para verificar as alterações na fonte. Esse comportamento será o mesmo quando o `PollForSourceChanges` estiver incluído e definido como `true`.
+ `false`: se definido, CodePipeline não pesquisa o local de origem em busca de alterações na fonte. Use essa configuração se você pretende configurar uma regra de CloudWatch Eventos para detectar alterações na origem.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-S3-input"></a>
+ **Número de artefatos:** `0`
+ **Descrição:** os artefatos de entrada não se aplicam a esse tipo de ação.

## Artefatos de saída
<a name="action-reference-S3-output"></a>
+ **Número de artefatos:** `1` 
+ **Descrição:** fornece os artefatos disponíveis no bucket de origem configurado para conectar-se ao pipeline. Os artefatos gerados no bucket são os artefatos de saída para a ação do Amazon S3. Os metadados do objeto Amazon S3 (ETag e o ID da versão) são exibidos CodePipeline como a revisão de origem para a execução do pipeline acionado.

## Variáveis de saída
<a name="action-reference-S3-variables"></a>

Quando configurada, essa ação produz variáveis que podem ser referenciadas pela configuração de ação de uma ação downstream no pipeline. Esta ação produz variáveis que podem ser visualizadas como variáveis de saída, mesmo que a ação não tenha um namespace. Configure uma ação com um namespace a fim de disponibilizar as variáveis para a configuração de ações downstream.

Para obter mais informações sobre variáveis em CodePipeline, consulte[Referência de variáveis](reference-variables.md).

**BucketName**  
O nome do bucket do Amazon S3 relacionado à alteração de origem que acionou o pipeline.

**ETag**  
A tag de entidade do objeto relacionado à alteração na origem que acionou o pipeline. ETag É um MD5 hash do objeto. ETag reflete somente as alterações no conteúdo de um objeto, não em seus metadados.

**ObjectKey**  
O nome da chave de objeto do Amazon S3 relacionada à alteração de origem que acionou o pipeline.

**VersionId**  
O ID da versão do objeto relacionado à alteração na origem que acionou o pipeline.

## Permissões do perfil de serviço: ação de origem do S3
<a name="edit-role-s3source"></a>

Para suporte à ação de origem do S3, adicione o seguinte à declaração da política:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:GetBucketVersioning",
        "s3:GetBucketAcl",
        "s3:GetBucketLocation",
        "s3:GetObjectTagging",
        "s3:GetObjectVersionTagging"
      ],
      "Resource": [
        "arn:aws:s3:::[[S3Bucket]]",
        "arn:aws:s3:::[[S3Bucket]]/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "111122223333"
        }
      }
    }
  ]
}
```

------

## Declaração de ação
<a name="action-reference-S3-example"></a>

------
#### [ YAML ]

```
Name: Source
Actions:
  - RunOrder: 1
    OutputArtifacts:
      - Name: SourceArtifact
    ActionTypeId:
      Provider: S3
      Owner: AWS
      Version: '1'
      Category: Source
    Region: us-west-2
    Name: Source
    Configuration:
      S3Bucket: amzn-s3-demo-source-bucket
      S3ObjectKey: my-application.zip
      PollForSourceChanges: 'false'
    InputArtifacts: []
```

------
#### [ JSON ]

```
{
    "Name": "Source",
    "Actions": [
        {
            "RunOrder": 1,
            "OutputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "ActionTypeId": {
                "Provider": "S3",
                "Owner": "AWS",
                "Version": "1",
                "Category": "Source"
            },
            "Region": "us-west-2",
            "Name": "Source",
            "Configuration": {
                "S3Bucket": "amzn-s3-demo-source-bucket",
                "S3ObjectKey": "my-application.zip",
                "PollForSourceChanges": "false"
            },
            "InputArtifacts": []
        }
    ]
},
```

------

## Consulte também
<a name="action-reference-S3-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [Tutorial: Criar um pipeline simples (bucket do S3)](tutorials-simple-s3.md)— Este tutorial fornece um exemplo de arquivo de especificação do aplicativo e um exemplo de grupo de implantação e CodeDeploy aplicativo. Use este tutorial para criar um pipeline com uma origem do Amazon S3 implantada em instâncias do Amazon EC2.

# Referência da ação de implantação do AWS AppConfig
<a name="action-reference-AppConfig"></a>

AWS AppConfig é uma capacidade de AWS Systems Manager. AppConfig oferece suporte a implantações controladas em aplicativos de qualquer tamanho e inclui verificações e monitoramento de validação integrados. Você pode usar AppConfig com aplicativos hospedados em instâncias do Amazon EC2, contêineres AWS Lambda, aplicativos móveis ou dispositivos de IoT.

A `AppConfig` ação de implantação é uma AWS CodePipeline ação que implanta configurações armazenadas no local de origem do pipeline em um AppConfig *aplicativo*, *ambiente* e perfil de *configuração* especificados. Ele usa as preferências definidas em uma *estratégia AppConfig de implantação*.

## Tipo de ação
<a name="action-reference-AppConfig-type"></a>
+ Categoria: `Deploy`
+ Proprietário: `AWS`
+ Fornecedor: `AppConfig`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-AppConfig-config"></a>

**Aplicação**  
Obrigatório: Sim  
O ID do AWS AppConfig aplicativo com os detalhes de sua configuração e implantação.

**Environment**  
Obrigatório: Sim  
O ID do AWS AppConfig ambiente em que a configuração é implantada.

**ConfigurationProfile**  
Obrigatório: Sim  
O ID do perfil de AWS AppConfig configuração a ser implantado.

**InputArtifactConfigurationPath**  
Obrigatório: Sim  
O caminho do arquivo dos dados de configuração no artefato de entrada a ser implantado.

**DeploymentStrategy**  
Obrigatório: não  
A estratégia AWS AppConfig de implantação a ser usada para implantação.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-AppConfig-input"></a>
+ **Número de artefatos:** `1`
+ **Descrição:** o artefato de entrada da ação de implantação.

## Artefatos de saída
<a name="action-reference-AppConfig-output"></a>

Não aplicável.

## Permissões do perfil de serviço: ação `AppConfig`
<a name="edit-role-appconfig"></a>

Ao CodePipeline executar a ação, a política de função de CodePipeline serviço exige as seguintes permissões, com escopo adequado até o nível do recurso, a fim de manter o acesso com menos privilégios.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "appconfig:StartDeployment",
                "appconfig:StopDeployment",
                "appconfig:GetDeployment"
            ],
            "Resource": [
                "arn:aws:appconfig:*:111122223333:application/[[Application]]",
                "arn:aws:appconfig:*:111122223333:application/[[Application]]/*",
                "arn:aws:appconfig:*:111122223333:deploymentstrategy/*"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

## Exemplo de configuração da ação
<a name="action-reference-AppConfig-example"></a>

------
#### [ YAML ]

```
name: Deploy
actions:
  - name: Deploy
    actionTypeId:
      category: Deploy
      owner: AWS
      provider: AppConfig
      version: '1'
    runOrder: 1
    configuration:
      Application: 2s2qv57
      ConfigurationProfile: PvjrpU
      DeploymentStrategy: frqt7ir
      Environment: 9tm27yd
      InputArtifactConfigurationPath: /
    outputArtifacts: []
    inputArtifacts:
      - name: SourceArtifact
    region: us-west-2
    namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "name": "Deploy",
    "actions": [
        {
            "name": "Deploy",
            "actionTypeId": {
                "category": "Deploy",
                "owner": "AWS",
                "provider": "AppConfig",
                "version": "1"
            },
            "runOrder": 1,
            "configuration": {
                "Application": "2s2qv57",
                "ConfigurationProfile": "PvjrpU",
                "DeploymentStrategy": "frqt7ir",
                "Environment": "9tm27yd",
                "InputArtifactConfigurationPath": "/"
            },
            "outputArtifacts": [],
            "inputArtifacts": [
                {
                    "name": "SourceArtifact"
                }
            ],
            "region": "us-west-2",
            "namespace": "DeployVariables"
        }
    ]
}
```

------

## Consulte também
<a name="action-reference-StepFunctions-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [AWS AppConfig](https://docs.aws.amazon.com/systems-manager/latest/userguide/appconfig.html)— Para obter informações sobre AWS AppConfig implantações, consulte o *Guia do AWS Systems Manager usuário*.
+ [Tutorial: Crie um pipeline que use AWS AppConfig como provedor de implantação](tutorials-AppConfig.md)— Este tutorial ajuda você a começar a configurar arquivos e AppConfig recursos simples de configuração de implantação e mostra como usar o console para criar um pipeline com uma ação de AWS AppConfig implantação.

# Referência da ação de implantação do CloudFormation
<a name="action-reference-CloudFormation"></a>

Executa uma operação em uma CloudFormation pilha. Uma pilha é uma coleção de AWS recursos que você pode gerenciar como uma única unidade. Os recursos em uma pilha são definidos pelo modelo do CloudFormation da pilha. Um conjunto de alterações cria uma comparação que pode ser visualizada sem alterar a pilha original. Para obter informações sobre os tipos de CloudFormation ações que podem ser executadas em pilhas e conjuntos de alterações, consulte o `ActionMode` parâmetro.

Para criar uma mensagem de erro para uma CloudFormation ação em que uma operação de pilha falhou, CodePipeline chame a CloudFormation `DescribeStackEvents` API. Se uma função do IAM de ação tiver permissão para acessar essa API, os detalhes sobre o primeiro recurso com falha serão incluídos na mensagem CodePipeline de erro. Caso contrário, se a política de função não tiver a permissão apropriada, CodePipeline ignorará o acesso à API e, em vez disso, mostrará uma mensagem de erro genérica. Para fazer isso, a permissão `cloudformation:DescribeStackEvents` deve ser adicionada ao perfil de serviço ou a outros perfis do IAM para o pipeline.

Se você não quiser que os detalhes do recurso apareçam nas mensagens de erro do pipeline, poderá revogar essa permissão para o perfil do IAM de ação removendo a permissão `cloudformation:DescribeStackEvents`.

**Topics**
+ [Tipo de ação](#action-reference-CloudFormation-type)
+ [Parâmetros de configuração](#action-reference-CloudFormation-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-CloudFormation-input)
+ [Artefatos de saída](#action-reference-CloudFormation-output)
+ [Variáveis de saída](#action-reference-CloudFormation-variables)
+ [Permissões da função de serviço: CloudFormation ação](#edit-role-cloudformation)
+ [Declaração de ação](#action-reference-CloudFormation-example)
+ [Consulte também](#action-reference-CloudFormation-links)

## Tipo de ação
<a name="action-reference-CloudFormation-type"></a>
+ Categoria: `Deploy`
+ Proprietário: `AWS`
+ Fornecedor: `CloudFormation`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-CloudFormation-config"></a>

**ActionMode**  
Obrigatório: Sim  
`ActionMode`é o nome da ação CloudFormation executada em uma pilha ou conjunto de alterações. Os seguintes modos de ação estão disponíveis:  
+ `CHANGE_SET_EXECUTE` executa um conjunto de alterações para a pilha de recursos com base em um conjunto de atualizações de recurso especificadas. Com essa ação, CloudFormation começa a alterar a pilha.
+ `CHANGE_SET_REPLACE` cria um conjunto de alterações, se ainda não existir, com base no nome da pilha e no modelo enviado. Se o conjunto de alterações existir, ele será CloudFormation excluído e, em seguida, criará um novo. 
+ `CREATE_UPDATE` cria a pilha, caso não exista. Se a pilha existir, CloudFormation atualiza a pilha. Use esta ação para atualizar pilhas existentes. Ao contrário`REPLACE_ON_FAILURE`, se a pilha existir e estiver em um estado de falha, CodePipeline não excluirá nem substituirá a pilha.
+ `DELETE_ONLY` exclui uma pilha. Se você especificar uma pilha que não existe, a ação será concluída com êxito sem excluir uma pilha.
+ `REPLACE_ON_FAILURE` cria uma pilha, caso não exista. Se a pilha existir e estiver em um estado de falha, CloudFormation excluirá a pilha e criará uma nova pilha. Se a pilha não estiver em um estado de falha, CloudFormation atualize-a. 

  A pilha está em no estado de falha quando qualquer um dos seguintes tipos de status estiver exibido no CloudFormation: 
  + `ROLLBACK_FAILED`
  + `CREATE_FAILED`
  + `DELETE_FAILED`
  + `UPDATE_ROLLBACK_FAILED`

  Use esta ação para substituir automaticamente as pilhas com falha sem recuperá-las nem solucionar o problema delas.
**Importante**  
Recomendamos usar `REPLACE_ON_FAILURE` apenas para fins de teste, pois ele pode excluir sua pilha.

**StackName**  
Obrigatório: Sim  
`StackName` é o nome de uma pilha existente ou de uma pilha que você deseja criar.

**Capacidades**  
Obrigatório: condicional  
O uso de `Capabilities` reconhece que o modelo pode ter os recursos para criar e atualizar alguns recursos por conta própria e que esses recursos são determinados com base nos tipos de recursos do modelo.  
Essa propriedade será necessária se você tiver recursos do IAM em seu modelo de pilha ou criar uma pilha diretamente de um modelo que contém macros. Para que a CloudFormation ação opere com sucesso dessa forma, você deve reconhecer explicitamente que gostaria que ela funcionasse com um dos seguintes recursos:  
+ `CAPABILITY_IAM` 
+ `CAPABILITY_NAMED_IAM` 
+ `CAPABILITY_AUTO_EXPAND` 
 Você pode especificar mais de um recurso usando uma vírgula (sem espaço) entre os recursos. O exemplo em [Declaração de ação](#action-reference-CloudFormation-example) mostra uma entrada com as propriedades CAPABILITY\$1IAM e CAPABILITY\$1AUTO\$1EXPAND.  
Para obter mais informações sobre`Capabilities`, consulte as propriedades abaixo [UpdateStack](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStack.html)na *Referência da AWS CloudFormation API*.

**ChangeSetName**  
Obrigatório: condicional  
`ChangeSetName` é o nome de um conjunto de alterações existente ou um novo conjunto de alterações que você deseja criar para a pilha especificada.  
 Essa propriedade é necessária para os seguintes modos de ação: CHANGE\$1SET\$1REPLACE e CHANGE\$1SET\$1EXECUTE. Para todos os outros modos de ação, essa propriedade será ignorado.

**RoleArn**  
Obrigatório: condicional  
O `RoleArn` é o ARN da função de serviço do IAM que o CloudFormation assume ao operar em recursos na pilha especificada. `RoleArn` não é aplicado ao executar um conjunto de alterações. Se você não usar CodePipeline para criar o conjunto de alterações, verifique se o conjunto de alterações ou a pilha tem uma função associada.  
Esse perfil deve estar na mesma conta do perfil da ação em execução, conforme configurado no `RoleArn` da declaração de ação.
Essa propriedade é necessária para os seguintes modos de ação:  
+ CREATE\$1UPDATE
+ REPLACE\$1ON\$1FAILURE
+ DELETE\$1ONLY
+ CHANGE\$1SET\$1REPLACE
CloudFormation recebe uma URL assinada em S3 para o modelo; portanto, isso `RoleArn` não precisa de permissão para acessar o repositório de artefatos. No entanto, o `RoleArn` da ação *precisa* de permissão para acessar o bucket de artefatos, a fim de gerar o URL assinado.

**TemplatePath**  
Obrigatório: condicional  
`TemplatePath`representa o arquivo CloudFormation de modelo. Inclua o arquivo em um artefato de entrada para essa ação. O nome do arquivo segue este formato:  
`Artifactname::TemplateFileName`  
`Artifactname` é o nome do artefato de entrada, da forma como aparece no CodePipeline. Por exemplo, um estágio de origem com o nome de artefato de `SourceArtifact` e um nome de arquivo de `template-export.json` cria um nome `TemplatePath`, conforme mostrado neste exemplo:  

```
"TemplatePath": "SourceArtifact::template-export.json"
```
Essa propriedade é necessária para os seguintes modos de ação:   
+ CREATE\$1UPDATE
+ REPLACE\$1ON\$1FAILURE
+ CHANGE\$1SET\$1REPLACE
Para todos os outros modos de ação, essa propriedade será ignorado.  
O arquivo CloudFormation de modelo contendo o corpo do modelo tem um comprimento mínimo de 1 byte e um comprimento máximo de 1 MB. Para ações CloudFormation de implantação em CodePipeline, o tamanho máximo do artefato de entrada é sempre 256 MB. Para mais informações, consulte [Cotas no AWS CodePipeline.](limits.md) e [Limites do CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html).

**OutputFileName**  
Obrigatório: não  
Use `OutputFileName` para especificar um nome de arquivo de saída, como`CreateStackOutput.json`, que é CodePipeline adicionado ao artefato de saída do pipeline para essa ação. O arquivo JSON contém o conteúdo da `Outputs` seção da CloudFormation pilha.  
Se você não especificar um nome, CodePipeline não gera um arquivo ou artefato de saída.

**ParameterOverrides**  
Obrigatório: não  
Os parâmetros são definidos no modelo de pilha e permitem que você forneça valores para eles no momento da criação ou atualização da pilha. Você pode usar um objeto JSON para definir valores de parâmetro em seu modelo. (Esses valores substituem os definidos no arquivo de configuração de modelo.) Para obter mais informações sobre como usar substituições de parâmetros, consulte [Propriedades de configuração (objeto JSON)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html#w4363ab1c13c13b9).  
Recomendamos usar o arquivo de configuração de modelo para a maioria dos valores de parâmetro. Use substituições de parâmetros somente para valores que não são conhecidos até que o pipeline esteja em execução. Para obter mais informações, consulte [Usando funções de substituição de parâmetros com CodePipeline pipelines](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html) no Guia do *AWS CloudFormation usuário*.  
Todos os nomes de parâmetros devem estar presentes no modelo de pilha.

**TemplateConfiguration**  
Obrigatório: não  
`TemplateConfiguration` é o arquivo de configuração do modelo. Inclua o arquivo em um artefato de entrada para essa ação. Ele pode conter valores de parâmetro de modelo e uma política de pilha. Para obter mais informações sobre o formato do arquivo de configuração de modelo, consulte [Artefatos do AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html).   
O nome do arquivo de configuração de modelo segue este formato:   
`Artifactname::TemplateConfigurationFileName`  
`Artifactname` é o nome do artefato de entrada, da forma como aparece no CodePipeline. Por exemplo, um estágio de origem com o nome de artefato de `SourceArtifact` e um nome de arquivo de `test-configuration.json` cria um nome `TemplateConfiguration`, conforme mostrado neste exemplo:  

```
"TemplateConfiguration": "SourceArtifact::test-configuration.json"
```

## Input artifacts (Artefatos de entrada)
<a name="action-reference-CloudFormation-input"></a>
+ **Número de artefatos:** `0 to 10`
+ **Descrição:** Como entrada, a CloudFormation ação aceita opcionalmente artefatos para estas finalidades:
  + Fornecer o arquivo de modelo de pilha a ser executado. (Consulte o parâmetro `TemplatePath`.)
  + Fornecer o arquivo de configuração de modelo a ser usado. (Consulte o parâmetro `TemplateConfiguration`.) Para obter mais informações sobre o formato do arquivo de configuração de modelo, consulte [Artefatos do AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html). 
  + Fornecer o artefato para que uma função Lambda seja implantada como parte da pilha. CloudFormation 

## Artefatos de saída
<a name="action-reference-CloudFormation-output"></a>
+ **Número de artefatos:** `0 to 1` 
+ **Descrição:** se o parâmetro `OutputFileName` for especificado, haverá um artefato de saída produzido por essa ação que contém um arquivo JSON com o nome especificado. O arquivo JSON contém o conteúdo da seção Saídas da pilha do CloudFormation .

  Para obter mais informações sobre a seção de saídas que pode ser criada para a ação do CloudFormation , consulte [Saídas](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html).

## Variáveis de saída
<a name="action-reference-CloudFormation-variables"></a>

Quando configurada, essa ação produz variáveis que podem ser referenciadas pela configuração de ação de uma ação downstream no pipeline. Configure uma ação com um namespace a fim de disponibilizar as variáveis para a configuração de ações downstream.

Para CloudFormation ações, as variáveis são produzidas a partir de qualquer valor designado na `Outputs` seção de um modelo de pilha. Observe que os únicos modos de CloudFormation ação que geram saídas são aqueles que resultam na criação ou atualização de uma pilha, como criação de pilha, atualizações de pilha e execução de conjuntos de alterações. Os modos de ação correspondentes que geram variáveis são:
+ `CHANGE_SET_EXECUTE`
+ `CHANGE_SET_REPLACE`
+ `CREATE_UPDATE`
+ `REPLACE_ON_FAILURE`

Para obter mais informações, consulte [Referência de variáveis](reference-variables.md). Para ver um tutorial que mostra como criar um pipeline com uma ação de CloudFormation implantação em um pipeline que usa variáveis CloudFormation de saída, consulte[Tutorial: criar um pipeline que usa variáveis das ações de AWS CloudFormation implantação](tutorials-cloudformation-action.md).

## Permissões da função de serviço: CloudFormation ação
<a name="edit-role-cloudformation"></a>

Ao CodePipeline executar a ação, a política de função de CodePipeline serviço exige as seguintes permissões, com escopo adequado até o ARN do recurso do pipeline, a fim de manter o acesso com menos privilégios. Por exemplo, adicione o seguinte à declaração da política:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCFNStackAccess",
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateStack",
                "cloudformation:UpdateStack",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStacks",
                "cloudformation:DescribeStackResources",
                "cloudformation:DescribeStackEvents",
                "cloudformation:GetTemplate",
                "cloudformation:DescribeChangeSet",
                "cloudformation:CreateChangeSet",
                "cloudformation:DeleteChangeSet",
                "cloudformation:ExecuteChangeSet"
            ],
            "Resource": [
                "arn:aws:cloudformation:*:111122223333:stack/[[cfnDeployStackNames]]/*"
            ]
        },
        {
            "Sid": "ValidateTemplate",
            "Effect": "Allow",
            "Action": [
                "cloudformation:ValidateTemplate"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowIAMPassRole",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:role/[[cfnExecutionRoles]]"
            ],
            "Condition": {
                "StringEqualsIfExists": {
                    "iam:PassedToService": [
                        "cloudformation.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

Observe que a permissão `cloudformation:DescribeStackEvents` é opcional. Isso permite que a CloudFormation ação mostre uma mensagem de erro mais detalhada. Essa permissão poderá ser revogada do perfil do IAM se você não quiser que os detalhes do recurso apareçam nas mensagens de erro do pipeline.

## Declaração de ação
<a name="action-reference-CloudFormation-example"></a>

------
#### [ YAML ]

```
Name: ExecuteChangeSet
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Provider: CloudFormation
  Version: '1'
RunOrder: 2
Configuration:
  ActionMode: CHANGE_SET_EXECUTE
  Capabilities: CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND
  ChangeSetName: pipeline-changeset
  ParameterOverrides: '{"ProjectId": "my-project","CodeDeployRole": "CodeDeploy_Role_ARN"}'
  RoleArn: CloudFormation_Role_ARN
  StackName: my-project--lambda
  TemplateConfiguration: 'my-project--BuildArtifact::template-configuration.json'
  TemplatePath: 'my-project--BuildArtifact::template-export.yml'
OutputArtifacts: []
InputArtifacts:
  - Name: my-project-BuildArtifact
```

------
#### [ JSON ]

```
{
    "Name": "ExecuteChangeSet",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Provider": "CloudFormation",
        "Version": "1"
    },
    "RunOrder": 2,
    "Configuration": {
        "ActionMode": "CHANGE_SET_EXECUTE",
        "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND",
        "ChangeSetName": "pipeline-changeset",
        "ParameterOverrides": "{\"ProjectId\": \"my-project\",\"CodeDeployRole\": \"CodeDeploy_Role_ARN\"}",
        "RoleArn": "CloudFormation_Role_ARN",
        "StackName": "my-project--lambda",
        "TemplateConfiguration": "my-project--BuildArtifact::template-configuration.json",
        "TemplatePath": "my-project--BuildArtifact::template-export.yml"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
             "Name": "my-project-BuildArtifact"
        }
    ]
},
```

------

## Consulte também
<a name="action-reference-CloudFormation-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [Referência de propriedades de configuração](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html) — Este capítulo de referência no *Guia AWS CloudFormation do usuário* fornece mais descrições e exemplos desses CodePipeline parâmetros.
+ [AWS CloudFormation Referência da API](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/) — O [CreateStack](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html)parâmetro na *Referência da AWS CloudFormation API* descreve os parâmetros da pilha para CloudFormation modelos.

# Referência da ação de implantação do CloudFormation StackSets
<a name="action-reference-StackSets"></a>

CodePipeline oferece a capacidade de realizar CloudFormation StackSets operações como parte do seu processo de CI/CD. Você usa um conjunto de pilhas para criar pilhas em AWS contas em todas AWS as regiões usando um único CloudFormation modelo. Todos os recursos incluídos em cada pilha são definidos pelo modelo do conjunto de CloudFormation pilhas. Ao criar o conjunto de pilhas, você especifica o modelo a ser usado, bem como os parâmetros e recursos exigidos pelo modelo.

Para obter mais informações sobre conceitos para CloudFormation StackSets, consulte [StackSets conceitos](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html) no *Guia AWS CloudFormation do usuário*.

Você integra seu pipeline por CloudFormation StackSets meio de dois tipos de ação distintos que você usa juntos:
+ A ação `CloudFormationStackSet` cria ou atualiza um conjunto de pilhas ou instâncias de pilha a partir do modelo armazenado no local de origem do pipeline. Sempre que um conjunto de pilhas é criado ou atualizado, ele inicia uma implantação dessas alterações em instâncias especificadas. No console, você pode escolher o provedor de ações do **CloudFormation Stack Set** ao criar ou editar seu pipeline.
+ A ação `CloudFormationStackInstances` implanta alterações da ação `CloudFormationStackSet` para instâncias especificadas, cria novas instâncias de pilha e define substituições de parâmetros para instâncias especificadas. No console, você pode escolher o provedor de ação do **CloudFormation Stack Instances** ao editar um pipeline existente.

Você pode usar essas ações para implantar em AWS contas de destino ou na unidade organizacional da AWS Organizations de destino IDs.

**nota**  
Para implantar em contas ou unidades organizacionais de AWS organizações de destino IDs e usar o modelo de permissões gerenciadas por serviços, você deve habilitar o acesso confiável entre e AWS CloudFormation StackSets Organizations AWS . Para obter mais informações, consulte [Habilitar o acesso confiável com AWS CloudFormation Stacksets](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-cloudformation.html#integrate-enable-ta-cloudformation).

**Topics**
+ [Como CloudFormation StackSets as ações funcionam](#action-reference-StackSets-concepts)
+ [Como estruturar StackSets ações em um pipeline](#action-reference-StackSets-bestpractices)
+ [A ação `CloudFormationStackSet`](#action-reference-StackSet)
+ [A CloudFormationStackInstances ação](#action-reference-StackInstances)
+ [Permissões do perfil de serviço: ação `CloudFormationStackSet`](#edit-role-cfn-stackset)
+ [Permissões do perfil de serviço: ação `CloudFormationStackInstances`](#edit-role-cfn-stackinstances)
+ [Modelos de permissões para operações de conjuntos de pilhas](#action-reference-StackSets-permissions)
+ [Tipos de dados de parâmetro do modelo](#action-reference-StackSets-datatypes)
+ [Consulte também](#action-reference-CloudFormation-links)

## Como CloudFormation StackSets as ações funcionam
<a name="action-reference-StackSets-concepts"></a>

Uma ação `CloudFormationStackSet` cria ou atualiza recursos; o que determinará isso é se a ação está sendo executada pela primeira vez ou não.

A ação `CloudFormationStackSet` *cria* ou *atualiza* o conjunto de pilhas e implanta essas alterações em instâncias especificadas.

**nota**  
Se você usar essa ação para fazer uma atualização que inclua a adição de instâncias de pilha, as novas instâncias serão implantadas primeiro e a atualização será concluída por último. As novas instâncias recebem primeiro a versão antiga. Em seguida, a atualização é aplicada a todas as instâncias.
+ *Criar*: quando nenhuma instância é especificada e o conjunto de pilhas não existe, a **CloudFormationStackSet**ação cria o conjunto de pilhas sem criar nenhuma instância.
+ *Atualização*: quando a **CloudFormationStackSet**ação é executada para um conjunto de pilhas que já foi criado, a ação atualiza o conjunto de pilhas. Se nenhuma instância for especificada e o conjunto de pilhas já existir, todas as instâncias serão atualizadas. Se essa ação for usada para atualizar instâncias específicas, todas as instâncias restantes passarão para o status OUTDATED.

  Você pode usar a **CloudFormationStackSet**ação para atualizar o conjunto de pilhas das seguintes maneiras. 
  + Atualize o modelo em algumas ou em todas as instâncias.
  + Atualize os parâmetros em algumas ou em todas as instâncias.
  + Atualize o perfil de execução do conjunto de pilhas (isso deve corresponder ao perfil de execução especificado no perfil Administrador).
  + Altere o modelo de permissões (somente se nenhuma instância tiver sido criada).
  + Ative/desative `AutoDeployment` se o modelo de permissões do conjunto de pilhas for `Service Managed`.
  + Atue como um administrador delegado em uma conta de membro se o modelo de permissões do conjunto de pilhas for `Service Managed`.
  + Atualize o perfil Administrador.
  + Atualize a descrição no conjunto de pilhas.
  + Adicione destinos de implantação à atualização do conjunto de pilhas para criar novas instâncias de pilha.

A ação `CloudFormationStackInstances` cria novas instâncias de pilha ou atualiza instâncias de pilha desatualizadas. Uma instância fica desatualizada quando um conjunto de pilhas é atualizado, mas nem todas as instâncias dentro dela são atualizadas.
+ *Criar*: se a pilha já existir, a ação `CloudFormationStackInstances` atualizará somente as instâncias e não criará instâncias da pilha.
+ *Atualizar*: depois que a ação `CloudFormationStackSet` for executada, se o modelo ou os parâmetros tiverem sido atualizados somente em algumas instâncias, o restante será marcado como `OUTDATED`. Nos estágios posteriores do pipeline, `CloudFormationStackInstances` atualiza o restante das instâncias no conjunto de pilhas em ondas para que todas as instâncias sejam marcadas como `CURRENT`. Essa ação também pode ser usada para adicionar instâncias extras ou substituir parâmetros em instâncias novas ou existentes.

Como parte de uma atualização, as ações `CloudFormationStackSet` e `CloudFormationStackInstances` podem especificar novos destinos de implantação, o que cria novas instâncias de pilha.

Como parte de uma atualização, as ações `CloudFormationStackSet` e `CloudFormationStackInstances` não excluem conjuntos de pilhas, instâncias ou recursos. Quando a ação atualiza uma pilha, mas não especifica todas as instâncias a serem atualizadas, as instâncias que não foram especificadas para atualização são removidas da atualização e definidas para o status `OUTDATED`.

Durante uma implantação, as instâncias de pilha também poderão mostrar o status `OUTDATED` se a implantação nas instâncias falhar.

## Como estruturar StackSets ações em um pipeline
<a name="action-reference-StackSets-bestpractices"></a>

Como prática recomendada, você deve criar o pipeline para que o conjunto de pilhas seja criado e implantado inicialmente em um subconjunto ou em uma única instância. Após testar a implantação e visualizar o conjunto de pilhas gerado, adicione a ação `CloudFormationStackInstances` para que as instâncias restantes sejam criadas e atualizadas.

Use o console ou a CLI para criar a estrutura de pipeline recomendada da seguinte maneira:

1. Crie um pipeline com uma ação de origem (obrigatória) e a ação `CloudFormationStackSet` como ação de implantação. Execute seu pipeline.

1. Quando seu pipeline é executado pela primeira vez, a ação `CloudFormationStackSet` *cria* seu conjunto de pilhas e pelo menos uma instância inicial. Verifique a criação do conjunto de pilhas e analise a implantação na sua instância inicial. Por exemplo, para a criação inicial do conjunto de pilhas para a conta Account-A em que `us-east-1` é a região especificada, a instância da pilha é criada com o conjunto de pilhas:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/action-reference-StackSets.html)

1. Edite seu pipeline para adicioná-lo `CloudFormationStackInstances` como a segunda ação de implantação para create/update empilhar instâncias para os destinos que você designar. Por exemplo, para a criação de instâncias de pilha para a conta `Account-A` em que as regiões `us-east-2` e `eu-central-1` são especificadas, as instâncias de pilha restantes são criadas e a instância inicial permanece atualizada da seguinte maneira:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/action-reference-StackSets.html)

1. Execute seu pipeline conforme necessário para atualizar seu conjunto de pilhas e atualize ou crie instâncias de pilha.

Quando você inicia uma atualização da pilha em que removeu os destinos de implantação da configuração da ação, as instâncias da pilha que não foram designadas para atualização são removidas da implantação e passam para o status OUTDATED. Por exemplo, na atualização da instância de pilha para a conta `Account-A` em que a região `us-east-2` é removida da configuração da ação, as instâncias de pilha restantes são criadas e a instância removida é definida como OUTDATED da seguinte maneira:


****  

| Instância da pilha | Região | Status | 
| --- | --- | --- | 
| StackInstanceID-1 | us-east-1 | CURRENT | 
| StackInstanceID-2 | us-east-2 | OUTDATED | 
| StackInstanceID-3 | eu-central-1 | CURRENT | 

Para obter mais informações sobre as melhores práticas para implantar conjuntos de pilhas, consulte [Práticas recomendadas](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-bestpractices.html) StackSets no Guia do *AWS CloudFormation usuário*.

## A ação `CloudFormationStackSet`
<a name="action-reference-StackSet"></a>

Esta ação cria ou atualiza um conjunto de pilhas a partir do modelo armazenado no local de origem do pipeline. 

Após definir um conjunto de pilhas, você pode criar, atualizar ou excluir pilhas nas contas e regiões de destino especificadas nos parâmetros de configuração. Ao criar, atualizar ou excluir pilhas, você também pode especificar preferências, como a ordem das regiões para que as operações sejam realizadas, o percentual de tolerância a falhas para interrupção das operações de pilhas e a quantidade de contas nas quais as operações serão executadas nas pilhas simultaneamente.

Um conjunto de pilhas é um recurso regional. Se você criar um conjunto de pilhas em uma AWS região, não poderá acessá-lo de outras regiões.

Quando essa ação é usada como uma ação de atualização para o conjunto de pilhas, as atualizações na pilha não são permitidas sem uma implantação em pelo menos uma instância da pilha.

**Topics**
+ [Tipo de ação](#action-reference-StackSet-type)
+ [Parâmetros de configuração](#action-reference-StackSet-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-StackSet-input)
+ [Artefatos de saída](#action-reference-StackSet-output)
+ [Variáveis de saída](#action-reference-StackSet-variables)
+ [Exemplo de configuração de **CloudFormationStackSet**ação](#action-reference-StackSet-example)

### Tipo de ação
<a name="action-reference-StackSet-type"></a>
+ Categoria: `Deploy`
+ Proprietário: `AWS`
+ Fornecedor: `CloudFormationStackSet`
+ Versão: `1`

### Parâmetros de configuração
<a name="action-reference-StackSet-config"></a>

**StackSetName**  
Obrigatório: Sim  
O nome a ser associado ao conjunto de pilhas. Esse nome deve ser exclusivo na região em que ele foi criado.  
O nome pode conter apenas caracteres alfanuméricos e hifens. Ele deve começar com um caractere alfabético e ter 128 caracteres ou menos.

**Description**  
Obrigatório: não  
Uma descrição do conjunto de pilhas. Você pode usar isso para descrever a finalidade do conjunto de pilhas ou outras informações relevantes.

**TemplatePath**  
Obrigatório: Sim  
O local do modelo que define os recursos no conjunto de pilhas. Isso deve apontar para um modelo com um tamanho máximo de 460.800 bytes.  
Insira o caminho para o nome do artefato de origem e o arquivo de modelo no formato `"InputArtifactName::TemplateFileName"`, conforme mostrado no exemplo a seguir.  

```
SourceArtifact::template.txt
```

**Parâmetros**  
Obrigatório: não  
Uma lista de parâmetros de modelo para seu conjunto de pilhas que são atualizados durante uma implantação.  
Você pode fornecer parâmetros como uma lista literal ou um caminho de arquivo:  
+ Você pode inserir parâmetros no seguinte formato de sintaxe abreviada: `ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string`. Para obter mais informações sobre tipos de dados, consulte [Tipos de dados de parâmetro do modelo](#action-reference-StackSets-datatypes).

  O exemplo a seguir mostra um parâmetro chamado `BucketName` com o valor `amzn-s3-demo-source-bucket`.

  ```
  ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket
  ```

  O exemplo a seguir mostra uma entrada com vários parâmetros:

  ```
                                                                                                        
    ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket
    ParameterKey=Asset1,ParameterValue=true              
    ParameterKey=Asset2,ParameterValue=true
  ```
+ Você pode inserir o local do arquivo que contém uma lista de substituições de parâmetros de modelo inseridas no formato `"InputArtifactName::ParametersFileName"`, conforme mostrado no exemplo a seguir.

  ```
  SourceArtifact::parameters.txt
  ```

  O exemplo a seguir mostra o conteúdo do arquivo `parameters.txt`.

  ```
  [
      {
          "ParameterKey": "KeyName",
          "ParameterValue": "true"
      },
      {
          "ParameterKey": "KeyName",
          "ParameterValue": "true"
      }
  ]
  ```

**Capacidades**  
Obrigatório: não  
Indica que o modelo pode criar e atualizar recursos, dependendo dos tipos de recursos no modelo.  
Você deve usar essa propriedade se tiver recursos do IAM em seu modelo de pilha ou criar uma pilha diretamente a partir de um modelo que contenha macros. Para que a CloudFormation ação opere com êxito dessa forma, você deve usar um dos seguintes recursos:  
+ `CAPABILITY_IAM` 
+ `CAPABILITY_NAMED_IAM` 
 Você pode especificar mais de um recurso usando uma vírgula sem espaço entre os recursos. O exemplo em [Exemplo de configuração de **CloudFormationStackSet**ação](#action-reference-StackSet-example) mostra uma entrada com vários recursos.

**PermissionModel**  
Obrigatório: não  
Determina como os perfis do IAM são criados e gerenciados. Se o campo não for especificado, o padrão será usado. Para mais informações, consulte [Modelos de permissões para operações de conjuntos de pilhas](#action-reference-StackSets-permissions).  
Os valores válidos são:   
+ `SELF_MANAGED` (padrão): você deve criar perfis de administrador e de execução para implantação em contas de destino.
+ `SERVICE_MANAGED`: cria CloudFormation StackSets automaticamente as funções do IAM necessárias para implantação em contas gerenciadas por AWS Organizations. Isso requer que uma conta seja membro de uma organização.
Este parâmetro só pode ser alterado quando não há instâncias de pilha no conjunto de pilhas.

****AdministrationRoleArn****  
Como CloudFormation StackSets executa operações em várias contas, você deve definir as permissões necessárias nessas contas antes de criar o conjunto de pilhas.
Obrigatório: não  
Este parâmetro é opcional para o modelo de permissões SELF\$1MANAGED e não é usado para o modelo de permissões SERVICE\$1MANAGED.
O ARN do perfil do IAM na conta do administrador usada para realizar operações de conjunto de pilhas.  
O nome pode conter caracteres alfanuméricos, qualquer um dos seguintes caracteres: \$1\$1=,.@- e sem espaços. O nome não faz distinção entre maiúsculas e minúsculas. Este nome de perfil deve ter um tamanho mínimo de 20 caracteres e um tamanho máximo de 2.048 caracteres. Os nomes de perfil deve ser exclusivo na conta. O nome do perfil especificado aqui deve ser um nome de perfil existente. Se você não especificar o nome do perfil, ele será definido como AWSCloudFormationStackSetAdministrationRole. Se você especificar ServiceManaged, não deverá definir um nome de função.

****ExecutionRoleName****  
Como CloudFormation StackSets executa operações em várias contas, você deve definir as permissões necessárias nessas contas antes de criar o conjunto de pilhas.
Obrigatório: não  
Este parâmetro é opcional para o modelo de permissões SELF\$1MANAGED e não é usado para o modelo de permissões SERVICE\$1MANAGED.
O nome do perfil do IAM nas contas de destino usadas para realizar operações de conjunto de pilhas. O nome pode conter caracteres alfanuméricos, qualquer um dos seguintes caracteres: \$1\$1=,.@- e sem espaços. O nome não faz distinção entre maiúsculas e minúsculas. Este nome de perfil deve ter um tamanho mínimo de 1 caractere e um tamanho máximo de 64 caracteres. Os nomes de perfil deve ser exclusivo na conta. O nome do perfil especificado aqui deve ser um nome de perfil existente. Não especifique esse perfil se você estiver usando perfis de execução personalizados. Se você não especificar o nome do perfil, ele será definido como `AWSCloudFormationStackSetExecutionRole`. Se você definir ServiceManaged como true, não deverá definir um nome de perfil.

****OrganizationsAutoDeployment****  
Obrigatório: não  
Este parâmetro é opcional para o modelo de permissões SERVICE\$1MANAGED e não é usado para o modelo de permissões SELF\$1MANAGED.
Descreve se é implantado CloudFormation StackSets automaticamente em AWS Organizations contas que são adicionadas a uma organização ou unidade organizacional (OU) de destino. Se `OrganizationsAutoDeployment` for especificado, não especifique `DeploymentTargets` e `Regions`.   
Se nenhuma entrada for fornecida para `OrganizationsAutoDeployment`, o valor padrão será `Disabled`.
Os valores válidos são:  
+ `Enabled`. Obrigatório: Não. 

  StackSets implanta automaticamente instâncias de pilha adicionais em contas de AWS Organizations que são adicionadas a uma organização ou unidade organizacional (OU) de destino nas regiões especificadas. Se uma conta for removida de uma organização ou OU de destino, CloudFormation StackSets excluirá instâncias de pilha da conta nas regiões especificadas.
+ `Disabled`. Obrigatório: Não. 

  StackSets não implanta automaticamente instâncias de pilha adicionais em contas de AWS Organizations que são adicionadas a uma organização ou unidade organizacional (OU) de destino nas regiões especificadas.
+ `EnabledWithStackRetention`. Obrigatório: Não.

  Os recursos de pilha são retidos quando uma conta é removida de uma organização ou OU de destino.

****DeploymentTargets****  
Obrigatório: não  
Para o modelo de permissões SERVICE\$1MANAGED, você pode fornecer o ID raiz da organização ou a unidade organizacional IDs para destinos de implantação. Para o modelo de permissões SELF\$1MANAGED, você só pode fornecer contas.
Quando este parâmetro é selecionado, você também deve selecionar **Regions**.
Uma lista de AWS contas ou unidades organizacionais em IDs que as instâncias do conjunto de pilhas devem ser criadas/atualizadas.  
+ **Accounts**:

  Você pode fornecer contas como uma lista literal ou um caminho de arquivo:
  + *Literal*: insira parâmetros no formato de sintaxe abreviada `account_ID,account_ID`, conforme mostrado no exemplo a seguir.

    ```
    111111222222,333333444444
    ```
  + *Caminho do arquivo:* a localização do arquivo contendo uma lista de AWS contas em que as instâncias do conjunto de pilhas devem ser criadas/atualizadas, inserida no formato. `InputArtifactName::AccountsFileName` Se você usar o caminho do arquivo para especificar **contas** ou **OrganizationalUnitIds**, o formato do arquivo deverá estar em JSON, conforme mostrado no exemplo a seguir.

    ```
    SourceArtifact::accounts.txt
    ```

    O exemplo a seguir mostra o conteúdo do arquivo `accounts.txt`.

    ```
    [
        "111111222222"
    ]
    ```

    O exemplo a seguir mostra o conteúdo do arquivo para `accounts.txt` ao listar mais de uma conta:

    ```
    [
        "111111222222","333333444444"
    ]
    ```
+ **OrganizationalUnitIds**: 
**nota**  
Este parâmetro é opcional para o modelo de permissões SERVICE\$1MANAGED e não é usado para o modelo de permissões SELF\$1MANAGED. Não use isso se você selecionar **OrganizationsAutoDeployment**.

  As unidades AWS organizacionais nas quais atualizar as instâncias de pilha associadas.

  Você pode fornecer a unidade organizacional IDs como uma lista literal ou um caminho de arquivo:
  + *Literal*: insira uma matriz de strings separadas por vírgulas, conforme mostrado no exemplo a seguir.

    ```
    ou-examplerootid111-exampleouid111,ou-examplerootid222-exampleouid222
    ```
  + *Caminho do arquivo:* o local do arquivo que contém uma lista de OrganizationalUnitIds onde criar ou atualizar instâncias do conjunto de pilhas. Se você usar o caminho do arquivo para especificar **contas** ou **OrganizationalUnitIds**, o formato do arquivo deverá estar em JSON, conforme mostrado no exemplo a seguir.

    Insira um caminho para o arquivo no formato `InputArtifactName::OrganizationalUnitIdsFileName`.

    ```
    SourceArtifact::OU-IDs.txt
    ```

    O exemplo a seguir mostra o conteúdo do arquivo `OU-IDs.txt`:

    ```
    [
        "ou-examplerootid111-exampleouid111","ou-examplerootid222-exampleouid222"
    ]
    ```

****Regiões****  
Obrigatório: não  
Quando esse parâmetro é selecionado, você também deve selecionar **DeploymentTargets**.
Uma lista das AWS regiões em que as instâncias do conjunto de pilhas são criadas ou atualizadas. As regiões são atualizadas na ordem em que são inseridas.  
Insira uma lista de AWS regiões válidas no formato`Region1,Region2`, conforme mostrado no exemplo a seguir.  

```
us-west-2,us-east-1
```

****FailureTolerancePercentage****  
Obrigatório: não  
A porcentagem de contas por região nas quais essa operação de pilha pode falhar antes de CloudFormation interromper a operação nessa região. Se a operação for interrompida em uma região, CloudFormation não tente realizar a operação nas regiões subsequentes. Ao calcular o número de contas com base na porcentagem especificada, CloudFormation arredonda para *baixo* para o próximo número inteiro.

****MaxConcurrentPercentage****  
Obrigatório: não  
A porcentagem máxima de contas em que essa operação pode ser executada ao mesmo tempo. Ao calcular o número de contas com base na porcentagem especificada, CloudFormation arredonda para *baixo* para o próximo número inteiro. Se o arredondamento para baixo resultar em zero, CloudFormation defina o número como um. Embora você use essa configuração para especificar o *máximo*, nas grandes implementações, o número real de contas utilizadas simultaneamente pode ser menor devido ao controle de utilização do serviço.

**RegionConcurrencyType**  
Obrigatório: não  
Você pode especificar se o conjunto de pilhas deve ser implantado entre Regiões da AWS sequencial ou paralelamente, configurando o parâmetro de implantação simultânea da região. Quando a simultaneidade da região é especificada para implantar pilhas em várias em Regiões da AWS paralelo, isso pode resultar em tempos gerais de implantação mais rápidos.  
+ *Em paralelo*: as implantações de conjuntos de pilhas serão conduzidas simultaneamente, desde que as falhas de implantação de uma região não excedam uma tolerância a falhas especificada.
+ *Sequencial*: as implantações de conjuntos de pilhas serão conduzidas uma de cada vez, desde que as falhas de implantação de uma região não excedam uma tolerância a falhas especificada. A implantação sequencial é a seleção padrão.

**ConcurrencyMode**  
Obrigatório: não  
O modo de simultaneidade permite escolher como o nível de simultaneidade se comporta durante as operações de conjunto de pilhas, seja com tolerância da falhas estrita ou moderada. A **Alta tolerância a falhas** reduz a velocidade de implantação à medida que ocorrem falhas na operação do conjunto de pilhas porque a simultaneidade diminui para cada falha. **O Soft Failure Tolerance** prioriza a velocidade de implantação e, ao mesmo tempo, aproveita CloudFormation os recursos de segurança.   
+ `STRICT_FAILURE_TOLERANCE`: essa opção reduz dinamicamente o nível de simultaneidade para garantir que o número de contas com falha nunca exceda uma tolerância a falhas específica. Esse é o comportamento padrão.
+ `SOFT_FAILURE_TOLERANCE`: essa opção desacopla a tolerância a falhas da simultaneidade real. Isso permite que as operações de conjunto de pilhas em um nível de simultaneidade definido, independentemente do número de falhas.

**CallAs**  
Obrigatório: não  
Este parâmetro é opcional para o modelo de permissões `SERVICE_MANAGED` e não é usado para o modelo de permissões `SELF_MANAGED`.
Especifica se você está atuando na conta de gerenciamento da organização ou como administrador delegado em uma conta de membro.  
Se este parâmetro estiver definido como `DELEGATED_ADMIN`, garanta que o perfil do IAM do pipeline tenha a permissão `organizations:ListDelegatedAdministrators`. Caso contrário, a ação falhará durante a execução com um erro semelhante a este: `Account used is not a delegated administrator`.
+ `SELF`: a implantação do conjunto de pilhas usará permissões gerenciadas pelo serviço enquanto estiver conectado à conta de gerenciamento.
+ `DELEGATED_ADMIN`: a implantação do conjunto de pilhas usará permissões gerenciadas pelo serviço enquanto estiver conectado a uma conta de administrador delegado.

### Input artifacts (Artefatos de entrada)
<a name="action-reference-StackSet-input"></a>

Você deve incluir pelo menos um artefato de entrada que contenha o modelo para o conjunto de pilhas em uma ação `CloudFormationStackSet`. Você pode incluir mais artefatos de entrada para listas de destinos, contas e parâmetros de implantação.
+ **Número de artefatos:** `1 to 3`
+ **Descrição:** você pode incluir artefatos para fornecer:
  + O arquivo de modelo de pilha. (Consulte o parâmetro `TemplatePath`.)
  + O arquivo de parâmetros. (Consulte o parâmetro `Parameters`.)
  + O arquivo de contas. (Consulte o parâmetro `DeploymentTargets`.)

### Artefatos de saída
<a name="action-reference-StackSet-output"></a>
+ **Número de artefatos:** `0` 
+ **Descrição:** os artefatos de saída não se aplicam a esse tipo de ação.

### Variáveis de saída
<a name="action-reference-StackSet-variables"></a>

Se você configurar essa ação, ela produzirá variáveis que podem ser referenciadas pela configuração de uma ação downstream no pipeline. Configure uma ação com um namespace a fim de disponibilizar as variáveis para a configuração de ações downstream.
+ **StackSetId**: O ID do conjunto de pilhas.
+ **OperationId**: o ID da operação do conjunto de pilhas.

Para obter mais informações, consulte [Referência de variáveis](reference-variables.md).

### Exemplo de configuração de **CloudFormationStackSet**ação
<a name="action-reference-StackSet-example"></a>

Os exemplos a seguir mostram a configuração da **CloudFormationStackSet**ação.

#### Exemplo do modelo de permissões autogerenciadas
<a name="action-reference-StackSet-example-selfmanaged"></a>

O exemplo a seguir mostra uma **CloudFormationStackSet**ação em que a meta de implantação inserida é uma ID de AWS conta.

------
#### [ YAML ]

```
Name: CreateStackSet
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Provider: CloudFormationStackSet
  Version: '1'
RunOrder: 1
Configuration:
  DeploymentTargets: '111111222222'
  FailureTolerancePercentage: '20'
  MaxConcurrentPercentage: '25'
  PermissionModel: SELF_MANAGED
  Regions: us-east-1
  StackSetName: my-stackset
  TemplatePath: 'SourceArtifact::template.json'
OutputArtifacts: []
InputArtifacts:
  - Name: SourceArtifact
Region: us-west-2
Namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "Name": "CreateStackSet",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Provider": "CloudFormationStackSet",
        "Version": "1"
    },
    "RunOrder": 1,
    "Configuration": {
        "DeploymentTargets": "111111222222",
        "FailureTolerancePercentage": "20",
        "MaxConcurrentPercentage": "25",
        "PermissionModel": "SELF_MANAGED",
        "Regions": "us-east-1",
        "StackSetName": "my-stackset",
        "TemplatePath": "SourceArtifact::template.json"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "SourceArtifact"
        }
    ],
    "Region": "us-west-2",
    "Namespace": "DeployVariables"
}
```

------

#### Exemplo do modelo de permissões autogerenciadas
<a name="action-reference-StackSet-example-servicemanaged"></a>

O exemplo a seguir mostra uma **CloudFormationStackSet**ação para o modelo de permissões gerenciadas por serviços em que a opção de implantação automática em AWS Organizations é habilitada com retenção de pilha.

------
#### [ YAML ]

```
Name: Deploy
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Provider: CloudFormationStackSet
  Version: '1'
RunOrder: 1
Configuration:
  Capabilities: 'CAPABILITY_IAM,CAPABILITY_NAMED_IAM'
  OrganizationsAutoDeployment: EnabledWithStackRetention
  PermissionModel: SERVICE_MANAGED
  StackSetName: stacks-orgs
  TemplatePath: 'SourceArtifact::template.json'
OutputArtifacts: []
InputArtifacts:
  - Name: SourceArtifact
Region: eu-central-1
Namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "Name": "Deploy",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Provider": "CloudFormationStackSet",
        "Version": "1"
    },
    "RunOrder": 1,
    "Configuration": {
        "Capabilities": "CAPABILITY_IAM,CAPABILITY_NAMED_IAM",
        "OrganizationsAutoDeployment": "EnabledWithStackRetention",
        "PermissionModel": "SERVICE_MANAGED",
        "StackSetName": "stacks-orgs",
        "TemplatePath": "SourceArtifact::template.json"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "SourceArtifact"
        }
    ],
    "Region": "eu-central-1",
    "Namespace": "DeployVariables"
}
```

------

## A CloudFormationStackInstances ação
<a name="action-reference-StackInstances"></a>

Essa ação cria novas instâncias e implanta conjuntos de pilhas em instâncias especificadas. Uma instância de pilha é uma referência a uma pilha em uma conta de destino dentro de uma região. É possível haver uma instância de pilha sem uma pilha. Por exemplo, se a criação da pilha não for bem-sucedida, a instância de pilha mostrará o motivo da falha da criação da pilha. Uma instância de pilha está associada a apenas um conjunto de pilhas.

Após a criação inicial de um conjunto de pilhas, você pode adicionar novas instâncias de pilha usando `CloudFormationStackInstances`. Os valores dos parâmetros do modelo podem ser substituídos no nível da instância da pilha durante as operações de criação ou atualização da instância do conjunto de pilhas.

Cada conjunto de pilhas tem um modelo e um conjunto de parâmetros de modelo. Ao atualizar o modelo ou os parâmetros do modelo, você os atualiza para todo o conjunto. Em seguida, todos os status da instância são definidos como `OUTDATED` até que as alterações sejam implantadas nessa instância.

Para substituir valores de parâmetros em instâncias específicas, por exemplo, se o modelo contiver um parâmetro para `stage` com um valor `prod`, você poderá substituir o valor desse parâmetro para que seja `beta` ou `gamma`.

**Topics**
+ [Tipo de ação](#action-reference-StackInstances-type)
+ [Parâmetros de configuração](#action-reference-StackInstances-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-StackInstances-input)
+ [Artefatos de saída](#action-reference-StackInstances-output)
+ [Variáveis de saída](#action-reference-StackInstances-variables)
+ [Exemplo de configuração da ação](#action-reference-StackInstances-example)

### Tipo de ação
<a name="action-reference-StackInstances-type"></a>
+ Categoria: `Deploy`
+ Proprietário: `AWS`
+ Fornecedor: `CloudFormationStackInstances`
+ Versão: `1`

### Parâmetros de configuração
<a name="action-reference-StackInstances-config"></a>

**StackSetName**  
Obrigatório: Sim  
O nome a ser associado ao conjunto de pilhas. Esse nome deve ser exclusivo na região em que ele foi criado.  
O nome pode conter apenas caracteres alfanuméricos e hifens. Ele deve começar com um caractere alfabético e ter 128 caracteres ou menos.

****DeploymentTargets****  
Obrigatório: não  
Para o modelo de permissões SERVICE\$1MANAGED, você pode fornecer o ID raiz da organização ou a unidade organizacional IDs para destinos de implantação. Para o modelo de permissões SELF\$1MANAGED, você só pode fornecer contas.
Quando este parâmetro é selecionado, você também deve selecionar **Regions**.
Uma lista de AWS contas ou unidades organizacionais em IDs que as instâncias do conjunto de pilhas devem ser criadas/atualizadas.  
+ **Accounts**:

  Você pode fornecer contas como uma lista literal ou um caminho de arquivo:
  + *Literal*: insira parâmetros no formato de sintaxe abreviada `account_ID,account_ID`, conforme mostrado no exemplo a seguir.

    ```
    111111222222,333333444444
    ```
  + *Caminho do arquivo:* a localização do arquivo contendo uma lista de AWS contas em que as instâncias do conjunto de pilhas devem ser criadas/atualizadas, inserida no formato. `InputArtifactName::AccountsFileName` Se você usar o caminho do arquivo para especificar **contas** ou **OrganizationalUnitIds**, o formato do arquivo deverá estar em JSON, conforme mostrado no exemplo a seguir.

    ```
    SourceArtifact::accounts.txt
    ```

    O exemplo a seguir mostra o conteúdo do arquivo `accounts.txt`:

    ```
    [
        "111111222222"
    ]
    ```

    O exemplo a seguir mostra o conteúdo do arquivo para `accounts.txt` ao listar mais de uma conta:

    ```
    [
        "111111222222","333333444444"
    ]
    ```
+ **OrganizationalUnitIds**: 
**nota**  
Este parâmetro é opcional para o modelo de permissões SERVICE\$1MANAGED e não é usado para o modelo de permissões SELF\$1MANAGED. Não use isso se você selecionar **OrganizationsAutoDeployment**.

  As unidades AWS organizacionais nas quais atualizar as instâncias de pilha associadas.

  Você pode fornecer a unidade organizacional IDs como uma lista literal ou um caminho de arquivo.
  + *Literal*: insira uma matriz de strings separadas por vírgulas, conforme mostrado no exemplo a seguir.

    ```
    ou-examplerootid111-exampleouid111,ou-examplerootid222-exampleouid222
    ```
  + *Caminho do arquivo:* o local do arquivo que contém uma lista de OrganizationalUnitIds onde criar ou atualizar instâncias do conjunto de pilhas. Se você usar o caminho do arquivo para especificar **contas** ou **OrganizationalUnitIds**, o formato do arquivo deverá estar em JSON, conforme mostrado no exemplo a seguir.

    Insira um caminho para o arquivo no formato `InputArtifactName::OrganizationalUnitIdsFileName`.

    ```
    SourceArtifact::OU-IDs.txt
    ```

    O exemplo a seguir mostra o conteúdo do arquivo `OU-IDs.txt`:

    ```
    [
        "ou-examplerootid111-exampleouid111","ou-examplerootid222-exampleouid222"
    ]
    ```

****Regiões****  
Obrigatório: Sim  
Quando esse parâmetro é selecionado, você também deve selecionar **DeploymentTargets**.
Uma lista das AWS regiões em que as instâncias do conjunto de pilhas são criadas ou atualizadas. As regiões são atualizadas na ordem em que são inseridas.  
Insira uma lista de AWS regiões válidas no formato:`Region1,Region2`, conforme mostrado no exemplo a seguir.  

```
us-west-2,us-east-1
```

**ParameterOverrides**  
Obrigatório: não  
Uma lista de parâmetros de conjunto de pilhas que você deseja substituir nas instâncias de pilha selecionadas. Os valores de parâmetros substituídos são aplicados a todas as instâncias da pilha nas contas e regiões especificadas.  
Você pode fornecer parâmetros como uma lista literal ou um caminho de arquivo:  
+ Você pode inserir parâmetros no seguinte formato de sintaxe abreviada: `ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string`. Para obter mais informações sobre tipos de dados, consulte [Tipos de dados de parâmetro do modelo](#action-reference-StackSets-datatypes).

  O exemplo a seguir mostra um parâmetro chamado `BucketName` com o valor `amzn-s3-demo-source-bucket`.

  ```
  ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket
  ```

  O exemplo a seguir mostra uma entrada com vários parâmetros.

  ```
                                                                                                        
    ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket
    ParameterKey=Asset1,ParameterValue=true              
    ParameterKey=Asset2,ParameterValue=true
  ```
+ Você pode inserir o local do arquivo que contém uma lista de substituições de parâmetros de modelo inseridas no formato `InputArtifactName::ParameterOverridessFileName`, conforme mostrado no exemplo a seguir.

  ```
  SourceArtifact::parameter-overrides.txt
  ```

  O exemplo a seguir mostra o conteúdo do arquivo `parameter-overrides.txt`.

  ```
  [
      {
          "ParameterKey": "KeyName",
          "ParameterValue": "true"
      },
      {
          "ParameterKey": "KeyName",
          "ParameterValue": "true"
      }
  ]
  ```

****FailureTolerancePercentage****  
Obrigatório: não  
A porcentagem de contas por região nas quais essa operação de pilha pode falhar antes de CloudFormation interromper a operação nessa região. Se a operação for interrompida em uma região, CloudFormation não tente realizar a operação nas regiões subsequentes. Ao calcular o número de contas com base na porcentagem especificada, CloudFormation arredonda para *baixo* para o próximo número inteiro.

****MaxConcurrentPercentage****  
Obrigatório: não  
A porcentagem máxima de contas em que essa operação será executada em cada momento. Ao calcular o número de contas com base na porcentagem especificada, CloudFormation arredonda para *baixo* para o próximo número inteiro. Se o arredondamento para baixo resultar em zero, CloudFormation defina o número como um. Embora você especifique o *máximo*, nas grandes implantações, o número real de contas utilizadas simultaneamente pode ser menor devido ao controle de utilização do serviço.

**RegionConcurrencyType**  
Obrigatório: não  
Você pode especificar se o conjunto de pilhas deve ser implantado entre Regiões da AWS sequencial ou paralelamente, configurando o parâmetro de implantação simultânea da região. Quando a simultaneidade da região é especificada para implantar pilhas em várias em Regiões da AWS paralelo, isso pode resultar em tempos gerais de implantação mais rápidos.  
+ *Em paralelo*: as implantações de conjuntos de pilhas serão conduzidas simultaneamente, desde que as falhas de implantação de uma região não excedam uma tolerância a falhas especificada.
+ *Sequencial*: as implantações de conjuntos de pilhas serão conduzidas uma de cada vez, desde que as falhas de implantação de uma região não excedam uma tolerância a falhas especificada. A implantação sequencial é a seleção padrão.

**ConcurrencyMode**  
Obrigatório: não  
O modo de simultaneidade permite escolher como o nível de simultaneidade se comporta durante as operações de conjunto de pilhas, seja com tolerância da falhas estrita ou moderada. A **Alta tolerância a falhas** reduz a velocidade de implantação à medida que ocorrem falhas na operação do conjunto de pilhas porque a simultaneidade diminui para cada falha. **O Soft Failure Tolerance** prioriza a velocidade de implantação e, ao mesmo tempo, aproveita CloudFormation os recursos de segurança.   
+ `STRICT_FAILURE_TOLERANCE`: essa opção reduz dinamicamente o nível de simultaneidade para garantir que o número de contas com falha nunca exceda uma tolerância a falhas específica. Esse é o comportamento padrão.
+ `SOFT_FAILURE_TOLERANCE`: essa opção desacopla a tolerância a falhas da simultaneidade real. Isso permite que as operações de conjunto de pilhas em um nível de simultaneidade definido, independentemente do número de falhas.

**CallAs**  
Obrigatório: não  
Este parâmetro é opcional para o modelo de permissões `SERVICE_MANAGED` e não é usado para o modelo de permissões `SELF_MANAGED`.
Especifica se você está atuando na conta de gerenciamento da organização ou como administrador delegado em uma conta de membro.  
Se este parâmetro estiver definido como `DELEGATED_ADMIN`, garanta que o perfil do IAM do pipeline tenha a permissão `organizations:ListDelegatedAdministrators`. Caso contrário, a ação falhará durante a execução com um erro semelhante a este: `Account used is not a delegated administrator`.
+ `SELF`: a implantação do conjunto de pilhas usará permissões gerenciadas pelo serviço enquanto estiver conectado à conta de gerenciamento.
+ `DELEGATED_ADMIN`: a implantação do conjunto de pilhas usará permissões gerenciadas pelo serviço enquanto estiver conectado a uma conta de administrador delegado.

### Input artifacts (Artefatos de entrada)
<a name="action-reference-StackInstances-input"></a>

`CloudFormationStackInstances` pode conter artefatos que listam destinos e parâmetros de implantação.
+ **Número de artefatos:** `0 to 2`
+ **Descrição:** como entrada, a ação do conjunto de pilhas aceita opcionalmente artefatos para as seguintes finalidades:
  + Para fornecer o arquivo de parâmetros a ser usado. (Consulte o parâmetro `ParameterOverrides`.)
  + Para fornecer o arquivo de contas de destino a ser usado. (Consulte o parâmetro `DeploymentTargets`.)

### Artefatos de saída
<a name="action-reference-StackInstances-output"></a>
+ **Número de artefatos:** `0` 
+ **Descrição:** os artefatos de saída não se aplicam a esse tipo de ação.

### Variáveis de saída
<a name="action-reference-StackInstances-variables"></a>

Quando configurada, essa ação produz variáveis que podem ser referenciadas pela configuração de ação de uma ação downstream no pipeline. Configure uma ação com um namespace a fim de disponibilizar as variáveis para a configuração de ações downstream.
+ **StackSetId**: O ID do conjunto de pilhas.
+ **OperationId**: o ID da operação do conjunto de pilhas.

Para obter mais informações, consulte [Referência de variáveis](reference-variables.md).

### Exemplo de configuração da ação
<a name="action-reference-StackInstances-example"></a>

Os exemplos a seguir mostram a configuração da **CloudFormationStackInstances**ação.

#### Exemplo do modelo de permissões autogerenciadas
<a name="action-reference-StackInstances-example-selfmanaged"></a>

O exemplo a seguir mostra uma **CloudFormationStackInstances**ação em que o destino de implantação inserido é um Conta da AWS ID`111111222222`.

------
#### [ YAML ]

```
Name: my-instances
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Provider: CloudFormationStackInstances
  Version: '1'
RunOrder: 2
Configuration:
  DeploymentTargets: '111111222222'
  Regions: 'us-east-1,us-east-2,us-west-1,us-west-2'
  StackSetName: my-stackset
OutputArtifacts: []
InputArtifacts:
  - Name: SourceArtifact
Region: us-west-2
```

------
#### [ JSON ]

```
{
    "Name": "my-instances",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Provider": "CloudFormationStackInstances",
        "Version": "1"
    },
    "RunOrder": 2,
    "Configuration": {
        "DeploymentTargets": "111111222222",
        "Regions": "us-east-1,us-east-2,us-west-1,us-west-2",
        "StackSetName": "my-stackset"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "SourceArtifact"
        }
    ],
    "Region": "us-west-2"
}
```

------

#### Exemplo do modelo de permissões autogerenciadas
<a name="action-reference-StackInstances-example-servicemanaged"></a>

O exemplo a seguir mostra uma **CloudFormationStackInstances**ação para o modelo de permissões gerenciadas por serviços em que o destino da implantação é uma ID da unidade organizacional da AWS Organizations. `ou-1111-1example`

------
#### [ YAML ]

```
Name: Instances
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Provider: CloudFormationStackInstances
  Version: '1'
RunOrder: 2
Configuration:
  DeploymentTargets: ou-1111-1example
  Regions: us-east-1
  StackSetName: my-stackset
OutputArtifacts: []
InputArtifacts:
  - Name: SourceArtifact
Region: eu-central-1
```

------
#### [ JSON ]

```
{
    "Name": "Instances",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Provider": "CloudFormationStackInstances",
        "Version": "1"
    },
    "RunOrder": 2,
    "Configuration": {
        "DeploymentTargets": "ou-1111-1example",
        "Regions": "us-east-1",
        "StackSetName": "my-stackset"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "SourceArtifact"
        }
    ],
    "Region": "eu-central-1"
}
```

------

## Permissões do perfil de serviço: ação `CloudFormationStackSet`
<a name="edit-role-cfn-stackset"></a>

Para CloudFormation StackSets ações, as seguintes permissões mínimas são necessárias.

Para a ação `CloudFormationStackSet`, adicione o seguinte à declaração da política:

```
{
    "Effect": "Allow",
    "Action": [
        "cloudformation:CreateStackSet",
        "cloudformation:UpdateStackSet",
        "cloudformation:CreateStackInstances",
        "cloudformation:DescribeStackSetOperation",
        "cloudformation:DescribeStackSet",
        "cloudformation:ListStackInstances"
    ],
    "Resource": "resource_ARN"
},
```

## Permissões do perfil de serviço: ação `CloudFormationStackInstances`
<a name="edit-role-cfn-stackinstances"></a>

Para a ação `CloudFormationStackInstances`, adicione o seguinte à declaração da política:

```
{
    "Effect": "Allow",
    "Action": [
        "cloudformation:CreateStackInstances",
        "cloudformation:DescribeStackSetOperation"
    ],
    "Resource": "resource_ARN"
},
```

## Modelos de permissões para operações de conjuntos de pilhas
<a name="action-reference-StackSets-permissions"></a>

Como CloudFormation StackSets executa operações em várias contas, você deve definir as permissões necessárias nessas contas antes de criar o conjunto de pilhas. Você pode definir permissões por meio de permissões autogerenciadas ou permissões gerenciadas por serviços.

Com permissões autogerenciadas, você cria as duas funções do IAM exigidas por StackSets : uma função de administrador, como a da conta AWSCloud FormationStackSetAdministrationRole em que você define o conjunto de pilhas, e uma função de execução, como a de cada uma das contas AWSCloud FormationStackSetExecutionRole em que você implanta instâncias do conjunto de pilhas. Usando esse modelo de permissões, StackSets pode implantar em qualquer AWS conta na qual o usuário tenha permissão para criar uma função do IAM. Para obter mais informações, consulte [Conceder permissões autogerenciadas](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) no *Guia do usuário do AWS CloudFormation *.

**nota**  
Como CloudFormation StackSets executa operações em várias contas, você deve definir as permissões necessárias nessas contas antes de criar o conjunto de pilhas.

Com permissões gerenciadas por serviços, você pode implantar instâncias de pilha em contas gerenciadas por Organizations. AWS Usando esse modelo de permissões, você não precisa criar os papéis do IAM necessários porque StackSets cria os papéis do IAM em seu nome. Com esse modelo, você também pode habilitar implantações automáticas em contas que serão adicionadas à sua organização no futuro. Consulte [Habilitar acesso confiável com AWS Organizations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-enable-trusted-access.html) no *Guia AWS CloudFormation do Usuário*.

## Tipos de dados de parâmetro do modelo
<a name="action-reference-StackSets-datatypes"></a>

Os parâmetros do modelo usados nas operações de conjunto de pilhas incluem os seguintes tipos de dados. Para obter mais informações, consulte [DescribeStackSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html).

ParameterKey  
+ Descrição: a chave associada ao parâmetro. Se você não especificar uma chave e um valor para um determinado parâmetro, AWS CloudFormation usa o valor padrão especificado no modelo.
+ Exemplo:

  ```
  "ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket"
  ```

ParameterValue  
+ Descrição: o valor de entrada associado ao parâmetro.
+ Exemplo:

  ```
  "ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket"
  ```

UsePreviousValue  
+ Durante uma atualização da pilha, use o valor do parâmetro existente que a pilha está usando para uma determinada chave de parâmetro. Se você especificar `true`, não especifique um valor de parâmetro.
+ Exemplo:

  ```
  "ParameterKey=Asset1,UsePreviousValue=true"
  ```

Cada conjunto de pilhas tem um modelo e um conjunto de parâmetros de modelo. Ao atualizar o modelo ou os parâmetros do modelo, você os atualiza para todo o conjunto. Em seguida, todos os status de instância são definidos como OUTDATED até que as alterações sejam implantadas nessa instância.

Para substituir valores de parâmetros em instâncias específicas, por exemplo, se o modelo contiver um parâmetro para `stage` com um valor `prod`, você poderá substituir o valor desse parâmetro para que seja `beta` ou `gamma`.

## Consulte também
<a name="action-reference-CloudFormation-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [Tipos de parâmetros](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#parameters-section-structure-properties-type) — Este capítulo de referência no *Guia AWS CloudFormation do usuário* fornece mais descrições e exemplos de parâmetros CloudFormation do modelo.
+ Práticas recomendadas: para obter mais informações sobre as práticas recomendadas para implantar conjuntos de pilhas, consulte [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-bestpractices.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-bestpractices.html) no *Guia do usuário do AWS CloudFormation *.
+ [AWS CloudFormation Referência da API](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/) — Você pode consultar as seguintes CloudFormation ações na *Referência da AWS CloudFormation API* para obter mais informações sobre os parâmetros usados nas operações do conjunto de pilhas:

  
  + A [CreateStackSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackSet.html)ação cria um conjunto de pilhas.
  + A [UpdateStackSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html)ação atualiza o conjunto de pilhas e as instâncias de pilha associadas nas contas e regiões especificadas. Mesmo que a operação de conjunto de pilhas criada pela atualização do conjunto de pilhas falhe (total ou parcialmente, abaixo ou acima de uma tolerância a falhas especificada), o conjunto de pilhas será atualizado com essas alterações. CreateStackInstances As chamadas subsequentes no conjunto de pilhas especificado usam o conjunto de pilhas atualizado.
  + A [CreateStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackInstances.html)ação cria uma instância de pilha para todas as regiões especificadas em todas as contas especificadas em um modelo de permissão autogerenciado ou em todos os destinos de implantação especificados em um modelo de permissão gerenciado por serviço. Você pode substituir os parâmetros das instâncias criadas por essa ação. Se as instâncias já existirem, CreateStackInstances chamadas UpdateStackInstances com os mesmos parâmetros de entrada. Quando você usa essa ação para criar instâncias, ela não altera o status de outras instâncias de pilha.
  + A [UpdateStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackInstances.html)ação atualiza as instâncias de pilha com a pilha definida para todas as regiões especificadas em todas as contas especificadas em um modelo de permissão autogerenciado ou em todos os destinos de implantação especificados em um modelo de permissão gerenciado por serviços. Você pode substituir os parâmetros das instâncias atualizadas por essa ação. Quando você usa essa ação para criar um subconjunto de instâncias, ela não altera o status de outras instâncias de pilha.
  + A [DescribeStackSetOperation](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeStackSetOperation.html)ação retorna a descrição da operação de conjunto de pilhas especificada.
  + A [DescribeStackSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeStackSet.html)ação retorna a descrição do conjunto de pilhas especificado.

# AWS CodeBuild referência de ação de criação e teste
<a name="action-reference-CodeBuild"></a>

Permite executar compilações e testes como parte do pipeline. Quando você executa uma ação de CodeBuild compilação ou teste, os comandos especificados no buildspec são executados dentro de um contêiner. CodeBuild Todos os artefatos especificados como artefatos de entrada para uma CodeBuild ação estão disponíveis dentro do contêiner que executa os comandos. CodeBuild pode fornecer uma ação de criação ou teste. Para obter mais informações, consulte o [Guia do usuário do AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/).

Quando você usa o CodePipeline assistente no console para criar um projeto de compilação, o projeto de CodeBuild compilação mostra o provedor de origem CodePipeline. Ao criar um projeto de compilação no CodeBuild console, você não pode especificar CodePipeline como provedor de origem, mas adicionar a ação de compilação ao seu pipeline ajusta a origem no CodeBuild console. Para obter mais informações, consulte [ProjectSource](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html) na *Referência de APIs do AWS CodeBuild *.

**Topics**
+ [Tipo de ação](#action-reference-CodeBuild-type)
+ [Parâmetros de configuração](#action-reference-CodeBuild-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-CodeBuild-input)
+ [Artefatos de saída](#action-reference-CodeBuild-output)
+ [Variáveis de saída](#action-reference-CodeBuild-variables)
+ [Permissões da função de serviço: CodeBuild ação](#edit-role-codebuild)
+ [Declaração de ação (CodeBuild exemplo)](#action-reference-CodeBuild-example)
+ [Consulte também](#action-reference-CodeBuild-links)

## Tipo de ação
<a name="action-reference-CodeBuild-type"></a>
+ Categoria: `Build` ou `Test`
+ Proprietário: `AWS`
+ Fornecedor: `CodeBuild`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-CodeBuild-config"></a>

**ProjectName**  
Obrigatório: Sim  
`ProjectName`é o nome do projeto de construção em CodeBuild.

**PrimarySource**  
Obrigatório: condicional  
O valor do `PrimarySource` parâmetro deve ser o nome de um dos artefatos de entrada para a ação. CodeBuild procura o arquivo buildspec e executa os comandos buildspec no diretório que contém a versão descompactada desse artefato.  
Esse parâmetro será necessário se vários artefatos de entrada forem especificados para uma ação do CodeBuild . Quando houver apenas um artefato de origem para a ação, o artefato `PrimarySource` assumirá esse artefato como padrão.

**BatchEnabled**  
Obrigatório: não  
O valor booleano do parâmetro `BatchEnabled` permite que a ação execute várias compilações na mesma execução de compilação.  
Quando esta opção está habilitada, a opção `CombineArtifacts` está disponível.  
Para exemplos de funis com compilações em lote ativadas, consulte [CodePipeline integração com CodeBuild e compilações em lote](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-batch.html).

**BuildspecOverride**  
Obrigatório: não  
Uma declaração de buildspec em linha ou do arquivo buildspec que substitui a mais recente definida no projeto de compilação, apenas para esta compilação. O buildspec definido no projeto não é alterado.  
Se for definido, esse valor poderá ser um dos seguintes:  
+ Uma definição de buildspec em linha. Para obter mais informações, consulte a referência de sintaxe em [Sintaxe de buildspec](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-syntax).
+ O caminho para um arquivo buildspec alternativo relativo ao valor da variável de ambiente `CODEBUILD_SRC_DIR` interna ou ao caminho para um bucket do S3. O bucket deve estar na mesma Região da AWS do projeto de compilação. Especifique o arquivo buildspec usando seu ARN (por exemplo, `arn:aws:s3:::my-codebuild-sample2/buildspec.yml`). Se esse valor não for fornecido ou for definido como uma string vazia, o código-fonte deverá conter um arquivo buildspec no diretório raiz. Para saber mais sobre como adicionar um caminho, consulte [Nome do arquivo e local de armazenamento de buildspec](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage).
Como essa propriedade permite a você alterar os comandos de compilação que serão executados no contêiner, observe se uma entidade principal do IAM com a capacidade de chamar essa API e definir esse parâmetro consegue substituir as configurações padrão. Além disso, é recomendável usar um local de buildspec confiável, como um arquivo no repositório de origem ou um bucket do Amazon S3.

**CombineArtifacts**  
Obrigatório: não  
O valor booleano do parâmetro `CombineArtifacts` combina todos os artefatos de uma compilação em lote em um único arquivo de artefato para a ação de compilação.  
Para usar esta opção, o parâmetro `BatchEnabled` deve estar ativado.

**EnvironmentVariables**  
Obrigatório: não  
O valor desse parâmetro é usado para definir variáveis de ambiente para a ação do CodeBuild no pipeline. O valor do parâmetro `EnvironmentVariables` assume a forma de uma matriz JSON de objetos de variáveis de ambiente. Consulte o parâmetro de exemplo em [Declaração de ação (CodeBuild exemplo)](#action-reference-CodeBuild-example).  
Cada objeto tem três partes, todas são strings:  
+ `name`: o nome ou a chave da variável de ambiente. 
+ `value`: o valor da variável de ambiente. Ao usar o `SECRETS_MANAGER` tipo `PARAMETER_STORE` ou, esse valor deve ser o nome de um parâmetro que você já armazenou no AWS Systems Manager Parameter Store ou um segredo que você já armazenou no AWS Secrets Manager, respectivamente.
**nota**  
Nós desencorajamos fortemente o uso de variáveis de ambiente para armazenar valores confidenciais, especialmente AWS credenciais. Quando você usa o CodeBuild console ou a AWS CLI, as variáveis de ambiente são exibidas em texto sem formatação. Para valores confidenciais, recomendamos usar o tipo `SECRETS_MANAGER`. 
+ `type`: (opcional) o tipo da variável de ambiente. Os valores válidos são `PARAMETER_STORE`, `SECRETS_MANAGER` ou `PLAINTEXT`. Se não especificado, assumirá como padrão `PLAINTEXT`.
Ao inserir o `name``value`, e `type` para sua configuração de variáveis de ambiente, especialmente se a variável de ambiente contiver a sintaxe da variável de CodePipeline saída, não exceda o limite de 1000 caracteres para o campo de valor da configuração. Um erro de validação será retornado quando esse limite for excedido.
Para obter mais informações, consulte [ EnvironmentVariable](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_EnvironmentVariable.html)a Referência AWS CodeBuild da API. Para obter um exemplo de CodeBuild ação com uma variável de ambiente que é resolvida com o nome da GitHub ramificação, consulte[Exemplo: use uma BranchName variável com variáveis de CodeBuild ambiente](actions-variables.md#actions-variables-examples-env-branchname).

## Input artifacts (Artefatos de entrada)
<a name="action-reference-CodeBuild-input"></a>
+ **Número de artefatos:** `1 to 5`
+ **Descrição:** CodeBuild procura o arquivo buildspec e executa os comandos buildspec no diretório do artefato de origem primária. Quando uma única fonte de entrada é especificada ou quando mais de uma fonte de entrada é especificada para a CodeBuild ação, o único artefato ou o artefato primário, no caso de várias fontes de entrada, deve ser definido usando o parâmetro de configuração da `PrimarySource` ação em. CodePipeline 

  Cada artefato de entrada é extraído para seu próprio diretório, cujos locais são armazenados em variáveis de ambiente. O diretório do artefato de origem primária é disponibilizado com `$CODEBUILD_SRC_DIR`. Os diretórios de todos os outros artefatos de entrada são disponibilizados com `$CODEBUILD_SRC_DIR_yourInputArtifactName`.
**nota**  
O artefato configurado em seu CodeBuild projeto se torna o artefato de entrada usado pela CodeBuild ação em seu pipeline.

## Artefatos de saída
<a name="action-reference-CodeBuild-output"></a>
+ **Número de artefatos:** `0 to 5` 
+ **Descrição:** eles podem ser usados para disponibilizar os artefatos definidos no arquivo CodeBuild buildspec para ações subsequentes no pipeline. Quando apenas um artefato de saída é definido, esse artefato pode ser definido diretamente na seção `artifacts` do arquivo buildspec. Quando mais de um artefato de saída é especificado, todos os artefatos referenciados devem ser definidos como artefatos secundários no arquivo buildspec. Os nomes dos artefatos de saída CodePipeline devem corresponder aos identificadores de artefatos no arquivo buildspec.
**nota**  
O artefato configurado em seu CodeBuild projeto se torna o artefato CodePipeline de entrada em sua ação de pipeline.

  Se o parâmetro `CombineArtifacts` for selecionado para compilações em lote, o local do artefato de saída conterá os artefatos combinados de várias compilações processadas na mesma execução.

## Variáveis de saída
<a name="action-reference-CodeBuild-variables"></a>

Esta ação produzirá como variáveis todas as variáveis de ambiente que foram exportadas como parte da compilação. Para obter mais detalhes sobre como exportar variáveis de ambiente, consulte [ EnvironmentVariable](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_EnvironmentVariable.html)o *Guia AWS CodeBuild da API*.

Para obter mais informações sobre o uso de variáveis de CodeBuild ambiente em CodePipeline, consulte os exemplos em[CodeBuild variáveis de saída de ação](reference-variables.md#reference-variables-list-configured-codebuild). Para obter uma lista das variáveis de ambiente que você pode usar CodeBuild, consulte [Variáveis de ambiente em ambientes de compilação](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html) no *Guia AWS CodeBuild do usuário*.

## Permissões da função de serviço: CodeBuild ação
<a name="edit-role-codebuild"></a>

Para obter CodeBuild suporte, adicione o seguinte à sua declaração de política:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "codebuild:BatchGetBuilds",
                "codebuild:StartBuild",
                "codebuild:BatchGetBuildBatches",
                "codebuild:StartBuildBatch"
            ],
            "Resource": [
                "arn:aws:codebuild:*:111122223333:project/[[ProjectName]]"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

## Declaração de ação (CodeBuild exemplo)
<a name="action-reference-CodeBuild-example"></a>

------
#### [ YAML ]

```
Name: Build
Actions:
  - Name: PackageExport
    ActionTypeId:
      Category: Build
      Owner: AWS
      Provider: CodeBuild
      Version: '1'
    RunOrder: 1
    Configuration:
      BatchEnabled: 'true'
      CombineArtifacts: 'true'
      ProjectName: my-build-project
      PrimarySource: MyApplicationSource1
      EnvironmentVariables: '[{"name":"TEST_VARIABLE","value":"TEST_VALUE","type":"PLAINTEXT"},{"name":"ParamStoreTest","value":"PARAMETER_NAME","type":"PARAMETER_STORE"}]'
    OutputArtifacts:
      - Name: MyPipeline-BuildArtifact
    InputArtifacts:
      - Name: MyApplicationSource1
      - Name: MyApplicationSource2
```

------
#### [ JSON ]

```
{
    "Name": "Build",
    "Actions": [
        {
            "Name": "PackageExport",
            "ActionTypeId": {
                "Category": "Build",
                "Owner": "AWS",
                "Provider": "CodeBuild",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "BatchEnabled": "true",
                "CombineArtifacts": "true",
                "ProjectName": "my-build-project",
                "PrimarySource": "MyApplicationSource1",
                "EnvironmentVariables": "[{\"name\":\"TEST_VARIABLE\",\"value\":\"TEST_VALUE\",\"type\":\"PLAINTEXT\"},{\"name\":\"ParamStoreTest\",\"value\":\"PARAMETER_NAME\",\"type\":\"PARAMETER_STORE\"}]"
            },
            "OutputArtifacts": [
                {
                    "Name": "MyPipeline-BuildArtifact"
                }
            ],
            "InputArtifacts": [
                {
                    "Name": "MyApplicationSource1"
                },
                {
                    "Name": "MyApplicationSource2"
                }
            ]
        }
    ]
}
```

------

## Consulte também
<a name="action-reference-CodeBuild-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [AWS CodeBuild Guia do usuário](https://docs.aws.amazon.com/codebuild/latest/userguide/) — Para ver um exemplo de pipeline com uma CodeBuild ação, consulte [Usar CodePipeline com CodeBuild para testar código e executar compilações.](https://docs.aws.amazon.com/codebuild/latest/userguide/how-to-create-pipeline.html) Para exemplos de projetos com vários CodeBuild artefatos de entrada e saída, consulte [CodePipelineIntegração com CodeBuild e várias fontes de entrada e amostra de artefatos de saída e](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-multi-input-output.html) Amostra de [várias fontes de entrada e artefatos de saída](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-multi-in-out.html).
+ [Tutorial: crie um pipeline que crie e teste seu aplicativo Android com AWS Device Farm](tutorials-codebuild-devicefarm.md)— Este tutorial fornece um exemplo de arquivo buildspec e um aplicativo de amostra para criar um pipeline com uma GitHub fonte que cria e testa um aplicativo Android com e. CodeBuild AWS Device Farm
+ [Referência de especificação de compilação para CodeBuild ](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html) — Este tópico de referência fornece definições e exemplos para entender os arquivos CodeBuild buildspec. Para obter uma lista das variáveis de ambiente que você pode usar CodeBuild, consulte [Variáveis de ambiente em ambientes de compilação](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html) no *Guia AWS CodeBuild do usuário*.

# AWS CodePipeline invocar referência de ação
<a name="action-reference-PipelineInvoke"></a>

Você usa uma ação de CodePipeline invocação para simplificar o acionamento de execuções de pipeline downstream e a transmissão de variáveis de pipeline e revisões de origem entre pipelines.

**nota**  
Essa ação é compatível somente para pipelines tipo V2.

**Topics**
+ [Tipo de ação](#action-reference-PipelineInvoke-type)
+ [Parâmetros de configuração](#action-reference-PipelineInvoke-parameters)
+ [Input artifacts (Artefatos de entrada)](#action-reference-PipelineInvoke-input)
+ [Artefatos de saída](#action-reference-PipelineInvoke-output)
+ [Permissões da política de função de serviço para a CodePipeline ação de invocação](#action-reference-PipelineInvoke-permissions-action)
+ [Declaração de ação](#action-reference-PipelineInvoke-example)
+ [Consulte também](#action-reference-PipelineInvoke-links)

## Tipo de ação
<a name="action-reference-PipelineInvoke-type"></a>
+ Categoria: `Invoke`
+ Proprietário: `AWS`
+ Fornecedor: `CodePipeline`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-PipelineInvoke-parameters"></a>

**PipelineName**  
Obrigatório: Sim  
O nome do pipeline que, ao ser executado, iniciará o pipeline de destino atual. Você já deve ter criado o pipeline de invocação. A ação iniciará o pipeline `s3-pipeline-test` (de destino) quando o pipeline (invocação) chamado `my-s3-pipeline` iniciar uma execução.

**SourceRevisions**  
Obrigatório: não  
As revisões de origem que você deseja que o pipeline de destino use quando for iniciado pelo pipeline de invocação. Por exemplo, uma ação de origem do S3 fornece variáveis de saída, como ID da versão e chave do objeto do S3. Você pode especificar um valor de revisão a ser usado quando o pipeline for invocado.   
Para a CLI, você especifica as revisões de origem como uma string JSON serializada. Para obter mais informações sobre como usar substituições de revisão de código-fonte, consulte o [SourceRevisionOverride](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_SourceRevisionOverride.html)Guia da *CodePipeline API*.  
O mapeamento usa um formato de string conforme mostrado no seguinte exemplo:  

```
[{"actionName":"Source","revisionType":"S3_OBJECT_VERSION_ID","revision
Value":"zq8mjNEXAMPLE"}]
```

**Variáveis**  
Obrigatório: não  
Os nomes e os valores de variáveis com os quais você deseja que a ação seja compatível.  
Para a CLI, você especifica variáveis como uma string JSON serializada. Para obter mais informações sobre o uso de variáveis de pipeline, consulte [PipelineVariable](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PipelineVariable.html)o *Guia CodePipeline da API*.  
O mapeamento usa um formato de string conforme mostrado no seguinte exemplo:  

```
[{"name":"VAR1","value":"VALUE1"}]
```

A imagem a seguir mostra um exemplo da ação adicionada a um pipeline no console. 

![\[Um pipeline com uma origem S3 e um estágio de compilação que inclui a ação invocar do pipeline\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/example-pipeline-invoke-run.png)


A imagem a seguir mostra um exemplo da página **Editar** da ação. No exemplo a seguir, o pipeline chamado `s3-pipeline-test` tem uma ação invocar de pipeline configurada conforme mostrado no console. A ação iniciará o pipeline `s3-pipeline-test` quando o pipeline chamado `my-s3-pipeline` concluir uma execução. O exemplo mostra que a substituição da revisão da origem pela substituição da origem S3\$1OBJECT\$1VERSION\$1ID pelo valor de revisão especificado de `zq8mjNYEexample`.

![\[A página Editar ação de um novo pipeline com a ação invocar do pipeline\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/example-pipeline-invoke-edit.png)


## Input artifacts (Artefatos de entrada)
<a name="action-reference-PipelineInvoke-input"></a>
+ **Número de artefatos:** `0`
+ **Descrição:** os artefatos de entrada não se aplicam a esse tipo de ação.

## Artefatos de saída
<a name="action-reference-PipelineInvoke-output"></a>
+ **Número de artefatos:** `0` 
+ **Descrição:** os artefatos de saída não se aplicam a esse tipo de ação.

## Permissões da política de função de serviço para a CodePipeline ação de invocação
<a name="action-reference-PipelineInvoke-permissions-action"></a>

Quando CodePipeline executa a ação, a política CodePipeline de função de serviço exige a `codepipeline:StartPipelineExecution` permissão, com escopo adequado até o ARN do recurso do pipeline, a fim de manter o acesso com menos privilégios.

```
 {
            "Sid": "StatementForPipelineInvokeAction",
            "Effect": "Allow",
            "Action": "codepipeline:StartPipelineExecution",
            "Resource": [
                "arn:aws:codepipeline:{{region}}:{{AccountId}}:{{pipelineName}}"
            ]
        }
```

## Declaração de ação
<a name="action-reference-PipelineInvoke-example"></a>

------
#### [ YAML ]

```
name: Invoke-pipeline
actionTypeId:
  category: Invoke
  owner: AWS
  provider: CodePipeline
  version: '1'
runOrder: 2
configuration:
  PipelineName: my-s3-pipeline
  SourceRevisions: '[{"actionName":"Source","revisionType":"S3_OBJECT_VERSION_ID","revision
Value":"zq8mjNEXAMPLE"}]'
  Variables: '[{"name":"VAR1","value":"VALUE1"}]'
```

------
#### [ JSON ]

```
{
    "name": "Invoke-pipeline",
    "actionTypeId": {
        "category": "Invoke",
        "owner": "AWS",
        "provider": "CodePipeline",
        "version": "1"
    },
    "runOrder": 2,
    "configuration": {
        "PipelineName": "my-s3-pipeline",
        "SourceRevisions": "[{\"actionName\":\"Source\",\"revisionType\":\"S3_OBJECT_VERSION_ID\",\"revisionValue\":\"zq8mjNEXAMPLE"}]",
        "Variables": "[{\"name\":\"VAR1\",\"value\":\"VALUE1\"}]"
    }
},
```

------

## Consulte também
<a name="action-reference-PipelineInvoke-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+  [Iniciar um pipeline com uma substituição da revisão de origem](pipelines-trigger-source-overrides.md)— Esta seção descreve o início de um pipeline com revisões de origem manualmente ou por meio do transformador de entrada de EventBridge eventos.

# CodeCommit referência da ação de origem
<a name="action-reference-CodeCommit"></a>

Inicia o pipeline quando uma nova confirmação é feita no CodeCommit repositório e na ramificação configurados.

Se você usa o console para criar ou editar o pipeline, CodePipeline cria uma EventBridge regra que inicia seu pipeline quando ocorre uma alteração no repositório.

**nota**  
Para Amazon ECR, Amazon S3 CodeCommit ou fontes, você também pode criar uma substituição de origem usando a entrada de transformação de entrada para usar `revisionValue` o EventBridge in para seu evento de pipeline, onde `revisionValue` o é derivado da variável de evento de origem para sua chave de objeto, confirmação ou ID de imagem. Para saber mais, consulte a etapa opcional da entrada da transformação de entrada incluída nos procedimentos em [Recursos e ações de origem do Amazon ECR EventBridge](create-cwe-ecr-source.md), [Conexão a ações de origem do Amazon S3 com uma fonte habilitada para eventos](create-S3-source-events.md) ou [CodeCommit ações de origem e EventBridge](triggering.md).

Você já deve ter criado um CodeCommit repositório antes de conectar o pipeline por meio de uma CodeCommit ação.

Depois que uma alteração de código é detectada, você tem as seguintes opções para passar o código para ações subsequentes:
+ **Padrão** — Configura a ação de CodeCommit origem para gerar um arquivo ZIP com uma cópia superficial do seu commit.
+ **Clone completo:** configura a ação de origem para gerar uma referência de URL do Git para o repositório nas ações subsequentes.

  Atualmente, a referência de URL do Git só pode ser usada por CodeBuild ações downstream para clonar o repositório e os metadados do Git associados. A tentativa de passar uma referência de URL do Git para CodeBuild não-ações resulta em um erro.

**Topics**
+ [Tipo de ação](#action-reference-CodeCommit-type)
+ [Parâmetros de configuração](#action-reference-CodeCommit-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-CodeCommit-input)
+ [Artefatos de saída](#action-reference-CodeCommit-output)
+ [Variáveis de saída](#action-reference-CodeCommit-variables)
+ [Permissões da função de serviço: CodeCommit ação](#edit-role-codecommit)
+ [Exemplo de configuração da ação](#action-reference-CodeCommit-example)
+ [Consulte também](#action-reference-CodeCommit-links)

## Tipo de ação
<a name="action-reference-CodeCommit-type"></a>
+ Categoria: `Source`
+ Proprietário: `AWS`
+ Fornecedor: `CodeCommit`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-CodeCommit-config"></a>

**RepositoryName**  
Obrigatório: Sim  
O nome do repositório onde as alterações de origem devem ser detectadas.

**BranchName**  
Obrigatório: Sim  
O nome da ramificação onde as alterações de origem devem ser detectadas.

**PollForSourceChanges**  
Obrigatório: não  
`PollForSourceChanges`controla se CodePipeline pesquisa o CodeCommit repositório em busca de alterações na fonte. Em vez disso, recomendamos que você use CloudWatch Eventos para detectar alterações na fonte. Para obter mais informações sobre como configurar CloudWatch eventos, consulte [Migrar pipelines de pesquisa (CodeCommit fonte) (CLI)](update-change-detection.md#update-change-detection-cli-codecommit) ou[Migrar canais de votação (CodeCommit fonte) (modelo)CloudFormation](update-change-detection.md#update-change-detection-cfn-codecommit).  
Se você pretende configurar uma regra de CloudWatch eventos, deve defini-la `PollForSourceChanges` `false` para evitar execuções duplicadas no pipeline.
Os valores válidos para esse parâmetro:  
+ `true`: se definido, CodePipeline pesquisa seu repositório em busca de alterações na fonte.
**nota**  
Se você omitir`PollForSourceChanges`, o CodePipeline padrão é pesquisar seu repositório em busca de alterações na fonte. Esse comportamento será o mesmo quando o `PollForSourceChanges` estiver incluído e definido como `true`.
+ `false`: se definido, CodePipeline não pesquisa seu repositório em busca de alterações na fonte. Use essa configuração se você pretende configurar uma regra de CloudWatch Eventos para detectar alterações na origem.

****OutputArtifactFormat****  
Obrigatório: não  
Formato do artefato de saída. Os valores podem ser `CODEBUILD_CLONE_REF` ou `CODE_ZIP`. Se não especificado, o padrão será `CODE_ZIP`.  
A opção `CODEBUILD_CLONE_REF` só pode ser usada por ações downstream do CodeBuild.  
Se você escolher essa opção, precisará adicionar a `codecommit:GitPull` permissão à sua função de CodeBuild serviço, conforme mostrado em[Adicionar CodeBuild GitClone permissões para ações CodeCommit de origem](troubleshooting.md#codebuild-role-codecommitclone). Você também precisa adicionar a `codecommit:GetRepository` permissão à sua função CodePipeline de serviço, conforme mostrado em[Adicionar permissões à função CodePipeline de serviço](how-to-custom-role.md#how-to-update-role-new-services). Para assistir a um tutorial que mostre como usar a opção **Clone completo**, consulte [Tutorial: use o clone completo com uma fonte de CodeCommit pipeline](tutorials-codecommit-gitclone.md).

## Input artifacts (Artefatos de entrada)
<a name="action-reference-CodeCommit-input"></a>
+ **Número de artefatos:** `0`
+ **Descrição:** os artefatos de entrada não se aplicam a esse tipo de ação.

## Artefatos de saída
<a name="action-reference-CodeCommit-output"></a>
+ **Número de artefatos:** `1` 
+ **Descrição:** O artefato de saída desta ação é um arquivo ZIP que contém o conteúdo do repositório e ramificação configurados na confirmação especificada como a revisão de origem para a execução do pipeline. Os artefatos gerados do repositório são os artefatos de saída da ação. CodeCommit O ID de confirmação do código-fonte é exibido CodePipeline como a revisão da fonte para a execução do pipeline acionado.

## Variáveis de saída
<a name="action-reference-CodeCommit-variables"></a>

Quando configurada, essa ação produz variáveis que podem ser referenciadas pela configuração de ação de uma ação downstream no pipeline. Esta ação produz variáveis que podem ser visualizadas como variáveis de saída, mesmo que a ação não tenha um namespace. Configure uma ação com um namespace a fim de disponibilizar as variáveis para a configuração de ações downstream.

Para obter mais informações, consulte [Referência de variáveis](reference-variables.md).

**CommitId**  
O ID do CodeCommit commit que acionou a execução do pipeline. IDs Os commits são o SHA completo do commit.

**CommitMessage**  
A mensagem da descrição, se houver, associada à confirmação que acionou a execução do pipeline.

**RepositoryName**  
O nome do CodeCommit repositório em que o commit que acionou o pipeline foi feito.

**BranchName**  
O nome da ramificação do CodeCommit repositório em que a alteração na fonte foi feita.

**AuthorDate**  
A data em que a confirmação foi criada, no formato de timestamp.

**CommitterDate**  
A data em que a confirmação foi confirmada, no formato de timestamp.

## Permissões da função de serviço: CodeCommit ação
<a name="edit-role-codecommit"></a>

Ao CodePipeline executar a ação, a política de função de CodePipeline serviço exige as seguintes permissões, com escopo adequado até o ARN do recurso do pipeline, a fim de manter o acesso com menos privilégios. Por exemplo, adicione o seguinte à declaração da política:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codecommit:CancelUploadArchive",
                "codecommit:GetBranch",
                "codecommit:GetCommit",
                "codecommit:GetRepository",
                "codecommit:GetUploadArchiveStatus",
                "codecommit:UploadArchive"
            ],
            "Resource": [
                "arn:aws:codecommit:*:111122223333:[[codecommitRepostories]]"
            ]
        }
    ]
}
```

------



## Exemplo de configuração da ação
<a name="action-reference-CodeCommit-example"></a>

### Exemplo de formato de artefato de saída padrão
<a name="w2aac56c49c29b3"></a>

------
#### [ YAML ]

```
name: Source
actionTypeId:
  category: Source
  owner: AWS
  provider: CodeCommit
  version: '1'
runOrder: 1
configuration:
  BranchName: main
  PollForSourceChanges: 'false'
  RepositoryName: MyWebsite
outputArtifacts:
  - name: Artifact_MyWebsiteStack
inputArtifacts: []
region: us-west-2
namespace: SourceVariables
```

------
#### [ JSON ]

```
{
    "name": "Source",
    "actionTypeId": {
        "category": "Source",
        "owner": "AWS",
        "provider": "CodeCommit",
        "version": "1"
    },
    "runOrder": 1,
    "configuration": {
        "BranchName": "main",
        "PollForSourceChanges": "false",
        "RepositoryName": "MyWebsite"
    },
    "outputArtifacts": [
        {
            "name": "Artifact_MyWebsiteStack"
        }
    ],
    "inputArtifacts": [],
    "region": "us-west-2",
    "namespace": "SourceVariables"
}
```

------

### Exemplo de formato de artefato de saída de clonagem completa
<a name="w2aac56c49c29b5"></a>

------
#### [ YAML ]

```
name: Source
actionTypeId:
  category: Source
  owner: AWS
  provider: CodeCommit
  version: '1'
runOrder: 1
configuration:
  BranchName: main
  OutputArtifactFormat: CODEBUILD_CLONE_REF
  PollForSourceChanges: 'false'
  RepositoryName: MyWebsite
outputArtifacts:
  - name: SourceArtifact
inputArtifacts: []
region: us-west-2
namespace: SourceVariables
```

------
#### [ JSON ]

```
{
    "name": "Source",
    "actionTypeId": {
        "category": "Source",
        "owner": "AWS",
        "provider": "CodeCommit",
        "version": "1"
    },
    "runOrder": 1,
    "configuration": {
        "BranchName": "main",
        "OutputArtifactFormat": "CODEBUILD_CLONE_REF",
        "PollForSourceChanges": "false",
        "RepositoryName": "MyWebsite"
    },
    "outputArtifacts": [
        {
            "name": "SourceArtifact"
        }
    ],
    "inputArtifacts": [],
    "region": "us-west-2",
    "namespace": "SourceVariables"
}
```

------

## Consulte também
<a name="action-reference-CodeCommit-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [Tutorial: criar um pipeline simples (CodeCommit repositório)](tutorials-simple-codecommit.md)— Este tutorial fornece um exemplo de arquivo de especificação do aplicativo e um exemplo de grupo de implantação e CodeDeploy aplicativo. Use este tutorial para criar um pipeline com uma CodeCommit fonte que é implantada em instâncias do Amazon EC2.

# Referência da ação de implantação do AWS CodeDeploy
<a name="action-reference-CodeDeploy"></a>

Você usa uma AWS CodeDeploy ação para implantar o código do aplicativo em sua frota de implantação. Sua frota de implantação pode consistir em instâncias do Amazon EC2, instâncias on-premises ou ambas.

**nota**  
Este tópico de referência descreve a ação CodeDeploy de implantação para CodePipeline onde a plataforma de implantação é o Amazon EC2. Para obter informações de referência sobre o Amazon Elastic Container Service para ações de CodeDeploy blue/green implantação CodePipeline, consulte[Amazon Elastic Container Service e referência de ação de implantação CodeDeploy azul-verde](action-reference-ECSbluegreen.md).

**Topics**
+ [Tipo de ação](#action-reference-CodeDeploy-type)
+ [Parâmetros de configuração](#action-reference-CodeDeploy-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-CodeDeploy-input)
+ [Artefatos de saída](#action-reference-CodeDeploy-output)
+ [Permissões da função de serviço: AWS CodeDeploy ação](#edit-role-codedeploy)
+ [Declaração de ação](#action-reference-CodeDeploy-example)
+ [Consulte também](#action-reference-CodeDeploy-links)

## Tipo de ação
<a name="action-reference-CodeDeploy-type"></a>
+ Categoria: `Deploy`
+ Proprietário: `AWS`
+ Fornecedor: `CodeDeploy`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-CodeDeploy-config"></a>

**ApplicationName**  
Obrigatório: Sim  
O nome do aplicativo que você criou em CodeDeploy.

**DeploymentGroupName**  
Obrigatório: Sim  
O grupo de implantação que você criou em CodeDeploy.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-CodeDeploy-input"></a>
+ **Número de artefatos:** `1`
+ **Descrição:** O AppSpec arquivo CodeDeploy usado para determinar:
  + O que instalar em suas instâncias a partir da revisão do aplicativo no Amazon S3 ou. GitHub
  + quais ganchos de evento de ciclo de vida devem ser executados em resposta a eventos de ciclo de vida de implantação.

  Para obter mais informações sobre o AppSpec arquivo, consulte a [Referência CodeDeploy AppSpec do arquivo](https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file.html).

  

## Artefatos de saída
<a name="action-reference-CodeDeploy-output"></a>
+ **Número de artefatos:** `0` 
+ **Descrição:** os artefatos de saída não se aplicam a esse tipo de ação.

## Permissões da função de serviço: AWS CodeDeploy ação
<a name="edit-role-codedeploy"></a>

Para obter AWS CodeDeploy suporte, adicione o seguinte à sua declaração de política:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codedeploy:CreateDeployment",
                "codedeploy:GetApplication",
                "codedeploy:GetDeployment",
                "codedeploy:RegisterApplicationRevision",
                "codedeploy:ListDeployments",
                "codedeploy:ListDeploymentGroups",
                "codedeploy:GetDeploymentGroup"
            ],
            "Resource": [
                "arn:aws:codedeploy:*:111122223333:application:[[codedeployApplications]]",
                "arn:aws:codedeploy:*:111122223333:deploymentgroup:[[codedeployApplications]]/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codedeploy:GetDeploymentConfig"
            ],
            "Resource": [
                "arn:aws:codedeploy:*:111122223333:deploymentconfig:[[deploymentConfigs]]"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codedeploy:ListDeploymentConfigs"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

## Declaração de ação
<a name="action-reference-CodeDeploy-example"></a>

------
#### [ YAML ]

```
Name: Deploy
Actions:
  - Name: Deploy
    ActionTypeId:
      Category: Deploy
      Owner: AWS
      Provider: CodeDeploy
      Version: '1'
    RunOrder: 1
    Configuration:
      ApplicationName: my-application
      DeploymentGroupName: my-deployment-group
    OutputArtifacts: []
    InputArtifacts:
      - Name: SourceArtifact
    Region: us-west-2
    Namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "Name": "Deploy",
    "Actions": [
        {
            "Name": "Deploy",
            "ActionTypeId": {
                "Category": "Deploy",
                "Owner": "AWS",
                "Provider": "CodeDeploy",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "ApplicationName": "my-application",
                "DeploymentGroupName": "my-deployment-group"
            },
            "OutputArtifacts": [],
            "InputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "Region": "us-west-2",
            "Namespace": "DeployVariables"
        }
    ]
},
```

------

## Consulte também
<a name="action-reference-CodeDeploy-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [Tutorial: Criar um pipeline simples (bucket do S3)](tutorials-simple-s3.md)— Este tutorial orienta você na criação de um bucket de origem, instâncias do EC2 e CodeDeploy recursos para implantar um aplicativo de amostra. Em seguida, você cria seu pipeline com uma ação de CodeDeploy implantação que implanta o código mantido em seu bucket do S3 na sua instância do Amazon EC2.
+ [Tutorial: criar um pipeline simples (CodeCommit repositório)](tutorials-simple-codecommit.md)— Este tutorial orienta você na criação do seu repositório de CodeCommit origem, instâncias do EC2 e CodeDeploy recursos para implantar um aplicativo de amostra. Em seguida, você cria seu pipeline com uma ação de CodeDeploy implantação que implanta o código do seu CodeCommit repositório na sua instância do Amazon EC2.
+ [CodeDeploy AppSpec Referência de arquivo](https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file.html) — Este capítulo de referência no *Guia AWS CodeDeploy do usuário* fornece informações de referência e exemplos de CodeDeploy AppSpec arquivos.

# CodeStarSourceConnection para Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com e ações GitLab autogerenciadas
<a name="action-reference-CodestarConnectionSource"></a>

As ações de origem para conexões são suportadas pelo Conexões de código da AWS. CodeConnections permite criar e gerenciar conexões entre AWS recursos e repositórios de terceiros, como GitHub. Aciona um pipeline quando uma nova confirmação é feita em um repositório de código-fonte de terceiros. A ação de origem recupera alterações de código quando um pipeline é executado manualmente ou quando um evento do webhook é enviado pelo provedor de origem. 

Você pode configurar ações no pipeline para usar uma configuração do Git que permite iniciar o pipeline com gatilhos. Para definir a configuração de gatilhos do pipeline e aplicar filtros, consulte mais detalhes em [Adicionar gatilho com tipos de eventos code push ou pull request](pipelines-filter.md).

**nota**  
Esse recurso não está disponível nas regiões Ásia-Pacífico (Hong Kong), Ásia-Pacífico (Hyderabad), Ásia-Pacífico (Jacarta), Ásia-Pacífico (Melbourne), Ásia-Pacífico (Osaka), África (Cidade do Cabo), Oriente Médio (Bahrein), Oriente Médio (EAU), Europa (Espanha), Europa (Zurique), Israel (Tel Aviv) ou (Oeste dos EUA). AWS GovCloud Para fazer referência a outras ações disponíveis, consulte [Integrações de produtos e serviços com CodePipeline](integrations.md). Para considerações sobre essa ação na região Europa (Milão), consulte a nota em [CodeStarSourceConnection para Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com e ações GitLab autogerenciadas](#action-reference-CodestarConnectionSource).

As conexões podem associar seus AWS recursos aos seguintes repositórios de terceiros:
+ Bitbucket Cloud (por meio da opção **de provedor Bitbucket** no CodePipeline console ou do `Bitbucket` provedor na CLI)
**nota**  
Você pode criar conexões para um repositório do Bitbucket Cloud. Não há suporte a tipos de provedores instalados do Bitbucket, como o Bitbucket Server. 
+ 
**nota**  
Se você estiver usando um espaço de trabalho do Bitbucket, precisará ter acesso de administrador para criar a conexão.
+ GitHub e GitHub Enterprise Cloud (por meio da opção de provedor **GitHub (via GitHub aplicativo)** no CodePipeline console ou do `GitHub` provedor na CLI)
**nota**  
Se o seu repositório estiver em uma GitHub organização, você deverá ser o proprietário da organização para criar a conexão. Se você estiver usando um repositório que não esteja em uma organização, você precisará ser o proprietário do repositório.
+ GitHub Enterprise Server (por meio da opção de provedor **GitHub Enterprise Server** no CodePipeline console ou do `GitHub Enterprise Server` provedor na CLI)
+ GitLab.com (por meio da opção de **GitLab**provedor no CodePipeline console ou do `GitLab` provedor na CLI)
**nota**  
Você pode criar conexões com um repositório no qual você tem a função de **Proprietário** e GitLab, em seguida, a conexão pode ser usada com o repositório com recursos como. CodePipeline Para repositórios em grupos, você não precisa ser o proprietário do grupo.
+ Instalação autogerenciada para GitLab (Enterprise Edition ou Community Edition) (por meio da opção de provedor **GitLab autogerenciado** no CodePipeline console ou do `GitLabSelfManaged` provedor na CLI)

**nota**  
Cada conexão oferece suporte a todos os repositórios que você tem com esse provedor. Você só precisa criar uma nova conexão para cada tipo de provedor.

As conexões permitem que seu pipeline detecte alterações na origem por meio do aplicativo de instalação do provedor de terceiros. Por exemplo, webhooks são usados para assinar tipos de GitHub eventos e podem ser instalados em uma organização, um repositório ou um aplicativo. GitHub Sua conexão instala um webhook de repositório em seu GitHub aplicativo que se inscreve para GitHub eventos do tipo push.

Depois que uma alteração de código é detectada, você tem as seguintes opções para passar o código para ações subsequentes:
+ Padrão: como outras ações de CodePipeline origem existentes, `CodeStarSourceConnection` pode gerar um arquivo ZIP com uma cópia superficial do seu commit.
+ Clone completo: a ação `CodeStarSourceConnection` também pode ser configurada para gerar uma referência de URL para o repositório nas ações subsequentes.

  Atualmente, a referência de URL do Git só pode ser usada por CodeBuild ações downstream para clonar o repositório e os metadados do Git associados. A tentativa de passar uma referência de URL do Git para CodeBuild não-ações resulta em um erro.

CodePipeline solicita que você adicione o aplicativo de instalação do AWS Connector à sua conta de terceiros ao criar uma conexão. Você já deve ter criado sua conta e repositório do provedor de terceiros para que possa se conectar por meio da ação `CodeStarSourceConnection`.

**nota**  
Para criar ou anexar uma política ao seu perfil com as permissões necessárias para usar o AWS CodeStar Connections, consulte [Referência de permissões do Connections](https://docs.aws.amazon.com/dtconsole/latest/userguide/security-iam.html#permissions-reference-connections). Dependendo de quando sua função CodePipeline de serviço foi criada, talvez seja necessário atualizar suas permissões para oferecer suporte às AWS CodeStar conexões. Para instruções, consulte [Adicionar permissões à função CodePipeline de serviço](how-to-custom-role.md#how-to-update-role-new-services).

**nota**  
Para usar conexões na Europa (Milão) Região da AWS, você deve:   
Instalar uma aplicação específica da região.
Habilitar a região.
Essa aplicação específica da região é compatível com conexões na região Europa (Milão). Ela é publicada no site do provedor externo e é separada da aplicação existente que permite conexões para outras regiões. Ao instalar essa aplicação, você autoriza provedores externos a compartilhar seus dados somente com o serviço dessa região, mas pode revogar as permissões a qualquer momento ao desinstalá-la.  
O serviço não processará nem armazenará seus dados, a menos que você habilite a região. Ao habilitar essa região, você concede ao nosso serviço permissões para processar e armazenar seus dados.  
Mesmo que a região não esteja habilitada, provedores externos ainda poderão compartilhar seus dados com nosso serviço se a aplicação específica da região permanecer instalada. Portanto, desinstale a aplicação depois de desabilitar a região. Para obter mais informações, consulte [Habilitar uma região](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable).

**Topics**
+ [Tipo de ação](#action-reference-CodestarConnectionSource-type)
+ [Parâmetros de configuração](#action-reference-CodestarConnectionSource-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-CodestarConnectionSource-input)
+ [Artefatos de saída](#action-reference-CodestarConnectionSource-output)
+ [Variáveis de saída](#action-reference-CodestarConnectionSource-variables)
+ [Permissões da função de serviço: CodeConnections ação](#edit-role-connections)
+ [Declaração de ação](#action-reference-CodestarConnectionSource-example)
+ [Instalação do aplicativo de instalação e criação de uma conexão](#action-reference-CodestarConnectionSource-auth)
+ [Consulte também](#action-reference-CodestarConnectionSource-links)

## Tipo de ação
<a name="action-reference-CodestarConnectionSource-type"></a>
+ Categoria: `Source`
+ Proprietário: `AWS`
+ Fornecedor: `CodeStarSourceConnection`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-CodestarConnectionSource-config"></a>

****ConnectionArn****  
Obrigatório: Sim  
O ARN de conexão configurado e autenticado para o provedor de origem.

****FullRepositoryId****  
Obrigatório: Sim  
O proprietário e o nome do repositório onde as alterações de origem devem ser detectadas.  
Exemplo: `some-user/my-repo`  
Você deve manter as letras maiúsculas e minúsculas corretas para o **FullRepositoryId**valor. Por exemplo, se seu nome de usuário for `some-user` e o nome do repositório for`My-Repo`, o valor recomendado de **FullRepositoryId**é`some-user/My-Repo`.

****BranchName****  
Obrigatório: Sim  
O nome da ramificação onde as alterações de origem devem ser detectadas.

****OutputArtifactFormat****  
Obrigatório: não  
Especifica o formato do artefato de saída. Pode ser `CODEBUILD_CLONE_REF` ou `CODE_ZIP`. Se não especificado, o padrão será `CODE_ZIP`.  
A opção `CODEBUILD_CLONE_REF` só pode ser usada por ações downstream do CodeBuild.  
Se você escolher essa opção, precisará atualizar as permissões para sua função de serviço CodeBuild do projeto, conforme mostrado em[Adicione CodeBuild GitClone permissões para conexões com o Bitbucket GitHub, GitHub Enterprise Server ou .com GitLab](troubleshooting.md#codebuild-role-connections). Para um tutorial que mostra como usar a opção **Clone completo**, consulte [Tutorial: use o clone completo com uma fonte de GitHub pipeline](tutorials-github-gitclone.md).

**DetectChanges**  
 Obrigatório: não  
Determina o acionamento automático do pipeline quando uma nova confirmação é feita no repositório e na ramificação configurados. Se não for especificado, o valor padrão será `true` e o campo não será exibido por padrão. Os valores válidos para esse parâmetro:  
+ `true`: inicia CodePipeline automaticamente seu funil de novas confirmações.
+ `false`: CodePipeline não inicia seu funil com novos commits.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-CodestarConnectionSource-input"></a>
+ **Número de artefatos:** `0`
+ **Descrição:** os artefatos de entrada não se aplicam a esse tipo de ação.

## Artefatos de saída
<a name="action-reference-CodestarConnectionSource-output"></a>
+ **Número de artefatos:** `1` 
+ **Descrição:** os artefatos gerados no repositório são os artefatos de saída para a ação do `CodeStarSourceConnection`. O ID de confirmação do código-fonte é exibido CodePipeline como a revisão da fonte para a execução do pipeline acionado. Você pode configurar o artefato de saída desta ação em:
  + Um arquivo ZIP que contém o conteúdo do repositório e ramificação configurados na confirmação especificada como a revisão de origem para a execução do pipeline.
  + Um arquivo JSON que contém uma referência de URL para o repositório para que as ações downstream possam executar comandos Git diretamente.
**Importante**  
Essa opção só pode ser usada por ações CodeBuild posteriores.  
Se você escolher essa opção, precisará atualizar as permissões para sua função de serviço CodeBuild do projeto, conforme mostrado em[Solução de problemas CodePipeline](troubleshooting.md). Para assistir a um tutorial que mostre como usar a opção **Clone completo**, consulte [Tutorial: use o clone completo com uma fonte de GitHub pipeline](tutorials-github-gitclone.md).

## Variáveis de saída
<a name="action-reference-CodestarConnectionSource-variables"></a>

Quando configurada, essa ação produz variáveis que podem ser referenciadas pela configuração de ação de uma ação downstream no pipeline. Esta ação produz variáveis que podem ser visualizadas como variáveis de saída, mesmo que a ação não tenha um namespace. Configure uma ação com um namespace a fim de disponibilizar as variáveis para a configuração de ações downstream.

Para obter mais informações, consulte [Referência de variáveis](reference-variables.md).

AuthorDate  
A data em que a confirmação foi criada, no formato de timestamp.

BranchName  
O nome da ramificação do repositório do onde a alteração de origem foi feita.

CommitId  
O ID de confirmação do que acionou a execução do pipeline.

CommitMessage  
A mensagem da descrição, se houver, associada à confirmação que acionou a execução do pipeline.

ConnectionArn  
O ARN de conexão configurado e autenticado para o provedor de origem.

FullRepositoryName  
O nome do repositório do onde a confirmação que acionou o pipeline foi feita.

## Permissões da função de serviço: CodeConnections ação
<a name="edit-role-connections"></a>

Pois CodeConnections, a permissão a seguir é necessária para criar pipelines com uma fonte que usa uma conexão, como o Bitbucket Cloud.

```
{
    "Effect": "Allow",
    "Action": [
        "codeconnections:UseConnection"
    ],
    "Resource": "resource_ARN"
},
```

Para obter mais informações sobre as permissões do IAM para conexões, consulte [Referência de permissões do Connections](https://docs.aws.amazon.com/dtconsole/latest/userguide/security-iam.html#permissions-reference-connections).

## Declaração de ação
<a name="action-reference-CodestarConnectionSource-example"></a>

No exemplo a seguir, o artefato de saída é definido como o formato ZIP padrão `CODE_ZIP` para a conexão com o ARN `arn:aws:codestar-connections:region:account-id:connection/connection-id`.

------
#### [ YAML ]

```
Name: Source
Actions:
  - InputArtifacts: []
    ActionTypeId:
      Version: '1'
      Owner: AWS
      Category: Source
      Provider: CodeStarSourceConnection
    OutputArtifacts:
      - Name: SourceArtifact
    RunOrder: 1
    Configuration:
      ConnectionArn: "arn:aws:codestar-connections:region:account-id:connection/connection-id"
      FullRepositoryId: "some-user/my-repo"
      BranchName: "main"
      OutputArtifactFormat: "CODE_ZIP"
    Name: ApplicationSource
```

------
#### [ JSON ]

```
{
    "Name": "Source",
    "Actions": [
        {
            "InputArtifacts": [],
            "ActionTypeId": {
                "Version": "1",
                "Owner": "AWS",
                "Category": "Source",
                "Provider": "CodeStarSourceConnection"
            },
            "OutputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "RunOrder": 1,
            "Configuration": {
                "ConnectionArn": "arn:aws:codestar-connections:region:account-id:connection/connection-id",
                "FullRepositoryId": "some-user/my-repo",
                "BranchName": "main",
                "OutputArtifactFormat": "CODE_ZIP"
            },
            "Name": "ApplicationSource"
        }
    ]
},
```

------

## Instalação do aplicativo de instalação e criação de uma conexão
<a name="action-reference-CodestarConnectionSource-auth"></a>

Na primeira vez que você usa o console para adicionar uma nova conexão a um repositório de terceiros, você deve autorizar o CodePipeline acesso aos seus repositórios. Você escolhe ou cria um aplicativo de instalação que o ajuda a se conectar à conta em que o repositório de código de terceiros foi criado.

 Ao usar o AWS CLI ou um CloudFormation modelo, você deve fornecer o ARN de conexão de uma conexão que já passou pelo handshake de instalação. Caso contrário, o pipeline não é acionado. 

**nota**  
Em uma ação de origem `CodeStarSourceConnection`, você não precisa configurar um webhook ou usar a pesquisa como valor padrão. A ação do Connections gerencia a detecção de alterações na origem para você.

## Consulte também
<a name="action-reference-CodestarConnectionSource-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [AWS::CodeStarConnections::Connection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html)— A referência do CloudFormation modelo para o recurso AWS CodeStar Conexões fornece parâmetros e exemplos de conexões em CloudFormation modelos.
+ [AWS CodeStarReferência da API](https://docs.aws.amazon.com/codestar-connections/latest/APIReference/Welcome.html) de *AWS CodeStar conexões — A Referência da API* de conexões fornece informações de referência para as ações de conexões disponíveis.
+ Para visualizar as etapas de criação de um pipeline com as ações de origem compatíveis com o Connections, consulte o seguinte:
  + Para o Bitbucket Cloud, use a opção **Bitbucket** no console ou a ação `CodestarSourceConnection` na CLI. Consulte [Conexões do Bitbucket Cloud](connections-bitbucket.md).
  + Para GitHub um GitHub Enterprise Cloud, use a opção de **GitHub**provedor no console ou a `CodestarSourceConnection` ação na CLI. Consulte [GitHub conexões](connections-github.md).
  + Para o GitHub Enterprise Server, use a opção **GitHub Enterprise Server** provider no console ou a `CodestarSourceConnection` ação na CLI. Consulte [GitHub Conexões do Enterprise Server](connections-ghes.md).
  + Para GitLab .com, use a opção **GitLab**provider no console ou a `CodestarSourceConnection` ação com o `GitLab` provedor na CLI. Consulte [GitLabconexões.com](connections-gitlab.md).
+ Para ver um tutorial de introdução que cria um pipeline com uma fonte do Bitbucket e uma CodeBuild ação, consulte [Introdução às conexões](https://docs.aws.amazon.com/dtconsole/latest/userguide/getting-started-connections.html).
+ Para ver um tutorial que mostra como se conectar a um GitHub repositório e usar a opção de **clonagem completa** com uma CodeBuild ação posterior, consulte. [Tutorial: use o clone completo com uma fonte de GitHub pipeline](tutorials-github-gitclone.md)

# Referência da ação Commands
<a name="action-reference-Commands"></a>

A ação Commands permite que você execute comandos de shell em uma instância de computação virtual. Ao executar a ação, os comandos especificados na configuração dela são executados em um contêiner separado. Todos os artefatos especificados como artefatos de entrada para uma CodeBuild ação estão disponíveis dentro do contêiner que executa os comandos. Essa ação permite especificar comandos sem primeiro criar um CodeBuild projeto. Para obter mais informações, consulte [ActionDeclaration](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ActionDeclaration.html) e [OutputArtifact](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_OutputArtifact.html) na *Referência da API do AWS CodePipeline *.

**Importante**  
Essa ação usa CodeBuild computação CodePipeline gerenciada para executar comandos em um ambiente de compilação. A execução da ação Comandos incorrerá em cobranças separadas no AWS CodeBuild.

**nota**  
A ação Comandos só está disponível para pipelines do tipo V2.

**Topics**
+ [Considerações para a ação Commands](#action-reference-Commands-considerations)
+ [Permissões de política de perfil de serviço](#action-reference-Commands-policy)
+ [Tipo de ação](#action-reference-Commands-type)
+ [Parâmetros de configuração](#action-reference-Commands-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-Commands-input)
+ [Artefatos de saída](#action-reference-Commands-output)
+ [Variáveis de ambiente](#action-reference-Commands-envvars)
+ [Permissões do perfil de serviço: ação Comandos](#edit-role-Commands)
+ [Declaração de ação (exemplo)](#action-reference-Commands-example)
+ [Consulte também](#action-reference-Commands-links)

## Considerações para a ação Commands
<a name="action-reference-Commands-considerations"></a>

As seguintes considerações se aplicam à ação Commands.
+ A ação de comandos usa CodeBuild recursos semelhantes à CodeBuild ação, ao mesmo tempo em que permite comandos do ambiente shell em uma instância de computação virtual sem a necessidade de associar ou criar um projeto de construção.
**nota**  
A execução da ação Comandos incorrerá em cobranças separadas no AWS CodeBuild.
+ Como a ação Comandos CodePipeline usa CodeBuild recursos, as compilações executadas pela ação serão atribuídas aos limites de criação da sua conta em CodeBuild. As compilações executadas pela ação Commands serão contabilizadas nos limites de compilações simultâneas, conforme configurado para essa conta.
+ O tempo limite para compilações com a ação Comandos é de 55 minutos, com base nas CodeBuild compilações.
+ A instância de computação usa um ambiente de compilação isolado em CodeBuild. 
**nota**  
Como o ambiente de compilação isolado é usado no nível da conta, uma instância pode ser reutilizada para outra execução de pipeline.
+ Todos os formatos são compatíveis, exceto os formatos de várias linhas. Você deve usar o formato de linha única ao inserir comandos.
+ A ação de comandos é compatível com ações entre contas. Para adicionar uma ação de comandos entre contas, adicione `actionRoleArn` da conta de destino na declaração de ação.
+ Para essa ação, CodePipeline assumirá a função de serviço de pipeline e usará essa função para permitir o acesso aos recursos em tempo de execução. É recomendável configurar o perfil de serviço para que as permissões sejam reduzidas ao nível da ação.
+ As permissões adicionadas à função CodePipeline de serviço estão detalhadas em[Adicionar permissões à função CodePipeline de serviço](how-to-custom-role.md#how-to-update-role-new-services).
+ A permissão necessária para visualizar logs no console está detalhada em [Permissões necessárias para visualizar registros computacionais no console](security-iam-permissions-console-logs.md).
+ Ao contrário de outras ações em CodePipeline, você não define campos na configuração da ação; você define os campos de configuração da ação fora da configuração da ação.

## Permissões de política de perfil de serviço
<a name="action-reference-Commands-policy"></a>

Ao CodePipeline executar a ação, CodePipeline cria um grupo de registros usando o nome do pipeline da seguinte forma. Isso permite reduzir as permissões para os recursos de log usando o nome do pipeline.

```
/aws/codepipeline/MyPipelineName
```

Caso utilize um perfil de serviço já existente, será preciso incluir as permissões a seguir ao perfil de serviço para habilitar o uso da ação Commands.
+ registros: CreateLogGroup
+ registros: CreateLogStream
+ registros: PutLogEvents

Na declaração de política do perfil de serviço, reduza as permissões até o nível do pipeline, conforme mostrado no exemplo a seguir.

```
{
    "Effect": "Allow",
    "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
    ],
    "Resource": [
        "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME",
        "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME:*"
   ]
}
```

Para visualizar logs no console usando a página de diálogo de detalhes da ação, a permissão para visualizar logs deve ser adicionada ao perfil do console. Para ter mais informações, consulte o exemplo de política de permissões do console em [Permissões necessárias para visualizar registros computacionais no console](security-iam-permissions-console-logs.md).

## Tipo de ação
<a name="action-reference-Commands-type"></a>
+ Categoria: `Compute`
+ Proprietário: `AWS`
+ Fornecedor: `Commands`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-Commands-config"></a>

**Comandos**  
Obrigatório: Sim  
Você pode fornecer comandos de shell para a ação `Commands` ser executada. No console, os comandos são inseridos em linhas separadas. Na CLI, os comandos são inseridos como strings separadas.  
Os formatos de várias linhas não são compatíveis e resultarão em uma mensagem de erro. O formato de linha única deve ser usado para inserir comandos no campo **Comandos**.
Os ComputeType valores EnvironmentType e correspondem aos de CodeBuild. Oferecemos suporte a um subconjunto dos tipos disponíveis. Para obter mais informações, consulte [Tipos de computação de ambiente de compilação](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html).

**EnvironmentType**  
Obrigatório: não  
A imagem do sistema operacional para o ambiente de compilação que dá suporte à ação Comandos. Estes são valores válidos para ambientes de compilação:  
+ LINUX\$1CONTAINER
+ WINDOWS\$1SERVER\$12022\$1CONTAINER
A seleção de então **EnvironmentType**permitirá o tipo de computação desse sistema operacional no **ComputeType**campo. Para obter mais informações sobre os tipos de CodeBuild computação disponíveis para essa ação, consulte a referência de [modos e tipos de computação do ambiente de criação](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) no Guia do CodeBuild usuário.  
Se não for especificado, a computação assumirá como padrão o seguinte para o ambiente de compilação:  
+ **Tipo de computação:** GENERAL1 BUILD\$1 \$1SMALL
+ **Tipo de ambiente:** LINUX\$1CONTAINER

**ComputeType**  
Obrigatório: não  
Com base na seleção para EnvironmentType, o tipo de computação pode ser fornecido. A seguir estão os valores disponíveis para computação; no entanto, as opções disponíveis podem variar de acordo com o sistema operacional.  
+ CONSTRUIR\$1 \$1PEQUENO GENERAL1
+ BUILD\$1 GENERAL1 \$1MEDIUM
+ CONSTRUÇÃO\$1 GENERAL1 \$1GRANDE
Alguns tipos de computação não são compatíveis com determinados tipos de ambiente. Por exemplo, WINDOWS\$1SERVER\$12022\$1CONTAINER não é compatível com BUILD\$1 \$1SMALL. GENERAL1 O uso de combinações incompatíveis causa falha na ação e gera um erro de runtime.

**outputVariables**  
Obrigatório: não  
Especifique os nomes das variáveis do ambiente que deseja exportar. Para obter uma referência das variáveis de CodeBuild ambiente, consulte [Variáveis de ambiente em ambientes de construção](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html) no *Guia CodeBuild do usuário*. 

**Arquivos**  
Obrigatório: não  
Você pode fornecer arquivos que deseja exportar como artefatos de saída para a ação.  
O formato suportado para arquivos é o mesmo dos padrões de CodeBuild arquivo. Por exemplo, insira `**/` para todos os arquivos. Para obter mais informações, consulte a [referência da especificação de compilação CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.artifacts.files) no *Guia CodeBuild do usuário*.  

![\[A página Editar ação para um novo pipeline com a ação Commands\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/commands-edit-screen.png)


**VpcId**  
Obrigatório: não  
O ID da VPC dos recursos.

**Sub-redes**  
Obrigatório: não  
As sub-redes da VPC. Este campo é necessário quando os comandos precisam se conectar a recursos em uma VPC.

**SecurityGroupIds**  
Obrigatório: não  
Os grupos de segurança da VPC. Este campo é necessário quando os comandos precisam se conectar a recursos em uma VPC.

Este é um exemplo JSON da ação com campos de configuração mostrados para ambiente e tipo de computação, além da variável do ambiente de exemplo.

```
 {
            "name": "Commands1",
            "actionTypeId": {
              "category": "Compute",
              "owner": "AWS",
              "provider": "Commands",
              "version": "1"
            },
            "inputArtifacts": [
              {
                "name": "SourceArtifact"
              }
            ],
            "commands": [
              "ls",
              "echo hello",
              "echo $BEDROCK_TOKEN",
            ],
            "configuration": {
              "EnvironmentType": "LINUX_CONTAINER",
              "ComputeType": "BUILD_GENERAL1_MEDIUM"
            },
            "environmentVariables": [
              {
                "name": "BEDROCK_TOKEN",
                "value": "apiTokens:bedrockToken",
                "type": "SECRETS_MANAGER"
              }
            ],
            "runOrder": 1
          }
```

## Input artifacts (Artefatos de entrada)
<a name="action-reference-Commands-input"></a>
+ **Número de artefatos:** `1 to 10`

## Artefatos de saída
<a name="action-reference-Commands-output"></a>
+ **Número de artefatos:** `0 to 1` 

## Variáveis de ambiente
<a name="action-reference-Commands-envvars"></a>

**Chave**  
A chave em um par de variáveis do ambiente chave-valor, como `BEDROCK_TOKEN`.

**Valor**  
O valor do par chave-valor, como `apiTokens:bedrockToken`. O valor pode ser parametrizado com variáveis de saída a partir de ações ou variáveis do pipeline.  
Ao usar o `SECRETS_MANAGER` tipo, esse valor deve ser o nome de um segredo que você já armazenou no AWS Secrets Manager.

**Tipo**  
Especifica o tipo de uso do valor da variável de ambiente. O valor pode ser `PLAINTEXT` ou `SECRETS_MANAGER`. Se o valor for `SECRETS_MANAGER`, informe a referência do Secrets no valor `EnvironmentVariable`. Se não especificado, assumirá como padrão `PLAINTEXT`.  
Nós desencorajamos fortemente o uso de variáveis *de ambiente de texto simples* para armazenar valores confidenciais, especialmente credenciais. AWS Quando você usa o CodeBuild console ou AWS CLI, as variáveis de ambiente *de texto* simples são exibidas em texto sem formatação. Para valores confidenciais, recomendamos usar o tipo `SECRETS_MANAGER`.

**nota**  
Ao inserir o `name``value`, e `type` para sua configuração de variáveis de ambiente, especialmente se a variável de ambiente contiver a sintaxe da variável de CodePipeline saída, não exceda o limite de 1000 caracteres para o campo de valor da configuração. Um erro de validação será retornado quando esse limite for excedido.

Para ver um exemplo de declaração de ação mostrando uma variável de ambiente, consulte [Parâmetros de configuração](#action-reference-Commands-config).

**nota**  
O tipo `SECRETS_MANAGER` é compatível somente com a ação Comandos.
Os segredos referenciados na ação Comandos serão redigidos nos registros de compilação, semelhantes aos. CodeBuild Porém, os usuários de pipeline que tiverem acesso **Editar** ao pipeline ainda poderão acessar esses valores secretos modificando os comandos.
Para usar o SecretsManager, você deve adicionar as seguintes permissões à sua função de serviço de pipeline:  

  ```
  {
              "Effect": "Allow",
              "Action": [
                  "secretsmanager:GetSecretValue"
              ],
              "Resource": [
                  "SECRET_ARN"
              ]
          }
  ```

## Permissões do perfil de serviço: ação Comandos
<a name="edit-role-Commands"></a>

Para suporte a Comandos, adicione o seguinte à declaração da política:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:iam::*:role/Service*",
                "arn:aws:iam::*:role/Service*"
            ]
        }
    ]
}
```

------

## Declaração de ação (exemplo)
<a name="action-reference-Commands-example"></a>

------
#### [ YAML ]

```
name: Commands_action
actionTypeId:
  category: Compute
  owner: AWS
  provider: Commands
  version: '1'
runOrder: 1
configuration: {}
commands:
- ls
- echo hello
- 'echo pipeline Execution Id is #{codepipeline.PipelineExecutionId}'
outputArtifacts:
- name: BuildArtifact
  files:
  - **/
inputArtifacts:
- name: SourceArtifact
outputVariables:
- AWS_DEFAULT_REGION
region: us-east-1
namespace: compute
```

------
#### [ JSON ]

```
{
    "name": "Commands_action",
    "actionTypeId": {
        "category": "Compute",
        "owner": "AWS",
        "provider": "Commands",
        "version": "1"
    },
    "runOrder": 1,
    "configuration": {},
    "commands": [
        "ls",
        "echo hello",
        "echo pipeline Execution Id is #{codepipeline.PipelineExecutionId}"
    ],
    "outputArtifacts": [
        {
            "name": "BuildArtifact",
            "files": [
                "**/"
            ]
        }
    ],
    "inputArtifacts": [
        {
            "name": "SourceArtifact"
        }
    ],
    "outputVariables": [
        "AWS_DEFAULT_REGION"
    ],
    "region": "us-east-1",
    "namespace": "compute"
}
```

------

## Consulte também
<a name="action-reference-Commands-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [Tutorial: Criar um pipeline que executa comandos com computação (tipo V2)](tutorials-commands.md): este tutorial fornece um exemplo de pipeline com a ação Commands.

# AWS Device Farm referência da ação de teste
<a name="action-reference-DeviceFarm"></a>

Em seu pipeline, você pode configurar uma ação de teste usada AWS Device Farm para executar e testar seu aplicativo em dispositivos. O Device Farm usa grupos de teste de dispositivos e estruturas de teste para testar aplicações em dispositivos específicos. Para obter informações sobre os tipos de estruturas de teste compatíveis com a ação Device Farm, consulte [Trabalhando com tipos de teste no AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html).

**Topics**
+ [Tipo de ação](#action-reference-DeviceFarm-type)
+ [Parâmetros de configuração](#action-reference-DeviceFarm-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-DeviceFarm-input)
+ [Artefatos de saída](#action-reference-DeviceFarm-output)
+ [Permissões da função de serviço: AWS Device Farm ação](#edit-role-devicefarm)
+ [Declaração de ação](#action-reference-DeviceFarm-example)
+ [Consulte também](#action-reference-DeviceFarm-links)

## Tipo de ação
<a name="action-reference-DeviceFarm-type"></a>
+ Categoria: `Test`
+ Proprietário: `AWS`
+ Fornecedor: `DeviceFarm`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-DeviceFarm-config"></a>

**AppType**  
Obrigatório: Sim  
O sistema operacional e o tipo de aplicação que você está testando. Veja a seguir uma lista de valores válidos:  
+ `iOS`
+ `Android`
+ `Web`

**ProjectId**  
Obrigatório: Sim  
O ID do projeto do Device Farm.   
Para encontrar o ID do seu projeto, no console do Device Farm, escolha o projeto. No navegador, copie o URL do novo projeto. O URL contém o ID do projeto. O ID do projeto é o valor na URL após `projects/`. No exemplo a seguir, o ID do projeto é `eec4905f-98f8-40aa-9afc-4c1cfexample`.  

```
https://<region-URL>/devicefarm/home?region=us-west-2#/projects/eec4905f-98f8-40aa-9afc-4c1cfexample/runs
```

**App**  
Obrigatório: Sim  
O nome e o local do arquivo da aplicação no artefato de entrada. Por exemplo: `s3-ios-test-1.ipa`

**TestSpec**  
Condicional: sim  
A localização do arquivo de definição da especificação de teste no artefato de entrada. É necessário para o teste do modo personalizado.

**DevicePoolArn**  
Obrigatório: Sim  
O ARN do grupo de dispositivos do Device Farm.   
Para obter o pool de dispositivos disponível ARNs para o projeto, incluindo o ARN dos principais dispositivos, use a AWS CLI para inserir o seguinte comando:   

```
aws devicefarm list-device-pools --arn arn:aws:devicefarm:us-west-2:account_ID:project:project_ID
```

**TestType**  
Obrigatório: Sim  
Especifica a estrutura de teste compatível com seu teste. Veja a seguir uma lista de valores válidos para `TestType`:  
+ **APPIUM\$1JAVA\$1JUNIT**
+ **APPIUM\$1JAVA\$1TESTING**
+ **APPIUM\$1NODE**
+ **APPIUM\$1RUBY**
+ **APPIUM\$1PYTHON**
+ **APPIUM\$1WEB\$1JAVA\$1JUNIT**
+ **APPIUM\$1WEB\$1JAVA\$1TESTING**
+ **APPIUM\$1WEB\$1NODE**
+ **APPIUM\$1WEB\$1RUBY**
+ **APPIUM\$1WEB\$1PYTHON**
+ **BUILTIN\$1FUZZ**
+ **INSTRUMENTATION**
+ **XCTEST**
+ **XCTEST\$1UI**
Os seguintes tipos de teste não são suportados pela ação em CodePipeline: `WEB_PERFORMANCE_PROFILE``REMOTE_ACCESS_RECORD`, `REMOTE_ACCESS_REPLAY` e.
Para obter informações sobre os tipos de teste do Device Farm, consulte [Como trabalhar com tipos de teste no AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html).

**RadioBluetoothEnabled**  
Obrigatório: não  
Um valor booleano que indica se o Bluetooth deve ser habilitado no início do teste.

**RecordAppPerformanceData**  
Obrigatório: não  
Um valor booleano que indica se os dados de desempenho do dispositivo, como CPU, FPS e desempenho da memória, devem ser registrados durante o teste.

**RecordVideo**  
Obrigatório: não  
Um valor booleano que indica se o vídeo deve ser gravado durante o teste.

**RadioWifiEnabled**  
Obrigatório: não  
Um valor booleano que indica se o Wi-Fi deve ser habilitado no início do teste.

**RadioNfcEnabled**  
Obrigatório: não  
Um valor booleano que indica se o NFC deve ser habilitado no início do teste.

**RadioGpsEnabled**  
Obrigatório: não  
Um valor booleano que indica se o NFC deve ser habilitado no início do teste.

**Testar**  
Obrigatório: não  
O nome e o caminho do arquivo de definição de teste em seu local de origem. O caminho é relativo à raiz do artefato de entrada para o teste.

**FuzzEventCount**  
Obrigatório: não  
O número de eventos de interface do usuário que o teste Fuzz executará, entre 1 e 10.000.

**FuzzEventThrottle**  
Obrigatório: não  
O número de milissegundos que o teste Fuzz deve aguardar para realizar o próximo evento de interface do usuário, entre 1 e 1.000.

**FuzzRandomizerSeed**  
Obrigatório: não  
Uma propagação que o teste Fuzz usará para randomizar eventos de interface do usuário. O uso do mesmo número de testes Fuzz subsequentes resulta em sequências de eventos idênticas.

**CustomHostMachineArtifacts**  
Obrigatório: não  
O local na máquina host em que os artefatos personalizados serão armazenados.

**CustomDeviceArtifacts**  
Obrigatório: não  
O local no dispositivo em que os artefatos personalizados serão armazenados.  


**UnmeteredDevicesOnly**  
Obrigatório: não  
Um valor booleano que indica se os dispositivos de acesso ilimitado devem ser usados somente ao executar testes nesta etapa.

**JobTimeoutMinutes**  
Obrigatório: não  
O número de minutos que um teste será executado por dispositivo antes de atingir o tempo limite.

**Latitude**  
Obrigatório: não  
A latitude do dispositivo expressa em graus do sistema de coordenadas geográficas.

**Longitude**  
Obrigatório: não  
A longitude do dispositivo expressa em graus do sistema de coordenadas geográficas.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-DeviceFarm-input"></a>
+ **Número de artefatos:** `1`
+ **Descrição:** o conjunto de artefatos a ser disponibilizado na ação de teste. O Device Farm procura a aplicação de compilação e as definições de teste a serem usadas.

## Artefatos de saída
<a name="action-reference-DeviceFarm-output"></a>
+ **Número de artefatos:** `0` 
+ **Descrição:** os artefatos de saída não se aplicam a esse tipo de ação.

## Permissões da função de serviço: AWS Device Farm ação
<a name="edit-role-devicefarm"></a>

Quando CodePipeline executa a ação, a política CodePipeline de função de serviço exige as seguintes permissões, com escopo adequado até o ARN do recurso do pipeline, a fim de manter o acesso com menos privilégios. Por exemplo, adicione o seguinte à declaração da política:

```
{
    "Effect": "Allow",
    "Action": [
        "devicefarm:ListProjects",
        "devicefarm:ListDevicePools",
        "devicefarm:GetRun",
        "devicefarm:GetUpload",
        "devicefarm:CreateUpload",
        "devicefarm:ScheduleRun"
    ],
    "Resource": "resource_ARN"
},
```

## Declaração de ação
<a name="action-reference-DeviceFarm-example"></a>

------
#### [ YAML ]

```
Name: Test
Actions:
  - Name: TestDeviceFarm
    ActionTypeId: null
    category: Test
    owner: AWS
    provider: DeviceFarm
    version: '1'
RunOrder: 1
Configuration:
  App: s3-ios-test-1.ipa
  AppType: iOS
  DevicePoolArn: >-
    arn:aws:devicefarm:us-west-2::devicepool:0EXAMPLE-d7d7-48a5-ba5c-b33d66efa1f5
  ProjectId: eec4905f-98f8-40aa-9afc-4c1cfEXAMPLE
  TestType: APPIUM_PYTHON
  TestSpec: example-spec.yml
OutputArtifacts: []
InputArtifacts:
  - Name: SourceArtifact
Region: us-west-2
```

------
#### [ JSON ]

```
{
    "Name": "Test",
    "Actions": [
        {
            "Name": "TestDeviceFarm",
            "ActionTypeId": null,
            "category": "Test",
            "owner": "AWS",
            "provider": "DeviceFarm",
            "version": "1"
        }
    ],
    "RunOrder": 1,
    "Configuration": {
        "App": "s3-ios-test-1.ipa",
        "AppType": "iOS",
        "DevicePoolArn": "arn:aws:devicefarm:us-west-2::devicepool:0EXAMPLE-d7d7-48a5-ba5c-b33d66efa1f5",
        "ProjectId": "eec4905f-98f8-40aa-9afc-4c1cfEXAMPLE",
        "TestType": "APPIUM_PYTHON",
        "TestSpec": "example-spec.yml"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "SourceArtifact"
        }
    ],
    "Region": "us-west-2"
},
```

------

## Consulte também
<a name="action-reference-DeviceFarm-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [Como trabalhar com tipos de teste no Device Farm:](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html) este capítulo de referência no *Guia do desenvolvedor do Device Farm* fornece mais descrições sobre as estruturas de teste de aplicativos Android, iOS e Web compatíveis com o Device Farm.
+ [Ações no Device Farm:](https://docs.aws.amazon.com/devicefarm/latest/APIReference/Welcome.html) as chamadas e os parâmetros de API na *Referência da API do Device Farm* podem ajudar você a trabalhar com projetos do Device Farm.
+ [Tutorial: crie um pipeline que crie e teste seu aplicativo Android com AWS Device Farm](tutorials-codebuild-devicefarm.md)— Este tutorial fornece um exemplo de arquivo de especificação de compilação e um aplicativo de amostra para criar um pipeline com uma GitHub fonte que cria e testa um aplicativo Android com o Device CodeBuild Farm.
+ [Tutorial: crie um pipeline que teste seu aplicativo iOS com AWS Device Farm](tutorials-codebuild-devicefarm-S3.md): este tutorial fornece uma aplicação de exemplo para criar um pipeline com uma origem do Amazon S3 que testa um aplicativo iOS de compilação com o Device Farm.

# Referência da ação de implantação do Elastic Beanstalk
<a name="action-reference-Beanstalk"></a>

O Elastic Beanstalk é uma AWS plataforma interna usada para implantar e escalar aplicativos web. Você usa uma ação do Elastic Beanstalk para implantar o código do aplicativo no ambiente de implantação.

**Topics**
+ [Tipo de ação](#action-reference-Beanstalk-type)
+ [Parâmetros de configuração](#action-reference-Beanstalk-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-Beanstalk-input)
+ [Artefatos de saída](#action-reference-Beanstalk-output)
+ [Permissões do perfil de serviço: ação de implantação do `ElasticBeanstalk`](#edit-role-beanstalk)
+ [Declaração de ação](#action-reference-Beanstalk-example)
+ [Consulte também](#action-reference-Beanstalk-links)

## Tipo de ação
<a name="action-reference-Beanstalk-type"></a>
+ Categoria: `Deploy`
+ Proprietário: `AWS`
+ Fornecedor: `ElasticBeanstalk`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-Beanstalk-config"></a>

**ApplicationName**  
Obrigatório: Sim  
O nome do aplicativo criado no Elastic Beanstalk. 

**EnvironmentName**  
Obrigatório: Sim  
O nome do ambiente criado no Elastic Beanstalk. Um ambiente é uma coleção de AWS recursos executando uma versão do aplicativo. Cada ambiente executa somente uma versão do aplicativo por vez, no entanto, você pode executar a mesma versão ou diferentes versões do aplicativo em vários ambientes ao mesmo tempo.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-Beanstalk-input"></a>
+ **Número de artefatos:** `1`
+ **Descrição:** o artefato de entrada da ação.

## Artefatos de saída
<a name="action-reference-Beanstalk-output"></a>
+ **Número de artefatos:** `0` 
+ **Descrição:** os artefatos de saída não se aplicam a esse tipo de ação.

## Permissões do perfil de serviço: ação de implantação do `ElasticBeanstalk`
<a name="edit-role-beanstalk"></a>

Para o Elastic Beanstalk, estas são as permissões mínimas necessárias para criar pipelines com uma ação de implantação `ElasticBeanstalk`.

```
{
    "Effect": "Allow",
    "Action": [
        "elasticbeanstalk:*",
        "ec2:*",
        "elasticloadbalancing:*",
        "autoscaling:*",
        "cloudwatch:*",
        "s3:*",
        "sns:*",
        "cloudformation:*",
        "rds:*",
        "sqs:*",
        "ecs:*"
    ],
    "Resource": "resource_ARN"
},
```

**nota**  
Você deve substituir os curingas na política de recursos pelos recursos da conta à qual deseja limitar o acesso. Para obter mais informações sobre a criação de uma política que conceda acesso com privilégios mínimos, consulte [https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).

## Declaração de ação
<a name="action-reference-Beanstalk-example"></a>

------
#### [ YAML ]

```
Name: Deploy
Actions:
  - Name: Deploy
    ActionTypeId:
      Category: Deploy
      Owner: AWS
      Provider: ElasticBeanstalk
      Version: '1'
    RunOrder: 1
    Configuration:
      ApplicationName: my-application
      EnvironmentName: my-environment
    OutputArtifacts: []
    InputArtifacts:
      - Name: SourceArtifact
    Region: us-west-2
    Namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "Name": "Deploy",
    "Actions": [
        {
            "Name": "Deploy",
            "ActionTypeId": {
                "Category": "Deploy",
                "Owner": "AWS",
                "Provider": "ElasticBeanstalk",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "ApplicationName": "my-application",
                "EnvironmentName": "my-environment"
            },
            "OutputArtifacts": [],
            "InputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "Region": "us-west-2",
            "Namespace": "DeployVariables"
        }
    ]
},
```

------

## Consulte também
<a name="action-reference-Beanstalk-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [Implantação de um aplicativo Flask no Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-flask.html): este tutorial contém orientações sobre a criação dos recursos de aplicativo e ambiente no Elastic Beanstalk usando um aplicativo Flask de exemplo. Em seguida, compile o pipeline com uma ação de implantação do Elastic Beanstalk que implanta o aplicativo do repositório de origem no ambiente do Elastic Beanstalk.

# Referência da ação invocar `InspectorScan` do Amazon Inspector
<a name="action-reference-InspectorScan"></a>

O Amazon Inspector é um serviço de gerenciamento de vulnerabilidades que descobre workloads automaticamente e as verifica continuamente em busca de vulnerabilidades de software e exposições não intencionais da rede. A `InspectorScan` ação CodePipeline automatiza a detecção e a correção de vulnerabilidades de segurança em seu código-fonte aberto. A ação é uma ação de computação gerenciada com recursos de verificação da segurança. Você pode usar InspectorScan com o código-fonte do aplicativo em seu repositório de terceiros, como GitHub o Bitbucket Cloud, ou com imagens para aplicativos de contêiner. Sua ação verificará e relatará os níveis de vulnerabilidade e os alertas configurados por você. 

**Importante**  
Essa ação usa CodeBuild computação CodePipeline gerenciada para executar comandos em um ambiente de compilação. A execução da ação acarretará cobranças à parte em AWS CodeBuild.

**Topics**
+ [ID do tipo de ação](#action-reference-InspectorScan-type)
+ [Parâmetros de configuração](#action-reference-InspectorScan-parameters)
+ [Input artifacts (Artefatos de entrada)](#action-reference-InspectorScan-input)
+ [Artefatos de saída](#action-reference-InspectorScan-output)
+ [Variáveis de saída](#w2aac56c62c19)
+ [Permissões do perfil de serviço: ação `InspectorScan`](#edit-role-InspectorScan)
+ [Declaração de ação](#w2aac56c62c23)
+ [Consulte também](#action-reference-InspectorScan-links)

## ID do tipo de ação
<a name="action-reference-InspectorScan-type"></a>
+ Categoria: `Invoke`
+ Proprietário: `AWS`
+ Fornecedor: `InspectorScan`
+ Versão: `1`

Exemplo:

```
            {
                "Category": "Invoke",
                "Owner": "AWS",
                "Provider": "InspectorScan",
                "Version": "1"
            },
```

## Parâmetros de configuração
<a name="action-reference-InspectorScan-parameters"></a>

**InspectorRunMode**  
(Obrigatório) A string que indica o modo do escaneamento. O valor válido é `SourceCodeScan | ECRImageScan`.

**ECRRepositoryNome**  
O nome do repositório do Amazon ECR ao qual a imagem foi enviada por push.

**ImageTag**  
A tag usada para a imagem.

Os parâmetros dessa ação verificam os níveis de vulnerabilidade que você especificou. Os seguintes níveis de limites de vulnerabilidade estão disponíveis:

**CriticalThreshold **  
O número de vulnerabilidades de gravidade crítica encontradas em sua fonte, além das quais CodePipeline devem falhar na ação.

**HighThreshold **  
O número de vulnerabilidades de alta gravidade encontradas em sua fonte, além das quais CodePipeline devem falhar na ação.

**MediumThreshold**  
O número de vulnerabilidades de gravidade média encontradas em sua fonte, além das quais CodePipeline devem falhar na ação.

**LowThreshold **  
O número de vulnerabilidades de baixa gravidade encontradas em sua fonte, além das quais CodePipeline devem falhar na ação. 

![\[\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/inspectorscan-edit.png)


## Input artifacts (Artefatos de entrada)
<a name="action-reference-InspectorScan-input"></a>
+ **Número de artefatos:** `1`
+ **Descrição:** o código-fonte para verificar se há vulnerabilidades. Se a verificação for de um repositório ECR, esse artefato de entrada não será necessário.

## Artefatos de saída
<a name="action-reference-InspectorScan-output"></a>
+ **Número de artefatos:** `1`
+ **Descrição:** detalhes da vulnerabilidade da origem na forma de um arquivo da Lista de Materiais de Software (SBOM).

## Variáveis de saída
<a name="w2aac56c62c19"></a>

Quando configurada, essa ação produz variáveis que podem ser referenciadas pela configuração de ação de uma ação downstream no pipeline. Esta ação produz variáveis que podem ser visualizadas como variáveis de saída, mesmo que a ação não tenha um namespace. Configure uma ação com um namespace a fim de disponibilizar as variáveis para a configuração de ações downstream.

Para obter mais informações, consulte [Referência de variáveis](reference-variables.md).

**HighestScannedSeverity **  
O resultado de gravidade mais alta da verificação. O valor válido é `medium | high | critical`.

## Permissões do perfil de serviço: ação `InspectorScan`
<a name="edit-role-InspectorScan"></a>

Para suporte à ação `InspectorScan`, adicione o seguinte à declaração da política:

```
{
        "Effect": "Allow",
        "Action": "inspector-scan:ScanSbom",
        "Resource": "*"
    },
    {
        "Effect": "Allow",
        "Action": [
            "ecr:GetDownloadUrlForLayer",
            "ecr:BatchGetImage",
            "ecr:BatchCheckLayerAvailability"
        ],
        "Resource": "resource_ARN"
    },
```

Além disso, se ainda não tiver sido adicionada à ação Comandos, adicione as seguintes permissões à sua função de serviço para visualizar CloudWatch os registros.

```
{
    "Effect": "Allow",
    "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream", 
        "logs:PutLogEvents"
    ],
    "Resource": "resource_ARN"
},
```

**nota**  
Restrinja as permissões ao nível de recurso do pipeline aplicando permissões baseadas em recurso na declaração de política do perfil de serviço.

## Declaração de ação
<a name="w2aac56c62c23"></a>

------
#### [ YAML ]

```
name: Scan
actionTypeId:
  category: Invoke
  owner: AWS
  provider: InspectorScan
  version: '1'
runOrder: 1
configuration:
  InspectorRunMode: SourceCodeScan
outputArtifacts:
- name: output
inputArtifacts:
- name: SourceArtifact
region: us-east-1
```

------
#### [ JSON ]

```
{
                        "name": "Scan",
                        "actionTypeId": {
                            "category": "Invoke",
                            "owner": "AWS",
                            "provider": "InspectorScan",
                            "version": "1"
                        },
                        "runOrder": 1,
                        "configuration": {
                            "InspectorRunMode": "SourceCodeScan"
                        },
                        "outputArtifacts": [
                            {
                                "name": "output"
                            }
                        ],
                        "inputArtifacts": [
                            {
                                "name": "SourceArtifact"
                            }
                        ],
                        "region": "us-east-1"
                    },
```

------

## Consulte também
<a name="action-reference-InspectorScan-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ Para obter mais informações sobre o Amazon Inspector, consulte o Guia do usuário do [Amazon Inspector](https://aws.amazon.com/inspector/).

# AWS Lambda invocar referência de ação
<a name="action-reference-Lambda"></a>

Permite executar uma função do Lambda como uma ação no pipeline. Usando o objeto de evento que é uma entrada para essa função, a função tem acesso à configuração da ação, aos locais dos artefatos de entrada, aos locais dos artefatos de saída e a outras informações necessárias para acessar os artefatos. Para obter um exemplo de evento passado para uma função de invocação do Lambda, consulte [Exemplo de evento JSON](#action-reference-Lambda-event). Como parte da implementação da função Lambda, deve haver uma chamada para a `[PutJobSuccessResult API](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobSuccessResult.html)` ou `[PutJobFailureResult API](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobFailureResult.html)`. Caso contrário, a execução dessa ação trava até que a ação atinja o tempo limite. Se você especificar artefatos de saída para a ação, será necessário fazer upload deles no bucket do S3 como parte da implementação da função.

**Importante**  
Não registre o evento JSON que é CodePipeline enviado para o Lambda, pois isso pode fazer com que as credenciais do usuário sejam registradas no Logs. CloudWatch A CodePipeline função usa um evento JSON para passar credenciais temporárias para o Lambda no campo. `artifactCredentials` Para obter um evento de exemplo, consulte [Exemplo de evento JSON](actions-invoke-lambda-function.md#actions-invoke-lambda-function-json-event-example).

## Tipo de ação
<a name="action-reference-Lambda-type"></a>
+ Categoria: `Invoke`
+ Proprietário: `AWS`
+ Fornecedor: `Lambda`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-Lambda-config"></a>

**FunctionName**  
Obrigatório: Sim  
`FunctionName` é o nome da função criada no Lambda.

**UserParameters**  
Obrigatório: não  
Uma string que pode ser processada como entrada pela função do Lambda.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-Lambda-input"></a>
+ **Número de artefatos:** `0 to 5`
+ **Descrição:** o conjunto de artefatos a ser disponibilizado para a função do Lambda.

## Artefatos de saída
<a name="action-reference-Lambda-output"></a>
+ **Número de artefatos:** `0 to 5` 
+ **Descrição:** o conjunto de artefatos produzidos como saída pela função do Lambda.

## Variáveis de saída
<a name="action-reference-Lambda-variables"></a>

Essa ação produzirá como variáveis todos os pares de valores-chave incluídos na `outputVariables` seção da solicitação da [PutJobSuccessResult API](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobSuccessResult.html).

Para obter mais informações sobre variáveis em CodePipeline, consulte[Referência de variáveis](reference-variables.md).

## Exemplo de configuração da ação
<a name="action-reference-Lambda-example"></a>

------
#### [ YAML ]

```
Name: Lambda
Actions:
  - Name: Lambda
    ActionTypeId:
      Category: Invoke
      Owner: AWS
      Provider: Lambda
      Version: '1'
    RunOrder: 1
    Configuration:
      FunctionName: myLambdaFunction
      UserParameters: 'http://192.0.2.4'
    OutputArtifacts: []
    InputArtifacts: []
    Region: us-west-2
```

------
#### [ JSON ]

```
{
    "Name": "Lambda",
    "Actions": [
        {
            "Name": "Lambda",
            "ActionTypeId": {
                "Category": "Invoke",
                "Owner": "AWS",
                "Provider": "Lambda",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "FunctionName": "myLambdaFunction",
                "UserParameters": "http://192.0.2.4"
            },
            "OutputArtifacts": [],
            "InputArtifacts": [],
            "Region": "us-west-2"
        }
    ]
},
```

------

## Exemplo de evento JSON
<a name="action-reference-Lambda-event"></a>

A ação Lambda envia um evento JSON que contém o ID do trabalho, a configuração da ação do pipeline, os locais dos artefatos de entrada e saída e todas as informações de criptografia dos artefatos. O operador do trabalho acessa esses detalhes para concluir a ação Lambda. Para obter mais informações, consulte [detalhes do trabalho](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_JobDetails.html). O comando a seguir é um exemplo de evento.

```
{
    "CodePipeline.job": {
        "id": "11111111-abcd-1111-abcd-111111abcdef",
        "accountId": "111111111111",
        "data": {
            "actionConfiguration": {
                "configuration": {
                    "FunctionName": "MyLambdaFunction",
                    "UserParameters": "input_parameter"
                }
            },
            "inputArtifacts": [
                {
                    "location": {
                        "s3Location": {
                            "bucketName": "bucket_name",
                            "objectKey": "filename"
                        },
                        "type": "S3"
                    },
                    "revision": null,
                    "name": "ArtifactName"
                }
            ],
            "outputArtifacts": [],
            "artifactCredentials": {
                "secretAccessKey": "secret_key",
                "sessionToken": "session_token",
                "accessKeyId": "access_key_ID"
            },
            "continuationToken": "token_ID",
            "encryptionKey": { 
              "id": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
              "type": "KMS"
            }
        }
    }
}
```

O evento JSON fornece os seguintes detalhes do trabalho para a ação Lambda em: CodePipeline
+ `id`: o ID exclusivo do trabalho gerado pelo sistema.
+ `accountId`: a ID da AWS conta associada ao trabalho.
+ `data`: outras informações necessárias para que um operador de trabalho conclua o trabalho. 
  + `actionConfiguration`: os parâmetros de ação para a ação Lambda. Para obter definições, consulte [Parâmetros de configuração](#action-reference-Lambda-config).
  + `inputArtifacts`: o artefato fornecido à ação.
    + `location`: o local de armazenamento do artefato.
      + `s3Location`: as informações do local do artefato de entrada para a ação.
        + `bucketName`: o nome do armazenamento de artefatos do pipeline para a ação (por exemplo, um bucket do Amazon S3 codepipeline-us-east chamado -2-1234567890).
        + `objectKey`: o nome do aplicativo (por exemplo, `CodePipelineDemoApplication.zip`).
      + `type`: o tipo de artefato no local. Atualmente, `S3` é o único tipo de artefato válido.
    + `revision`: o ID de revisão do artefato. Dependendo do tipo de objeto, isso pode ser um ID de confirmação (GitHub) ou um ID de revisão (Amazon Simple Storage Service). Para obter mais informações, consulte [ArtifactRevision](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ArtifactRevision.html).
    + `name`: o nome do artefato a ser trabalhado, como `MyApp`.
  + `outputArtifacts`: a saída da ação.
    + `location`: o local de armazenamento do artefato.
      + `s3Location`: as informações do local do artefato de saída para a ação.
        + `bucketName`: o nome do armazenamento de artefatos do pipeline para a ação (por exemplo, um bucket do Amazon S3 codepipeline-us-east chamado -2-1234567890).
        + `objectKey`: o nome do aplicativo (por exemplo, `CodePipelineDemoApplication.zip`).
      + `type`: o tipo de artefato no local. Atualmente, `S3` é o único tipo de artefato válido.
    + `revision`: o ID de revisão do artefato. Dependendo do tipo de objeto, isso pode ser um ID de confirmação (GitHub) ou um ID de revisão (Amazon Simple Storage Service). Para obter mais informações, consulte [ArtifactRevision](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ArtifactRevision.html).
    + `name`: o nome da saída de um artefato, como `MyApp`.
  + `artifactCredentials`: as credenciais da AWS sessão usadas para acessar artefatos de entrada e saída no bucket do Amazon S3. Essas credenciais são credenciais temporárias emitidas pelo AWS Security Token Service (AWS STS).
    + `secretAccessKey`: a chave de acesso secreta da sessão.
    + `sessionToken`: o token da sessão.
    + `accessKeyId`: a chave de acesso secreta da sessão.
  + `continuationToken`: um token gerado pela ação. Ações futuras usarão esse token para identificar a instância em execução da ação. Quando a ação for concluída, nenhum token de continuação deverá ser fornecido.
  + `encryptionKey`: a chave de criptografia usada para criptografar os dados no armazenamento de artefatos, como uma AWS KMS chave. Se isso não for definido, a chave padrão do Amazon Simple Storage Service será usada. 
    + `id`: o ID usado para identificar a chave. Para uma chave do AWS KMS , você pode usar o ID da chave, o ARN da chave ou o ARN do alias. 
    + `type`: o tipo de chave de criptografia, como uma chave do AWS KMS .

## Consulte também
<a name="action-reference-Lambda-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [AWS CloudFormation Guia do usuário](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/) [— Para obter mais informações sobre ações e CloudFormation artefatos do Lambda para pipelines, consulte [Usando funções de substituição de parâmetros com CodePipeline pipelines](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html), [automatizando](https://docs.aws.amazon.com/lambda/latest/dg/automating-deployment.html) a implantação de aplicativos baseados em Lambda e artefatos.AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html)
+ [Invoque uma AWS Lambda função em um pipeline em CodePipeline](actions-invoke-lambda-function.md): este procedimento fornece um exemplo de função do Lambda e mostra como usar o console para criar um pipeline com uma ação de invocação Lambda.

# Referência da ação de implantação do AWS OpsWorks
<a name="action-reference-OpsWorks"></a>

Você usa uma AWS OpsWorks ação para implantar OpsWorks usando seu pipeline.

## Tipo de ação
<a name="action-reference-StepFunctions-type"></a>
+ Categoria: `Deploy`
+ Proprietário: `AWS`
+ Fornecedor: `OpsWorks`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-OpsWorks-config"></a>

**App**  
Obrigatório: Sim  
A OpsWorks pilha. Pilha é um contêiner para a infraestrutura de aplicação.

**Stack**  
Obrigatório: Sim  
O OpsWorks aplicativo. A aplicação representa o código que você deseja implantar e executar.

**Camada**  
Obrigatório: não  
A OpsWorks pilha. Uma camada especifica a configuração e os recursos para um conjunto de instâncias.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-OpsWorks-input"></a>
+ **Número de artefatos:** `1`
+ **Descrição:** este é o artefato de entrada da ação.

## Artefatos de saída
<a name="action-reference-OpsWorks-output"></a>
+ **Número de artefatos:** `0 to 1` 
+ **Descrição:** os artefatos de saída não se aplicam a esse tipo de ação.

## Permissões da função de serviço: AWS OpsWorks ação
<a name="edit-role-opsworks"></a>

Para obter AWS OpsWorks suporte, adicione o seguinte à sua declaração de política:

```
{
    "Effect": "Allow",
    "Action": [
        "opsworks:CreateDeployment",
        "opsworks:DescribeApps",
        "opsworks:DescribeCommands",
        "opsworks:DescribeDeployments",
        "opsworks:DescribeInstances",
        "opsworks:DescribeStacks",
        "opsworks:UpdateApp",
        "opsworks:UpdateStack"
    ],
    "Resource": "resource_ARN"
},
```

## Exemplo de configuração da ação
<a name="action-reference-OpsWorks-example"></a>

------
#### [ YAML ]

```
Name: ActionName
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Version: 1
  Provider: OpsWorks
InputArtifacts:
  - Name: myInputArtifact
Configuration:
  Stack: my-stack
  App: my-app
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "OpsWorks"
    },
    "InputArtifacts": [
        {
            "Name": "myInputArtifact"
        }
    ],
    "Configuration": {
        "Stack": "my-stack",
        "App": "my-app"
    }
}
```

------

## Consulte também
<a name="action-reference-OpsWorks-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [AWS OpsWorks Guia do usuário](https://docs.aws.amazon.com/step-functions/latest/dg/) — Para obter informações sobre a implantação com AWS OpsWorks, consulte o *Guia do AWS OpsWorks usuário*.

# Referência da ação de implantação do AWS Service Catalog
<a name="action-reference-ServiceCatalog"></a>

Você usa uma AWS Service Catalog ação para implantar modelos usando seu pipeline. Esses são modelos de recursos criados por você no Service Catalog.

## Tipo de ação
<a name="action-reference-ServiceCatalog-type"></a>
+ Categoria: `Deploy`
+ Proprietário: `AWS`
+ Fornecedor: `ServiceCatalog`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-ServiceCatalog-config"></a>

**TemplateFilePath**  
Obrigatório: Sim  
O caminho do arquivo do modelo de recurso no local de origem.

**ProductVersionName**  
Obrigatório: Sim  
A versão do produto no Service Catalog.

**ProductType**  
Obrigatório: Sim  
O tipo de produto no Service Catalog.

**ProductId**  
Obrigatório: Sim  
O ID do produto no Service Catalog.

**ProductVersionDescription**  
Obrigatório: não  
A descrição da versão do produto no Service Catalog.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-ServiceCatalog-input"></a>
+ **Número de artefatos:** `1`
+ **Descrição:** este é o artefato de entrada da ação.

## Artefatos de saída
<a name="action-reference-ServiceCatalog-output"></a>
+ **Número de artefatos:** `0` 
+ **Descrição:** os artefatos de saída não se aplicam a esse tipo de ação.

## Permissões do perfil de serviço: ação do Service Catalog
<a name="edit-role-servicecatalog"></a>

Para compatibilidade com o Service Catalog, adicione o seguinte à declaração da política:

```
{
    "Effect": "Allow",
    "Action": [
        "servicecatalog:ListProvisioningArtifacts",
        "servicecatalog:CreateProvisioningArtifact",
        "servicecatalog:DescribeProvisioningArtifact",
        "servicecatalog:DeleteProvisioningArtifact",
        "servicecatalog:UpdateProduct"
    ],
    "Resource": "resource_ARN"
},
{
    "Effect": "Allow",
    "Action": [
        "cloudformation:ValidateTemplate"
    ],
    "Resource": "resource_ARN"
}
```

## Configurações de ação de exemplo por tipo do arquivo de configuração
<a name="action-reference-ServiceCatalog-example"></a>

O exemplo a seguir mostra uma configuração válida para uma ação de implantação que usa o Service Catalog, para um pipeline criado no console sem um arquivo de configuração separado:

```
"configuration": {
  "TemplateFilePath": "S3_template.json",
  "ProductVersionName": "devops S3 v2",
  "ProductType": "CLOUD_FORMATION_TEMPLATE",
  "ProductVersionDescription": "Product version description",
  "ProductId": "prod-example123456"
}
```

O exemplo a seguir mostra uma configuração válida para uma ação de implantação que usa o Service Catalog, para um pipeline criado no console com um arquivo de configuração `sample_config.json` separado:

```
"configuration": {
  "ConfigurationFilePath": "sample_config.json",
  "ProductId": "prod-example123456"
}
```

### Exemplo de configuração da ação
<a name="action-reference-ServiceCatalog-example-default"></a>

------
#### [ YAML ]

```
Name: ActionName
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Version: 1
  Provider: ServiceCatalog
OutputArtifacts:
- Name: myOutputArtifact
Configuration:
  TemplateFilePath: S3_template.json
  ProductVersionName: devops S3 v2
  ProductType: CLOUD_FORMATION_TEMPLATE
  ProductVersionDescription: Product version description
  ProductId: prod-example123456
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "ServiceCatalog"
    },
    "OutputArtifacts": [
        {
            "Name": "myOutputArtifact"
        }
    ],
    "Configuration": {
        "TemplateFilePath": "S3_template.json",
        "ProductVersionName": "devops S3 v2",
        "ProductType": "CLOUD_FORMATION_TEMPLATE",
        "ProductVersionDescription": "Product version description",
        "ProductId": "prod-example123456"
    }
}
```

------

## Consulte também
<a name="action-reference-ServiceCatalog-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [Guia do usuário do Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/userguide/): para saber mais sobre recursos e modelos no Service Catalog, consulte o *Guia do usuário do Service Catalog*.
+ [Tutorial: Criar um pipeline que realiza a implantação no Service Catalog](tutorials-S3-servicecatalog.md): este tutorial mostra como criar e configurar um pipeline para implantar o modelo do produto no Service Catalog e oferecer as alterações feitas por você no repositório de origem.

# AWS Step Functions invocar referência de ação
<a name="action-reference-StepFunctions"></a>

Uma AWS CodePipeline ação que faz o seguinte:
+ Inicia a execução de uma máquina de AWS Step Functions estado a partir do seu pipeline.
+ Fornece um estado inicial para a máquina de estado por meio de uma propriedade na configuração de ação ou de um arquivo localizado em um artefato de pipeline a ser transmitido como entrada.
+ Opcionalmente, define um prefixo de ID de execução para identificar execuções originadas da ação.
+ É compatível com máquinas de estado [padrão e expressa](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html).

**nota**  
A ação do Step Functions é executada no Lambda e, por isso, as cotas de tamanho de artefato são iguais às cotas de tamanho de artefato para funções do Lambda. Para ter mais informações, consulte [Cotas do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html) no Guia do desenvolvedor do Lambda.

## Tipo de ação
<a name="action-reference-StepFunctions-type"></a>
+ Categoria: `Invoke`
+ Proprietário: `AWS`
+ Fornecedor: `StepFunctions`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-StepFunctions-config"></a>

**StateMachineArn**  
Obrigatório: Sim  
O nome de recurso da Amazon (ARN) para a máquina de estado a ser invocada.

**ExecutionNamePrefix**  
Obrigatório: não  
Por padrão, o ID de execução da ação é usado como o nome de execução da máquina de estado. Se um prefixo for fornecido, ele será adicionado ao ID de execução da ação com um hífen e será usado como o nome de execução da máquina de estado.  

```
myPrefix-1624a1d1-3699-43f0-8e1e-6bafd7fde791
```
Para uma máquina de estado expressa, o nome deve conter apenas 0-9, A-Z, a-z, - e \$1.

**InputType**  
Obrigatório: não  
+ **Literal** (padrão): quando especificado, o valor no campo **Input** é transmitido diretamente para a entrada da máquina de estado.

  Entrada de exemplo para o campo **Input** quando **Literal** é selecionado:

  ```
  {"action": "test"}
  ```
+ **FilePath**: o conteúdo de um arquivo no artefato de entrada especificado pelo campo **Entrada** é usado como entrada para a execução da máquina de estado. Um artefato de entrada é necessário quando **InputType**definido como. **FilePath**

  Exemplo de entrada para o campo ****FilePath**Entrada** quando selecionado:

  ```
  assets/input.json
  ```

**Input**  
Obrigatório: condicional  
+ **Literal**: quando **InputType**definido como **Literal** (padrão), esse campo é opcional. 

  Se fornecido, o campo **Input** será usado diretamente como a entrada para a execução da máquina de estado. Caso contrário, a máquina de estado será invocada com um objeto JSON `{}` vazio.
+ **FilePath**: Quando **InputType**definido como **FilePath**, esse campo é obrigatório.

  Um artefato de entrada também é necessário quando **InputType**definido como. **FilePath**

  O conteúdo do arquivo no artefato de entrada especificado é usado como entrada para a execução da máquina de estado.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-StepFunctions-input"></a>
+ **Número de artefatos:** `0 to 1`
+ **Descrição:** Se **InputType**estiver definido como **FilePath**, esse artefato é necessário e é usado para fornecer a entrada para a execução da máquina de estado.

## Artefatos de saída
<a name="action-reference-StepFunctions-output"></a>
+ **Número de artefatos:** `0 to 1` 
+ **Descrição:**
  + **Máquinas de estado padrão**: se fornecido, o artefato de saída será preenchido com a saída da máquina de estado. Isso é obtido da `output` propriedade da resposta da [ DescribeExecution API Step Functions](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) após a conclusão bem-sucedida da execução da máquina de estado.
  + **Máquinas de estado expressas**: não são compatíveis.

## Variáveis de saída
<a name="action-reference-StepFunctions-variables"></a>

Essa ação produz variáveis de saída que podem ser referenciadas pela configuração de uma ação downstream no pipeline.

Para obter mais informações, consulte [Referência de variáveis](reference-variables.md).

**StateMachineArn**  
O ARN da máquina de estado.

**ExecutionArn**  
O ARN da execução da máquina de estado. Somente máquinas de estado padrão.

## Permissões do perfil de serviço: ação `StepFunctions`
<a name="edit-role-stepfunctions"></a>

Para a ação `StepFunctions`, estas são as permissões mínimas necessárias para criar pipelines com uma ação de invocação do Step Functions.

```
{
    "Effect": "Allow",
    "Action": [
        "states:DescribeStateMachine",
        "states:DescribeExecution",
        "states:StartExecution"
    ],
    "Resource": "resource_ARN"
},
```

## Exemplo de configuração da ação
<a name="action-reference-StepFunctions-example"></a>

### Exemplo de entrada padrão
<a name="action-reference-StepFunctions-example-default"></a>

------
#### [ YAML ]

```
Name: ActionName
ActionTypeId:
  Category: Invoke
  Owner: AWS
  Version: 1
  Provider: StepFunctions
OutputArtifacts:
  - Name: myOutputArtifact
Configuration:
  StateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine
  ExecutionNamePrefix: my-prefix
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "ActionTypeId": {
        "Category": "Invoke",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "StepFunctions"
    },
    "OutputArtifacts": [
        {
            "Name": "myOutputArtifact"
        }
    ],
    "Configuration": {
        "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine",
        "ExecutionNamePrefix": "my-prefix"
    }
}
```

------

### Exemplo de entrada literal
<a name="action-reference-StepFunctions-example-literal"></a>

------
#### [ YAML ]

```
Name: ActionName
ActionTypeId:
  Category: Invoke
  Owner: AWS
  Version: 1
  Provider: StepFunctions
OutputArtifacts:
  - Name: myOutputArtifact
Configuration:
  StateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine
  ExecutionNamePrefix: my-prefix
  Input: '{"action": "test"}'
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "ActionTypeId": {
        "Category": "Invoke",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "StepFunctions"
    },
    "OutputArtifacts": [
        {
            "Name": "myOutputArtifact"
        }
    ],
    "Configuration": {
        "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine",
        "ExecutionNamePrefix": "my-prefix",
        "Input": "{\"action\": \"test\"}"
    }
}
```

------

### Exemplo de arquivo de entrada
<a name="action-reference-StepFunctions-example-filepath"></a>

------
#### [ YAML ]

```
Name: ActionName
InputArtifacts:
  - Name: myInputArtifact
ActionTypeId:
  Category: Invoke
  Owner: AWS
  Version: 1
  Provider: StepFunctions
OutputArtifacts:
  - Name: myOutputArtifact
Configuration:
  StateMachineArn: 'arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine'
  ExecutionNamePrefix: my-prefix
  InputType: FilePath
  Input: assets/input.json
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "InputArtifacts": [
        {
            "Name": "myInputArtifact"
        }
    ],
    "ActionTypeId": {
        "Category": "Invoke",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "StepFunctions"
    },
    "OutputArtifacts": [
        {
            "Name": "myOutputArtifact"
        }
    ],
    "Configuration": {
        "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine",
        "ExecutionNamePrefix": "my-prefix",
        "InputType": "FilePath",
        "Input": "assets/input.json"
    }
}
```

------

## Comportamento
<a name="action-reference-StepFunctions-types"></a>

Durante uma versão, CodePipeline executa a máquina de estado configurada usando a entrada conforme especificado na configuração da ação.

Quando **InputType**definido como **Literal**, o conteúdo do campo Configuração da ação de **entrada** é usado como entrada para a máquina de estado. Quando a entrada literal não é fornecida, a execução da máquina de estado usa um objeto JSON `{}` vazio. Para obter mais informações sobre como executar uma execução de máquina de estado sem entrada, consulte a [ StartExecutionAPI Step Functions](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html).

Quando **InputType**está definida como **FilePath**, a ação descompacta o artefato de entrada e usa o conteúdo do arquivo especificado no campo Configuração da ação **de entrada** como entrada para a máquina de estado. Quando **FilePath**especificado, o campo **Entrada** é obrigatório e um artefato de entrada deve existir; caso contrário, a ação falhará.

Após uma execução de início bem-sucedida, o comportamento divergirá para os dois tipos de máquina de estado, *padrão* e *expressa*.

### Máquinas de estado padrão
<a name="action-reference-StepFunctions-types-standard"></a>

Se a execução da máquina de estado padrão foi iniciada com sucesso, CodePipeline pesquisa a `DescribeExecution` API até que a execução atinja o status de terminal. Se a execução for concluída com êxito, a ação será bem-sucedida; caso contrário, ela falhará.

Se um artefato de saída for configurado, o artefato conterá o valor de retorno da máquina de estado. Isso é obtido da `output` propriedade da resposta da [ DescribeExecution API Step Functions](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) após a conclusão bem-sucedida da execução da máquina de estado. Observe que há restrições de comprimento de saída impostas nesta API.

#### Tratamento de erros
<a name="action-reference-StepFunctions-types-standard-handling"></a>
+ Se ocorrer falha na ação ao iniciar uma execução de máquina de estado, a execução da ação falhará.
+ Se a execução da máquina de estado não atingir o status do terminal antes que a ação CodePipeline Step Functions atinja seu tempo limite (padrão de 7 dias), a execução da ação falhará. A máquina de estado poderá continuar apesar dessa falha. Para obter mais informações sobre o tempo limite da execução da máquina de estado no Step Functions, consulte [Comparação entre os fluxos de trabalho Standard e Express](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html).
**nota**  
É possível solicitar um aumento da cota do tempo limite da ação de invocação para a conta com a ação. No entanto, o aumento da cota aplica-se a todas as ações deste tipo em todas as regiões para essa conta.
+ Se a execução da máquina de estado atingir um status de terminal de FAILED, TIMED\$1OUT ou ABORTED, ocorrerá falha na execução da ação.

### Máquinas de estado expressas
<a name="action-reference-StepFunctions-types-express"></a>

Se a execução da máquina de estado expressa foi iniciada com êxito, a execução da ação de invocação será concluída com êxito.

Considerações sobre ações configuradas para máquinas de estado expressa:
+ Não é possível designar um artefato de saída.
+ A ação não aguarda o término da execução da máquina de estado.
+ Depois que a execução da ação é iniciada em CodePipeline, a execução da ação é bem-sucedida mesmo se a execução da máquina de estado falhar.

#### Tratamento de erros
<a name="action-reference-StepFunctions-types-express-handling"></a>
+ Se CodePipeline falhar ao iniciar a execução de uma máquina de estado, a execução da ação falhará. Caso contrário, a ação será executada com êxito imediatamente. A ação é bem-sucedida CodePipeline independentemente de quanto tempo a execução da máquina de estado leva para ser concluída ou de seu resultado.

## Consulte também
<a name="action-reference-StepFunctions-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [AWS Step Functions Guia do desenvolvedor](https://docs.aws.amazon.com/step-functions/latest/dg/) — Para obter informações sobre máquinas de estado, execuções e entradas para máquinas de estado, consulte o Guia do *AWS Step Functions desenvolvedor*.
+ [Tutorial: use uma ação de AWS Step Functions invocação em um pipeline](tutorials-step-functions.md): este tutorial apresenta o uso de uma máquina de estado padrão de exemplo e mostra como usar o console para atualizar um pipeline adicionando uma ação de invocação do Step Functions.