

A Amazon não CodeCatalyst está mais aberta a novos clientes. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte [Como migrar do CodeCatalyst](migration.md).

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

# YAML da ação “Implantação do AWS CDK ”
<a name="cdk-dep-action-ref"></a>

Confira a seguir a definição de YAML da ação **Implantação do AWS CDK **. Para saber como usar essa ação, consulte [Implantando um AWS CDK aplicativo com um fluxo de trabalho](cdk-dep-action.md).

Essa definição de ação existe como uma seção dentro de um arquivo de definição de fluxo de trabalho mais amplo. Para obter mais informações sobre esse arquivo, consulte [Definição do YAML do fluxo de trabalho](workflow-reference.md).

**nota**  
A maioria das propriedades YAML a seguir tem elementos de interface de usuário correspondentes no editor visual. Para pesquisar um elemento de interface, use **Ctrl\$1F**. O elemento será listado com a propriedade YAML associada.

```
# The workflow definition starts here.
# See Propriedades de nível superior for details.
        
Name: MyWorkflow
SchemaVersion: 1.0 
Actions:

# The action definition starts here.   
  CDKDeploy\$1nn: 
    Identifier: aws/cdk-deploy@v2
    DependsOn:
      - CDKBootstrap
    Compute:  
      Type: EC2 | Lambda
      Fleet: fleet-name
    Timeout: timeout-minutes
    Inputs:
      # Specify a source or an artifact, but not both.
      Sources:
        - source-name-1
      Artifacts:
        - artifact-name
    Outputs:
      Artifacts:
        - Name: cdk_artifact
          Files: 
            - "cdk.out/**/*"
    Environment:
      Name: environment-name
      Connections:
        - Name: account-connection-name
          Role: iam-role-name
    Configuration:
      StackName: my-cdk-stack
      Region: us-west-2
      Tags: '{"key1": "value1", "key2": "value2"}'
      Context: '{"key1": "value1", "key2": "value2"}'
      CdkCliVersion: version
      CdkRootPath: directory-containing-cdk.json-file
      CfnOutputVariables: '["CnfOutputKey1","CfnOutputKey2","CfnOutputKey3"]'
      CloudAssemblyRootPath: path-to-cdk.out
```

## CDKDeploy
<a name="cdk.dep.name"></a>

(Obrigatório)

Especifique o nome da ação. Todos os nomes de ação devem ser exclusivos no fluxo de trabalho. Os nomes de ação são limitados a caracteres alfanuméricos (a-z, A-Z, 0-9), hifens (-) e sublinhados (\$1). Não são permitidos espaços. Não é possível usar aspas para habilitar caracteres especiais e espaços nos nomes de ação.

Padrão: `CDKDeploy_nn`.

Interface de usuário correspondente: guia Configuração/**Nome da ação**

## Identifier
<a name="cdk.dep.identifier"></a>

(*CDKDeploy*/**Identifier**)

(Obrigatório)

Identifica a ação. Não altere essa propriedade, a menos que você queira alterar a versão. Para obter mais informações, consulte [Especificação da versão da ação a ser usada](workflows-action-versions.md).

**nota**  
A especificação de `aws/cdk-deploy@v2` faz com que a ação seja executada na [imagem de março de 2024](build-images.md#build.default-image), que inclui ferramentas mais recentes, como Node.js 18. A especificação de `aws/cdk-deploy@v1` faz com que a ação seja executada na [imagem de novembro de 2022](build-images.md#build.previous-image), que inclui ferramentas mais antigas, como Node.js 16.

Padrão: `aws/cdk-deploy@v2`.

Interface de usuário correspondente: Diagrama de fluxo de trabalho/CDKDeploy\$1nn/rótulo **aws/cdk-deploy@v2**

## DependsOn
<a name="cdk.dep.dependson"></a>

(*CDKDeploy*/**DependsOn**)

(Optional)

Especifique uma ação ou um grupo de ação que deve ser executado para que a ação **Implantação do AWS CDK ** seja executada. Recomendamos especificar a ação **Inicialização do AWS CDK ** na propriedade `DependsOn`, da seguinte forma:

```
CDKDeploy:
  Identifier: aws/cdk-deploy@v2
  DependsOn:
    - CDKBootstrap
```

**nota**  
A [inicialização é um pré-requisito obrigatório para a implantação de um aplicativo](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html). AWS CDK Se você não incluir a ação **Inicialização do AWS CDK ** no fluxo de trabalho, deverá encontrar outra maneira de implantar a pilha de inicialização do AWS CDK antes de executar a ação **Implantação do AWS CDK **. Para obter mais informações, consulte [Adicionando a ação 'AWS CDK implantar'](cdk-dep-action-add.md) em [Implantando um AWS CDK aplicativo com um fluxo de trabalho](cdk-dep-action.md).

Para ter mais informações sobre a funcionalidade “Depende de”, consulte [Sequenciar ações](workflows-depends-on.md).

Interface de usuário correspondente: guia Entradas/**Depende de - opcional**

## Compute
<a name="cdk.dep.computename"></a>

(*CDKDeploy*/**Compute**)

(Optional)

O mecanismo de computação usado para executar as ações de fluxo de trabalho. É possível especificar a computação em nível de fluxo de trabalho ou em nível de ação, mas não em ambos. Quando especificada em nível de fluxo de trabalho, a configuração de computação se aplica a todas as ações definidas no fluxo de trabalho. Em nível de fluxo de trabalho, também é possível realizar várias ações na mesma instância. Para obter mais informações, consulte [Compartilhamento de computação entre ações](compute-sharing.md).

Interface de usuário correspondente: *nenhuma*

## Type
<a name="cdk.dep.computetype"></a>

(*CDKDeploy*/Compute/**Type**)

(Obrigatório se [Compute](#cdk.dep.computename) for incluído)

O tipo do mecanismo de computação. É possível usar um dos seguintes valores:
+ **EC2**(editor visual) ou `EC2` (editor YAML)

  Otimizado para flexibilidade durante as execuções de ação.
+ **Lambda** (editor visual) ou `Lambda` (editor YAML)

  Velocidades otimizadas de inicialização da ação.

Para obter informações sobre tipos de dados, consulte [Tipos de computação](workflows-working-compute.md#compute.types).

**UI correspondente: Configuração tab/Advanced - opcional/Tipo de computação**

## Fleet
<a name="cdk.dep.computefleet"></a>

(*CDKDeploy*/Compute/**Fleet**)

(Optional)

Especifique a máquina ou a frota que executará o fluxo de trabalho ou as ações de fluxo de trabalho. Com frotas sob demanda, quando uma ação é iniciada, o fluxo de trabalho provisiona os recursos necessários e as máquinas são destruídas quando a ação termina. Exemplos de frota sob demanda: `Linux.x86-64.Large`, `Linux.x86-64.XLarge`. Para ter mais informações sobre frotas sob demanda, consulte [Propriedades da frota sob demanda](workflows-working-compute.md#compute.on-demand).

Com frotas provisionadas, você configura um conjunto de máquinas dedicadas para realizar as ações do fluxo de trabalho. Essas máquinas permanecem ociosas, prontas para processar ações imediatamente. Para ter mais informações sobre frotas provisionadas, consulte [Propriedades da frota provisionada](workflows-working-compute.md#compute.provisioned-fleets).

Se `Fleet` for omitido, o padrão será `Linux.x86-64.Large`.

**UI correspondente: configuração tab/Advanced - opcional/frota de computação**

## Timeout
<a name="cdk.dep.timeout"></a>

(*CDKDeploy*/**Timeout**)

(Obrigatório)

Especifique a quantidade de tempo em minutos (editor YAML) ou horas e minutos (editor visual) que a ação pode ser executada antes de CodeCatalyst finalizar a ação. O mínimo é de cinco minutos e o máximo está descrito em [Cotas para fluxos de trabalho em CodeCatalyst](workflows-quotas.md). O tempo limite padrão é igual ao tempo limite máximo.

Interface de usuário correspondente: guia Configuração/**Tempo limite - opcional**

## Inputs
<a name="cdk.dep.inputs"></a>

(*CDKDeploy*/**Inputs**)

(Optional)

A seção `Inputs` define os dados que `CDKDeploy` precisa durante a execução de um fluxo de trabalho.

**nota**  
Somente uma entrada (uma fonte ou um artefato) é permitida para cada ação **Implantação do AWS CDK **.

Interface de usuário correspondente: guia **Entradas**

## Sources
<a name="cdk.dep.inputs.sources"></a>

(*CDKDeploy*/Inputs/**Sources**)

(Obrigatório se o AWS CDK aplicativo que você deseja implantar estiver armazenado em um repositório de origem)

Se seu AWS CDK aplicativo estiver armazenado em um repositório de origem, especifique o rótulo desse repositório de origem. A ação **Implantação do AWS CDK ** sintetiza a aplicação nesse repositório antes de iniciar o processo de implantação. Atualmente, o único rótulo compatível é `WorkflowSource`.

Se seu AWS CDK aplicativo não estiver contido em um repositório de origem, ele deverá residir em um artefato gerado por outra ação.

Para obter mais informações sobre fontes, consulte [Conectar repositórios de origem aos fluxos de trabalho](workflows-sources.md).

Interface de usuário correspondente: guia Entradas/**Origens - opcional**

## Artifacts - input
<a name="cdk.dep.inputs.artifacts"></a>

(*CDKDeploy*/Inputs/**Artifacts**)

(Obrigatório se o AWS CDK aplicativo que você deseja implantar estiver armazenado em um [artefato de saída](workflows-working-artifacts-output.md) de uma ação anterior)

Se seu AWS CDK aplicativo estiver contido em um artefato gerado por uma ação anterior, especifique esse artefato aqui. A ação de **AWS CDK implantação** sintetiza o aplicativo no artefato especificado em um CloudFormation modelo antes de iniciar o processo de implantação. Se seu AWS CDK aplicativo não estiver contido em um artefato, ele deverá residir no seu repositório de origem.

Para ter mais informações sobre artefatos, inclusive exemplos, consulte [Compartilhar artefatos e arquivos entre ações](workflows-working-artifacts.md).

Interface de usuário correspondente: guia Entradas/**Artefatos - opcional**

## Outputs
<a name="cdk.dep.outputs"></a>

(*CDKDeploy*/**Outputs**)

(Optional)

Define os dados que são gerados pela ação durante a execução de um fluxo de trabalho.

Interface de usuário correspondente: guia **Saídas**

## Artifacts - output
<a name="cdk.dep.outputs.artifacts"></a>

(*CDKDeploy*/Outputs/**Artifacts**

(Optional)

Especifique os artefatos gerados pela ação. Você pode referenciar esses artefatos como entrada em outras ações.

Para ter mais informações sobre artefatos, inclusive exemplos, consulte [Compartilhar artefatos e arquivos entre ações](workflows-working-artifacts.md).

Interface de usuário correspondente: guia Saídas/**Artefatos**

## Name
<a name="cdk.dep.outputs.artifacts.name"></a>

(*CDKDeploy*/Outputs/Artifacts/**Name**)

(Obrigatório se [Artifacts - output](#cdk.dep.outputs.artifacts) for incluído)

Especifique o nome do artefato que conterá o CloudFormation modelo sintetizado pela ação de **AWS CDK implantação** em tempo de execução. O valor padrão é `cdk_artifact`. Se você não especificar um artefato, a ação sintetizará o modelo, mas não o salvará em um artefato. Pense em salvar o modelo sintetizado em um artefato para preservar um registro dele para fins de teste ou solução de problemas.

**UI correspondente: artefato de tab/Artifacts/Add saída/Nome do artefato de construção**

## Files
<a name="cdk.dep.outputs.artifacts.files"></a>

(*CDKDeploy*/Outputs/Artifacts/**Files**)

(Obrigatório se [Artifacts - output](#cdk.dep.outputs.artifacts) for incluído)

Especifique os arquivos a serem incluídos no artefato. Você deve especificar `"cdk.out/**/*"` para incluir o modelo sintetizado CloudFormation do seu AWS CDK aplicativo.

**nota**  
`cdk.out` é o diretório padrão no qual os arquivos sintetizados são salvos. Se você especificou um diretório de saída diferente de `cdk.out` no arquivo `cdk.json`, especifique esse diretório aqui em vez de `cdk.out`.

**UI correspondente: produz tab/Artifacts/Add artefatos/arquivos produzidos pela compilação**

## Environment
<a name="cdk.dep.environment"></a>

(*CDKDeploy*/**Environment**)

(Obrigatório)

Especifique o CodeCatalyst ambiente a ser usado com a ação. A ação se conecta à Conta da AWS Amazon VPC opcional especificada no ambiente escolhido. A ação usa a função padrão do IAM especificada no ambiente para se conectar ao e usa a Conta da AWS função do IAM especificada na [conexão da Amazon VPC](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-vpcs.add.html) para se conectar à Amazon VPC.

**nota**  
Se o perfil do IAM padrão não tiver as permissões exigidas pela ação, você poderá configurar a ação para usar um perfil diferente. Para obter mais informações, consulte [Alteração do perfil do IAM de uma ação](deploy-environments-switch-role.md).

Para ter mais informações sobre ambientes, consulte [Implantação em e Contas da AWS VPCs](deploy-environments.md) e [Criar um ambiente](deploy-environments-creating-environment.md).

Interface de usuário correspondente: guia Configuração/**Ambiente**

## Name
<a name="cdk.dep.environment.name"></a>

(*CDKDeploy*/Environment/**Name**)

(Obrigatório se [Environment](#cdk.dep.environment) for incluído)

Especifique o nome de um ambiente existente que deseja associar à ação.

Interface de usuário correspondente: guia Configuração/**Ambiente**

## Connections
<a name="cdk.dep.environment.connections"></a>

(*CDKDeploy*/Environment/**Connections**)

(Opcional nas versões mais recentes da ação; obrigatório nas versões mais antigas)

Especifique a conexão da conta a ser associada à ação. É possível especificar no máximo uma conexão de conta em `Environment`.

Se você não especificar uma conexão de conta:
+ A ação usa a Conta da AWS conexão e a função padrão do IAM especificadas no ambiente no CodeCatalyst console. Para ter informações sobre como adicionar uma conexão de conta e um perfil do IAM padrão ao ambiente, consulte [Criar um ambiente](deploy-environments-creating-environment.md).
+ O perfil do IAM padrão deve incluir as políticas e as permissões exigidas pela ação. Para determinar quais são essas políticas e permissões, consulte a descrição da propriedade **Perfil** na documentação de definição de YAML da ação.

Para ter mais informações sobre conexões de conta, consulte [Permitindo acesso a AWS recursos com conexão Contas da AWS](ipa-connect-account.md). Para ter informações sobre como adicionar uma conexão de conta a um ambiente, consulte [Criar um ambiente](deploy-environments-creating-environment.md).

Interface de usuário correspondente: uma das seguintes, dependendo da versão da ação:
+ (Versões mais recentes) A configuração tab/Environment/What está pronta? *my-environment* **/menu de três pontos/ Mudar função**
+ **(Versões mais antigas) Guia de configuração/' Environment/account/role AWS '/ conexão de conta**

## Name
<a name="cdk.dep.environment.connections.name"></a>

(*CDKDeploy*/Environment/Connections/**Name**)

(Obrigatório se [Connections](#cdk.dep.environment.connections) for incluído)

Especifique o nome da conexão da conta.

Interface de usuário correspondente: uma das seguintes, dependendo da versão da ação:
+ (Versões mais recentes) A configuração tab/Environment/What está pronta? *my-environment* **/menu de três pontos/ Mudar função**
+ **(Versões mais antigas) Guia de configuração/' Environment/account/role AWS '/ conexão de conta**

## Role
<a name="cdk.dep.environment.connections.role"></a>

(*CDKDeploy*/Environment/Connections/**Role**)

(Obrigatório se [Connections](#cdk.dep.environment.connections) for incluído)

Especifique o nome da conexão da conta.

Especifique o nome da função do IAM que a ação de **AWS CDK implantação** usa para acessar AWS e implantar a pilha de AWS CDK aplicativos. Certifique-se de ter [adicionado a função ao seu CodeCatalyst espaço](ipa-connect-account-addroles.md) e de que a função inclua as seguintes políticas.

Se você não especificar uma função do IAM, a ação usará a função padrão do IAM listada no [ambiente](deploy-environments.md) no CodeCatalyst console. Se você usar o perfil padrão no ambiente, verifique se ele tem as políticas a seguir.
+ A política de permissões a seguir:
**Atenção**  
Limite as permissões às exibidas na política a seguir. Usar um perfil com permissões mais amplas pode representar um risco de segurança.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "VisualEditor0",
              "Effect": "Allow",
              "Action": [
                  "cloudformation:DescribeStackEvents",
                  "cloudformation:DescribeChangeSet",
                  "cloudformation:DescribeStacks",
                  "cloudformation:ListStackResources"
              ],
              "Resource": "*"
          },
          {
              "Sid": "VisualEditor1",
              "Effect": "Allow",
              "Action": "sts:AssumeRole",
              "Resource": "arn:aws:iam::111122223333:role/cdk-*"
          }
      ]
  }
  ```

------
+ A política de confiança personalizada a seguir:

**nota**  
Você pode usar o perfil `CodeCatalystWorkflowDevelopmentRole-spaceName` com essa ação, se desejar. Para obter mais informações sobre essa função, consulte [Criar o perfil **CodeCatalystWorkflowDevelopmentRole-*spaceName*** para a conta e o espaço](ipa-iam-roles.md#ipa-iam-roles-service-create). Entenda que o perfil `CodeCatalystWorkflowDevelopmentRole-spaceName` tem permissões de acesso completas, o que pode representar um risco de segurança. Recomendamos que você use esse perfil apenas em tutoriais e em cenários em que a segurança seja menos preocupante. 

Interface de usuário correspondente: uma das seguintes, dependendo da versão da ação:
+ (Versões mais recentes) A configuração tab/Environment/What está pronta? *my-environment* **/menu de três pontos/ Mudar função**
+ **(Versões mais antigas) Guia de configuração/' '/ Função Environment/account/role**

## Configuration
<a name="cdk.dep.configuration"></a>

(*CDKDeploy*/**Configuration**)

(Obrigatório)

Uma seção na qual você pode definir as propriedades de configuração da ação.

Interface de usuário correspondente: guia **Configuração**

## StackName
<a name="cdk.dep.stack.name"></a>

(*CDKDeploy*/Configuration/**StackName**)

(Obrigatório)

O nome da sua pilha de AWS CDK aplicativos, conforme aparece no arquivo do ponto de entrada no diretório do seu AWS CDK aplicativo. `bin` O exemplo a seguir mostra o conteúdo de um arquivo de TypeScript ponto de entrada, com o nome da pilha destacado em. *red italics* Se o arquivo do ponto de entrada estiver em outra linguagem, ele terá uma aparência semelhante.

```
import * as cdk from 'aws-cdk-lib';
import { CdkWorksopTypescriptStack } from '../lib/cdk_workshop_typescript-stack';

const app = new cdk.App();
new CdkWorkshopTypescriptStack(app, 'CdkWorkshopTypescriptStack');
```

Você pode especificar apenas uma pilha.

**dica**  
Se você tiver várias pilhas, poderá criar uma pilha principal com pilhas aninhadas. Em seguida, você pode especificar a pilha principal nessa ação para implantar todas as pilhas.

Interface de usuário correspondente: guia Configuração/**Nome da pilha**

## Region
<a name="cdk.dep.region"></a>

(*CDKDeploy*/Configuration/**Region**)

(Optional)

Especifique Região da AWS no qual a pilha de AWS CDK aplicativos será implantada. Para obter uma lista dos códigos das regiões, consulte [Endpoints regionais](https://docs.aws.amazon.com/general/latest/gr/rande.html#region-names-codes).

Se você não especificar uma região, a ação de implantação será **AWS CDK implantada** na região especificada em seu AWS CDK código. Para ter mais informações, consulte [Ambientes](https://docs.aws.amazon.com/cdk/v2/guide/environments.html) no *Guia do desenvolvedor do AWS Cloud Development Kit (AWS CDK) *.

Interface de usuário correspondente: guia Configuração/**Região**

## Tags
<a name="cdk.dep.tags"></a>

(*CDKDeploy*/Configuration/**Tags**)

(Optional)

Especifique as tags que você deseja aplicar aos AWS recursos na pilha de AWS CDK aplicativos. As tags são aplicadas à pilha em si, bem como aos recursos individuais na pilha. Para ter mais informações sobre marcação, consulte [Marcação](https://docs.aws.amazon.com/cdk/v2/guide/tagging.html), no *Guia do desenvolvedor do AWS Cloud Development Kit (AWS CDK) *.

**UI correspondente: Configuração tab/Advanced - opcional/Tags**

## Context
<a name="cdk.dep.context"></a>

(*CDKDeploy*/Configuration/**Context**)

(Optional)

Especifique contextos, na forma de pares de valores-chave, para associar à pilha de aplicativos. AWS CDK Para ter mais informações sobre contextos, consulte [Contextos de runtime](https://docs.aws.amazon.com/cdk/v2/guide/context.html) no *Guia do desenvolvedor do AWS Cloud Development Kit (AWS CDK) *.

**UI correspondente: Configuração tab/Advanced - opcional/Contexto**

## CdkCliVersion
<a name="cdk.dep.cdk.cli.version"></a>

(*CDKDeploy*/Configuration/**CdkCliVersion**)

(Optional)

Essa propriedade está disponível com a versão 1.0.13 ou posterior da ação **Implantação do AWS CDK ** e a versão 1.0.8 ou posterior da ação **Inicialização do AWS CDK **.

Especifique um dos seguintes:
+ A versão completa da interface de linha de AWS Cloud Development Kit (AWS CDK) comando (CLI) (também chamada de AWS CDK kit de ferramentas) que você deseja que essa ação use. Exemplo: `2.102.1`. Considere especificar uma versão completa para garantir consistência e estabilidade ao criar e implantar a aplicação.

  Ou
+ `latest`. Pense em especificar `latest` para aproveitar os recursos e correções mais recentes da CLI do CDK.

A ação baixará a versão especificada (ou a versão mais recente) da AWS CDK CLI para a [imagem de CodeCatalyst compilação](build-images.md) e, em seguida, usará essa versão para executar os comandos necessários para implantar seu aplicativo CDK ou inicializar seu ambiente. AWS 

Para ter uma lista das versões compatíveis da CLI do CDK que você pode usar, consulte [Versões do AWS CDK](https://docs.aws.amazon.com/cdk/api/versions.html).

Se você omitir essa propriedade, a ação usará uma versão padrão da AWS CDK CLI descrita em um dos tópicos a seguir:
+ [Versões da CLI do CDK usadas pela ação 'implantar'AWS CDK](cdk-dep-action.md#cdk-dep-action-cdk-version) 
+ [Versões do CDK CLI usadas pela ação AWS CDK "bootstrap”](cdk-boot-action.md#cdk-boot-action-cdk-version)

UI correspondente: guia de configuração/versão **AWS CDK CLI**

## CdkRootPath
<a name="cdk.dep.cdk.root.path"></a>

(*CDKDeploy*/Configuration/**CdkRootPath**)

(Optional)

O caminho para o diretório que contém o `cdk.json` arquivo do seu AWS CDK projeto. A ação **Implantação do AWS CDK ** é executada nessa pasta e todas as saídas criadas pela ação serão adicionadas a esse diretório. Se não for especificada, a ação de **AWS CDK implantação** pressupõe que o `cdk.json` arquivo esteja na raiz do seu AWS CDK projeto.

Interface de usuário correspondente: guia Configuração/**Diretório em que o cdk.json reside**

## CfnOutputVariables
<a name="cdk.dep.cfn.out"></a>

(*CDKDeploy*/Configuration/**CfnOutputVariables**)

(Optional)

Especifique quais `CfnOutput` construções no código do AWS CDK aplicativo você deseja expor como variáveis de saída do fluxo de trabalho. Depois, você pode referenciar as variáveis de saída do fluxo de trabalho em ações subsequentes no fluxo de trabalho. Para obter mais informações sobre variáveis em CodeCatalyst, consulte[Uso de variáveis em fluxos de trabalho](workflows-working-with-variables.md).

Por exemplo, se o código do seu AWS CDK aplicativo tiver a seguinte aparência:

```
import { Duration, Stack, StackProps, CfnOutput, RemovalPolicy} from 'aws-cdk-lib';
import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';
import * as s3 from 'aws-cdk-lib/aws-s3';
import { Construct } from 'constructs';
import * as cdk from 'aws-cdk-lib';
export class HelloCdkStack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);
    const bucket = new s3.Bucket(this, 'amzn-s3-demo-bucket', {
      removalPolicy: RemovalPolicy.DESTROY,
    });
    new CfnOutput(this, 'bucketName', {
      value: bucket.bucketName,
      description: 'The name of the s3 bucket',
      exportName: 'amzn-s3-demo-bucket',
    });
    const table = new dynamodb.Table(this, 'todos-table', {
      partitionKey: {name: 'todoId', type: dynamodb.AttributeType.NUMBER},
      billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
      removalPolicy: RemovalPolicy.DESTROY,
    })
    new CfnOutput(this, 'tableName', {
      value: table.tableName,
      description: 'The name of the dynamodb table',
      exportName: 'myDynamoDbTable',
    });
    ...
  }
}
```

... e a propriedade `CfnOutputVariables` for semelhante a:

```
Configuration:
  ...
  CfnOutputVariables: '["bucketName","tableName"]'
```

... a ação gera as seguintes variáveis de saída do fluxo de trabalho:


| Chave | Valor | 
| --- | --- | 
|  bucketName  |  `bucket.bucketName`  | 
|  tableName  |  `table.tableName`  | 

Depois, você pode referenciar as variáveis `bucketName` e `tableName` em ações subsequentes. Para saber como referenciar variáveis de saída do fluxo de trabalho em ações subsequentes, consulte [Referência a uma variável predefinida](workflows-working-with-variables-reference-output-vars.md).

Se você não especificar nenhuma `CfnOutput` construção na `CfnOutputVariables` propriedade, a ação expõe as primeiras quatro (ou menos) variáveis de saída encontradas como variáveis CloudFormation de saída do fluxo de trabalho. Para obter mais informações, consulte [Variáveis de “Implantação do AWS CDK ”](cdk-dep-action-variables.md).

**dica**  
Para obter uma lista de todas as variáveis de CloudFormation saída que a ação produz, execute o fluxo de trabalho que contém a ação de **AWS CDK implantação** uma vez e, em seguida, consulte a guia **Registros** da ação. Os registros contêm uma lista de todas as variáveis CloudFormation de saída associadas ao seu AWS CDK aplicativo. Depois de saber quais são todas as CloudFormation variáveis, você pode especificar quais deseja converter em variáveis de saída do fluxo de trabalho usando a `CfnOutputVariables` propriedade.

Para obter mais informações sobre variáveis de CloudFormation saída, consulte a documentação da `CfnOutput` construção, disponível em [class CfnOutput (construct)](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.CfnOutput.html) na *Referência da AWS Cloud Development Kit (AWS CDK) API*.

UI correspondente: guia de configuração/variáveis **CloudFormation de saída**

## CloudAssemblyRootPath
<a name="cdk.dep.cloud"></a>

(*CDKDeploy*/Configuration/**CloudAssemblyRootPath**)

(Optional)

Se você já sintetizou a pilha do seu AWS CDK aplicativo em uma montagem em nuvem (usando a `cdk synth` operação), especifique o caminho raiz do diretório de montagem em nuvem (). `cdk.out` O CloudFormation modelo localizado no diretório de montagem de nuvem especificado será implantado pela ação de **AWS CDK implantação** em você Conta da AWS usando o `cdk deploy --app` comando. Quando a opção `--app` está presente, a operação `cdk synth` não ocorre.

Se você não especificar um diretório de assembly de nuvem, a ação **Implantação do AWS CDK ** executará o comando `cdk deploy` sem a opção `--app`. Sem a `--app` opção, a `cdk deploy` operação sintetizará (`cdk synth`) e implantará seu AWS CDK aplicativo no seu. Conta da AWS

**Por que eu especificaria um conjunto de nuvem existente e sintetizado quando a ação “AWS CDK implantar” pode fazer a síntese em tempo de execução?**

Talvez você queira especificar um assembly de nuvem sintetizado existente para:
+ **Garanta que exatamente o mesmo conjunto de recursos seja implantado sempre que a ação “AWS CDK implantar” for executada**

  Se você não especificar um assembly de nuvem, é possível que a ação **Implantação do AWS CDK ** sintetize e implante arquivos diferentes, dependendo de quando ela for executada. Por exemplo, a ação **Implantação do AWS CDK ** pode sintetizar um assembly de nuvem com um conjunto de dependências durante um estágio de teste e outro conjunto de dependências durante um estágio de produção (se essas dependências mudarem entre os estágios). Para garantir a paridade exata entre o que foi testado e o que foi implantado, recomendamos sintetizar uma vez e depois usar o campo **Caminho para o diretório de assembly de nuvem** (editor visual) ou a propriedade `CloudAssemblyRootPath` (editor YAML) para especificar o assembly de nuvem já sintetizado.
+ **Usar gerenciadores de pacotes e ferramentas não padrão com a aplicação AWS CDK **

  Durante uma operação `synth`, a ação **Implantação do AWS CDK ** tenta executar a aplicação usando ferramentas padrão, como npm ou pip. Se a ação não conseguir executar a aplicação usando essas ferramentas, a síntese não ocorrerá e a ação falhará. Para contornar esse problema, você pode especificar os comandos exatos necessários para executar seu aplicativo com êxito no `cdk.json` arquivo do AWS CDK aplicativo e, em seguida, sintetizar seu aplicativo usando um método que não envolva a **AWS CDK ação de implantação**. Depois que o assembly de nuvem for gerado, você poderá especificá-lo no campo **Caminho para o diretório de assembly de nuvem** (editor visual) ou na propriedade `CloudAssemblyRootPath` (editor YAML) da ação **Implantação do AWS CDK **. 

Para obter informações sobre como configurar o `cdk.json` arquivo para incluir comandos para instalar e executar seu AWS CDK aplicativo, consulte [Especificação do comando do aplicativo](https://docs.aws.amazon.com/cdk/v2/guide/cli.html#cli-app-command).

Para ter informações sobre os comandos `cdk deploy` e `cdk synth`, bem como sobre a opção `--app`, consulte [Implantação de pilhas](https://docs.aws.amazon.com/cdk/v2/guide/cli.html#cli-deploy), [Sintetização de pilhas](https://docs.aws.amazon.com/cdk/v2/guide/cli.html#cli-synth) e [Como ignorar a síntese](https://docs.aws.amazon.com/cdk/v2/guide/cli.html#cli-deploy-nosynth) no *Guia do desenvolvedor do AWS Cloud Development Kit (AWS CDK) *.

Para ter informações sobre assemblies de nuvem, consulte [Assembly de nuvem](https://docs.aws.amazon.com/cdk/api/v2/docs/cloud-assembly-schema-readme.html) na *AWS Cloud Development Kit (AWS CDK) API Reference*.

Interface de usuário correspondente: guia Configuração/**Caminho para o diretório de assembly de nuvem**