

Esta es la guía para desarrolladores de AWS CDK v2. La primera versión del CDK pasó a la etapa de mantenimiento el 1.° de junio de 2022 y no cuenta con soporte desde el 1.° de junio de 2023.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Referencia de los comandos de la CLI de AWS CDK
<a name="ref-cli-cmd"></a>

Esta sección contiene la información de referencia para el comando de la interfaz de la línea de comandos (CLI) del AWS Cloud Development Kit (AWS CDK) La CLI del CDK también se conoce como kit de herramientas de CDK.

## Uso
<a name="ref-cli-cmd-usage"></a>

```
$ cdk <command> <arguments> <options>
```

## Comandos
<a name="ref-cli-cmd-commands"></a><a name="ref-cli-cmd-commands-acknowledge"></a>

 ` acknowledge ack `   
Identifica un aviso por el número de incidencia y lo oculta para que no se vuelva a mostrar.<a name="ref-cli-cmd-commands-bootstrap"></a>

 ` bootstrap `   
Prepara un entorno de AWS para las implementaciones de CDK mediante la pila de arranque de CDK, denominada `CDKToolkit`, en el entorno de AWS.<a name="ref-cli-cmd-commands-context"></a>

 ` context `   
Administra los valores de contexto almacenados en la memoria caché para su aplicación CDK.<a name="ref-cli-cmd-commands-deploy"></a>

 ` deploy `   
Implemente una o más pilas de CDK en su entorno de AWS.<a name="ref-cli-cmd-commands-destroy"></a>

 ` destroy `   
Elimina una o más pilas de CDK de su entorno de AWS.<a name="ref-cli-cmd-commands-diff"></a>

 ` diff `   
Ejecuta diff para ver los cambios en la infraestructura entre las pilas de CDK.<a name="ref-cli-cmd-commands-docs"></a>

 ` docs doc `   
Abre la documentación de CDK en su navegador.<a name="ref-cli-cmd-commands-doctor"></a>

 ` doctor `   
Inspecciona y muestra información útil sobre su entorno de desarrollo y proyecto de CDK locales.<a name="ref-cli-cmd-commands-drift"></a>

 ` drift `   
Detecte desviaciones en la configuración de los recursos que defina, gestione e implemente mediante el CDK.<a name="ref-cli-cmd-commands-flags"></a>

 ` flags `   
Vea y modifique las configuraciones de su marca de características para la CLI de CDK.<a name="ref-cli-cmd-commands-import"></a>

 ` import `   
Utilice las importaciones de recursos de AWS CloudFormation para importar los recursos de AWS existentes a una pila de CDK.<a name="ref-cli-cmd-commands-init"></a>

 ` init `   
Crea un nuevo proyecto de CDK a partir de una plantilla.<a name="ref-cli-cmd-commands-list"></a>

 ` list, ls `   
Enumera todas las pilas de CDK y sus dependencias de una aplicación CDK.<a name="ref-cli-cmd-commands-metadata"></a>

 ` metadata `   
Muestra los metadatos asociados a una pila de CDK.<a name="ref-cli-cmd-commands-migrate"></a>

 ` migrate `   
Migre los recursos de AWS, las pilas de AWS CloudFormation y las plantillas de AWS CloudFormation a un nuevo proyecto de CDK.<a name="ref-cli-cmd-commands-notices"></a>

 ` notices `   
Muestra los avisos de su aplicación CDK.<a name="ref-cli-cmd-commands-refactor"></a>

 ` refactor `   
Preserve los recursos implementados al refactorizar el código en su aplicación de CDK.<a name="ref-cli-cmd-commands-synthesize"></a>

 ` synthesize, synth `   
Sintetiza una aplicación CDK para crear un ensamblaje en la nube que incluya una plantilla de AWS CloudFormation para cada pila.<a name="ref-cli-cmd-commands-watch"></a>

 ` watch `   
Vigila de forma continua un proyecto CDK local en busca de cambios para realizar implementaciones e intercambios en caliente.

## Opciones globales
<a name="ref-cli-cmd-options"></a>

Las siguientes opciones son compatibles con todos los comandos de la CLI de CDK.<a name="ref-cli-cmd-options-app"></a>

 `--app, -a <STRING>`   
Proporciona el comando para ejecutar la aplicación o el directorio de ensamblaje de la nube.  
 *Obligatorio*: sí<a name="ref-cli-cmd-options-asset-metadata"></a>

 `--asset-metadata <BOOLEAN>`   
Incluye metadatos `aws:asset:*` de AWS CloudFormation para los recursos que utilizan activos.  
 *Obligatorio*: no  
 *Valor predeterminado*: `true` <a name="ref-cli-cmd-options-build"></a>

 `--build <STRING>`   
Es el comando para ejecutar una compilación previa a la síntesis.  
 *Obligatorio*: no<a name="ref-cli-cmd-options-ca-bundle-path"></a>

 `--ca-bundle-path <STRING>`   
Es la ruta a un certificado de CA que se utilizará al validar las solicitudes HTTPS.  
Si no se proporciona esta opción, la CLI de CDK leerá de la variable de entorno `AWS_CA_BUNDLE`.  
 *Obligatorio*: sí<a name="ref-cli-cmd-options-ci"></a>

 `--ci <BOOLEAN>`   
Indica que los comandos de la CLI de CDK se ejecutan en un entorno de integración continua (CI).  
Esta opción modifica el comportamiento de la CLI de CDK para adaptarlo mejor a las operaciones automatizadas típicas de las canalizaciones de CI.  
Cuando se proporciona esta opción, los registros se envían a `stdout`, en lugar de `stderr`.  
 *Obligatorio*: no  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-options-context"></a>

 `--context, -c <ARRAY>`   
Agrega parámetros de cadena contextuales como pares clave-valor.<a name="ref-cli-cmd-options-debug"></a>

 `--debug <BOOLEAN>`   
Habilita la información de depuración detallada. Esta opción produce un resultado minucioso que incluye muchos más detalles sobre lo que hace la CLI de CDK en segundo plano.  
 *Obligatorio*: no  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-options-ec2creds"></a>

 `--ec2creds, -i <BOOLEAN>`   
Obliga a la CLI de CDK a intentar obtener las credenciales de la instancia de Amazon EC2.  
De forma predeterminada, la CLI de CDK adivina el estado de la instancia de Amazon EC2.  
 *Obligatorio*: no  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando para la CLI de CDK.  
 *Obligatorio*: no  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-options-ignore-errors"></a>

 `--ignore-errors <BOOLEAN>`   
Ignora los errores de síntesis, ya que es probable que generen un resultado no válido.  
 *Obligatorio*: no  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-options-json"></a>

 `--json, -j <BOOLEAN>`   
Utiliza JSON en lugar de YAML para las plantillas de AWS CloudFormation que se imprimen en la salida estándar (`stdout`).  
 *Obligatorio*: no  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-options-lookups"></a>

 `--lookups <BOOLEAN>`   
Realiza búsquedas de contexto.  
La síntesis fallará si este valor es `false` y es necesario realizar búsquedas de contexto.  
 *Obligatorio*: no  
 *Valor predeterminado*: `true` <a name="ref-cli-cmd-options-no-color"></a>

 `--no-color <BOOLEAN>`   
Elimina el color y otros estilos de la salida de la consola.  
 *Obligatorio*: no  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-options-notices"></a>

 `--notices <BOOLEAN>`   
Muestra los avisos relevantes.  
 *Obligatorio*: no  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-options-output"></a>

 `--output, -o <STRING>`   
Especifica el directorio en el que se generará el ensamblaje de la nube sintetizado.  
 *Obligatorio*: sí  
 *Valor predeterminado*: `cdk.out` <a name="ref-cli-cmd-options-path-metadata"></a>

 `--path-metadata <BOOLEAN>`   
Incluye los metadatos `aws::cdk::path` de AWS CloudFormation de cada recurso.  
 *Obligatorio:* no  
 *Valor predeterminado*: `true` <a name="ref-cli-cmd-options-plugin"></a>

 `--plugin, -p <ARRAY>`   
Nombra o establece la ruta de un paquete de nodos que amplía las características de CDK. Esta opción se puede proporcionar varias veces en un mismo comando.  
Puede configurar esta opción en el archivo `cdk.json` del proyecto o en `~/.cdk.json` en su máquina de desarrollo local:  

```
{
   // ...
   "plugin": [
      "module_1",
      "module_2"
   ],
   // ...
}
```
 *Obligatorio*: no<a name="ref-cli-cmd-options-profile"></a>

 `--profile <STRING>`   
Especifica el nombre del perfil de AWS que contiene la información de su entorno de AWS, para usarlo con la CLI de CDK.  
 *Obligatorio*: sí<a name="ref-cli-cmd-options-proxy"></a>

 `--proxy <STRING>`   
Utiliza el proxy indicado.  
Si no se proporciona esta opción, la CLI de CDK leerá de la variable de entorno `HTTPS_PROXY`.  
 *Obligatorio*: sí  
 *Valor predeterminado*: lee de la variable de entorno `HTTPS_PROXY`.<a name="ref-cli-cmd-options-role-arn"></a>

 `--role-arn, -r <STRING>`   
Es el ARN del rol de IAM que la CLI de CDK asumirá al interactuar con AWS CloudFormation.  
 *Obligatorio*: no<a name="ref-cli-cmd-options-staging"></a>

 `--staging <BOOLEAN>`   
Copia los activos al directorio de salida.  
Especifica `false` para evitar que se copien los activos al directorio de salida. Esto permite que la CLI de AWS SAM haga referencia a los archivos de origen originales al realizar la depuración local.  
 *Obligatorio*: no  
 *Valor predeterminado*: `true` <a name="ref-cli-cmd-options-strict"></a>

 `--strict <BOOLEAN>`   
No crea pilas que contengan advertencias.  
 *Obligatorio*: no  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-options-trace"></a>

 `--trace <BOOLEAN>`   
Imprime el rastro de las advertencias de pila.  
 *Obligatorio*: no  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-options-verbose"></a>

 `--verbose, -v <COUNT>`   
Muestra los registros de depuración. Puede especificar esta opción varias veces para aumentar el nivel de detalle.  
 *Obligatorio*: no<a name="ref-cli-cmd-options-version"></a>

 `--version <BOOLEAN>`   
Muestre el número de versión de la CLI de CDK.  
 *Obligatorio*: no  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-options-version-reporting"></a>

 `--version-reporting <BOOLEAN>`   
Incluya el recurso ` AWS::CDK::Metadata` en las plantillas de AWS CloudFormation sintetizadas.  
 *Obligatorio*: no  
 *Valor predeterminado*: `true` 

## Cómo proporcionar y configurar opciones
<a name="ref-cli-cmd-configure"></a>

Puede transferir las opciones a través de los argumentos de la línea de comandos. Para la mayoría de las opciones, puede configurarlas en un archivo de configuración `cdk.json`. Cuando se utilizan varias fuentes de configuración, la CLI de CDK sigue la siguiente prioridad:

1.  **Valores de la línea de comandos**: cualquier opción proporcionada en la línea de comandos anula las opciones configuradas en los archivos `cdk.json`.

1.  **Archivo de configuración del proyecto**: es el archivo `cdk.json` del directorio del proyecto de CDK.

1.  **Archivo de configuración de usuario**: es el archivo `cdk.json` ubicado en `~/.cdk.json` en su máquina local.

## Cómo transferir las opciones en la línea de comandos
<a name="ref-cli-cmd-pass"></a><a name="ref-cli-cmd-pass-bool"></a>

 **Transfiera valores booleanos**   
En el caso de las opciones que aceptan un valor booleano, puede especificarlas de estas dos maneras:  
+ Use los valores `true` y `false`: esto proporciona el valor booleano con el comando. A continuación, se muestra un ejemplo:

  ```
  $ cdk deploy --watch=true
  $ cdk deploy --watch=false
  ```
+ Proporcione la contraparte de la opción: esto modifica el nombre de la opción mediante el agregado de `no` para especificar un valor `false`. A continuación, se muestra un ejemplo:

  ```
  $ cdk deploy --watch
  $ cdk deploy --no-watch
  ```
+ En el caso de las opciones cuyo valor predeterminado es `true` o`false`, no es necesario que proporcione la opción a menos que desee cambiar el valor predeterminado.

# `cdk acknowledge`
<a name="ref-cli-cmd-ack"></a>

Identifique un aviso por el número de incidencia y ocúltelo para que no se vuelva a mostrar.

Esto es útil para ocultar avisos que ya se resolvieron o que no son de su interés.

Las identificaciones se guardan en el proyecto de CDK. Si identifica un aviso en un proyecto de CDK, este seguirá apareciendo en otros proyectos hasta que se identifique en ellos.

## Uso
<a name="ref-cli-cmd-ack-usage"></a>

```
$ cdk acknowledge <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-ack-args"></a><a name="ref-cli-cmd-ack-args-notice-id"></a>

 **ID de aviso**   
El ID del aviso.  
 *Tipo:* cadena  
 *Obligatorio*: no

## Opciones
<a name="ref-cli-cmd-ack-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-ack-options-help"></a>

 `--help, -h <BOOLEAN>`   
Mostrar la información de referencia para el comando `cdk acknowledge`.

## Ejemplos
<a name="ref-cli-cmd-ack-examples"></a>

### Identifique y oculte el aviso que aparece al ejecutar otro comando de la CLI de CDK
<a name="ref-cli-cmd-ack-examples-1"></a>

```
$ cdk deploy
... # Normal output of the command

NOTICES

16603   Toggling off auto_delete_objects for Bucket empties the bucket

        Overview: If a stack is deployed with an S3 bucket with
                  auto_delete_objects=True, and then re-deployed with
                  auto_delete_objects=False, all the objects in the bucket
                  will be deleted.

        Affected versions: <1.126.0.

        More information at: https://github.com/aws/aws-cdk/issues/16603


17061   Error when building EKS cluster with monocdk import

        Overview: When using monocdk/aws-eks to build a stack containing
                  an EKS cluster, error is thrown about missing
                  lambda-layer-node-proxy-agent/layer/package.json.

        Affected versions: >=1.126.0 <=1.130.0.

        More information at: https://github.com/aws/aws-cdk/issues/17061

$ cdk acknowledge 16603
```

# `cdk bootstrap`
<a name="ref-cli-cmd-bootstrap"></a>

Prepara un entorno de AWS para las implementaciones del CDK mediante la pila de arranque del CDK, denominada `CDKToolkit`, en el entorno de AWS.

La pila de arranque es una pila de CloudFormation que aprovisiona un bucket de Amazon S3 y un repositorio de Amazon ECR en el entorno de AWS. La CLI de AWS CDK utiliza estos recursos para almacenar plantillas sintetizadas y activos relacionados durante la implementación.

## Uso
<a name="ref-cli-cmd-bootstrap-usage"></a>

```
$ cdk bootstrap <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-bootstrap-args"></a><a name="ref-cli-cmd-bootstrap-args-env"></a>

 ** AWS Entorno de**   
El entorno de AWS de destino en el que se implementará la pila de arranque en el siguiente formato: `aws://<account-id>/<region>`.  
Ejemplo:: `aws://123456789012/us-east-1`   
Este argumento se puede proporcionar varias veces en un solo comando para implementar la pila de arranque en varios entornos.  
De forma predeterminada, la CLI de CDK arrancará todos los entornos a los que se hace referencia en la aplicación CDK o determinará un entorno a partir de las fuentes predeterminadas. Puede ser un entorno especificado mediante la opción `--profile`, a partir de variables de entorno o de fuentes predeterminadas de la AWS CLI.

## Opciones
<a name="ref-cli-cmd-bootstrap-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-bootstrap-options-bootstrap-bucket-name"></a>

 `--bootstrap-bucket-name, --toolkit-bucket-name, -b <STRING>`   
Nombre del bucket de Amazon S3 que utilizará la CLI del CDK. Este bucket se creará y no debe existir actualmente.  
Proporcione esta opción para anular el nombre predeterminado del bucket de Amazon S3.  
Cuando utilice esta opción, es posible que deba personalizar la síntesis. Consulte [Personalizar la síntesis de pilas de CDK](configure-synth.md#bootstrapping-custom-synth) para obtener más información.  
 *Valor predeterminado*: indefinido<a name="ref-cli-cmd-bootstrap-options-bootstrap-customer-key"></a>

 `--bootstrap-customer-key <BOOLEAN>`   
Cree una clave maestra de cliente (CMK) para el bucket de arranque (se le cobrará, pero podrá personalizar los permisos, solo para el arranque moderno).  
Esta opción no es compatible con `--bootstrap-kms-key-id`.  
 *Valor predeterminado*: indefinido<a name="ref-cli-cmd-bootstrap-options-bootstrap-kms-key-id"></a>

 `--bootstrap-kms-key-id <STRING>`   
El ID de clave maestra de AWS KMS que se va a utilizar para el cifrado `SSE-KMS`.  
Proporcione esta opción para anular la clave predeterminada de AWS KMS que se utilizó para cifrar el bucket de Amazon S3.  
Esta opción no es compatible con `--bootstrap-customer-key`.  
 *Valor predeterminado*: indefinido<a name="ref-cli-cmd-bootstrap-options-cloudformation-execution-policies"></a>

 `--cloudformation-execution-policies <ARRAY>`   
Los ARN de la política de IAM administrada que deben adjuntarse al rol de implementación asumido por AWSCloudFormation durante la implementación de las pilas.  
De forma predeterminada, las pilas se implementan con todos los permisos de administrador mediante la política `AdministratorAccess`.  
Puede proporcionar esta opción varias veces en un mismo comando. También puede proporcionar varios ARN como una sola cadena, con los ARN individuales separados por comas. A continuación, se muestra un ejemplo:  

```
$ cdk bootstrap --cloudformation-execution-policies "arn:aws:iam::aws:policy/AWSLambda_FullAccess,arn:aws:iam::aws:policy/AWSCodeDeployFullAccess"
```
Para evitar errores en la implementación, asegúrese de que las políticas que especifique sean suficientes para cualquier implementación que vaya a realizar en el entorno que se arranca.  
Esta opción solo se aplica al arranque moderno.  
La plantilla de arranque moderna otorga de manera efectiva los permisos implícitos de `--cloudformation-execution-policies` a cualquier cuenta de AWS en la lista `--trust`. De forma predeterminada, esto extiende los permisos de lectura y escritura a cualquier recurso de la cuenta iniciada. Asegúrese de [configurar la pila de inicio](bootstrapping-customizing.md) con políticas y cuentas de confianza con las que se sienta cómodo.
 *Valor predeterminado*: `[]` <a name="ref-cli-cmd-bootstrap-options-custom-permissions-boundary"></a>

 `--custom-permissions-boundary, -cpb <STRING>`   
Especifique el nombre del límite de permisos que se utilizará.  
Esta opción no es compatible con `--example-permissions-boundary`.  
 *Valor predeterminado*: indefinido<a name="ref-cli-cmd-bootstrap-options-example-permissions-boundary"></a>

 `--example-permissions-boundary, -epb <BOOLEAN>`   
Utilice el ejemplo de límite de permisos que proporciona AWSCDK.  
Esta opción no es compatible con `--custom-permissions-boundary`.  
La política de límite de permisos que proporciona el CDK debe considerarse como un ejemplo. Edite el contenido y consulte la política de ejemplo si está probando la característica. Conviértala en una nueva política para las implementaciones reales, si aún no existe ninguna. Lo importante es evitar una desviación. Lo más probable es que se mantenga un límite de permisos y que tenga convenciones específicas, incluida la nomenclatura.  
Para obtener más información sobre la configuración de los permisos, incluido el uso de los límites de los permisos, consulte la [Guía para desarrolladores de seguridad y protección](https://github.com/aws/aws-cdk/wiki/Security-And-Safety-Dev-Guide).  
 *Valor predeterminado*: indefinido<a name="ref-cli-cmd-bootstrap-options-execute"></a>

 `--execute <BOOLEAN>`   
Configure si se ejecutará el conjunto de cambios.  
 *Valor predeterminado*: `true` <a name="ref-cli-cmd-bootstrap-options-force"></a>

 `--force, -f <BOOLEAN>`   
Ejecute siempre el arranque, incluso si se degradara la versión de la plantilla de arranque.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-bootstrap-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk bootstrap`.<a name="ref-cli-cmd-bootstrap-options-previous-parameters"></a>

 `--previous-parameters <BOOLEAN>`   
Utilice los valores anteriores para los parámetros existentes.  
Una vez implementada una plantilla de arranque con un conjunto de parámetros, debe configurar esta opción como `false` para cambiar cualquier parámetro en futuras implementaciones. Cuando esté establecida como `false`, debe volver a suministrar todos los parámetros proporcionados anteriormente.  
 *Valor predeterminado*: `true` <a name="ref-cli-cmd-bootstrap-options-public-access-block-configuration"></a>

 `--public-access-block-configuration <BOOLEAN>`   
Bloquee la configuración de acceso público en el bucket de Amazon S3 que crea y utiliza la CLI de CDK.  
 *Valor predeterminado*: `true` <a name="ref-cli-cmd-bootstrap-options-qualifier"></a>

 `--qualifier <STRING>`   
Valor de cadena de nueve dígitos que es único para cada pila de arranque. Este valor se agrega al ID físico de los recursos de la pila de arranque.  
Si se proporciona un calificador, se evitan conflictos de nombres de recursos cuando se aprovisionan varias pilas de arranque en el mismo entorno.  
Cuando cambia el calificador, la aplicación CDK debe pasar el valor modificado al sintetizador de pilas. Para obtener más información, consulte [Personalizar la síntesis de pilas de CDK](configure-synth.md#bootstrapping-custom-synth).  
 *Valor predeterminado*: `hnb659fds`. Este valor no tiene importancia.<a name="ref-cli-cmd-bootstrap-options-show-template"></a>

 `--show-template <BOOLEAN>`   
En lugar de ejecutar el arranque, imprima la plantilla de arranque actual en la salida estándar (`stdout`). A continuación, puede copiar y personalizar la plantilla según sea necesario.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-bootstrap-options-tags"></a>

 `--tags, -t <ARRAY>`   
Etiquetas para agregar a la pila de arranque en el formato de `KEY=VALUE`.  
 *Valor predeterminado*: `[]` <a name="ref-cli-cmd-bootstrap-options-template"></a>

 `--template <STRING>`   
Use la plantilla del archivo proporcionado en lugar de la plantilla integrada.<a name="ref-cli-cmd-bootstrap-options-termination-protection"></a>

 `--termination-protection <BOOLEAN>`   
Configure la protección de terminación de AWS CloudFormation en la pila de arranque.  
Cuando se establece como `true`, la protección de terminación está habilitada. Esto evita que se elimine accidentalmente la pila de arranque.  
Para obtener más información sobre la protección de terminación, consulte [Cómo proteger una pila para que no se la elimine](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html) en la *Guía del usuario de AWS CloudFormation*.  
 *Valor predeterminado*: indefinido<a name="ref-cli-cmd-bootstrap-options-toolkit-stack-name"></a>

 `--toolkit-stack-name <STRING>`   
El nombre de la pila de arranque que se va a crear.  
De forma predeterminada, `cdk bootstrap` implementa una pila con el nombre `CDKToolkit` en el entorno de AWS especificado. Utilice esta opción para proporcionar un nombre diferente a la pila de arranque.  
La CLI de CDK usa este valor para verificar la versión de la pila de arranque.  
 *Valor predeterminado*: `CDKToolkit`   
 *Obligatorio*: sí<a name="ref-cli-cmd-bootstrap-options-trust"></a>

 `--trust <ARRAY>`   
Los ID de la cuenta de AWS en los que se debe confiar para llevar a cabo las implementaciones en este entorno.  
Siempre se confiará en la cuenta que ejecute el arranque.  
Esta opción requiere que también proporcione las `--cloudformation-execution-policies`.  
Puede proporcionar esta opción varias veces en un mismo comando.  
Esta opción solo se aplica al arranque moderno.  
Para agregar cuentas de confianza a una pila de arranque existente, debe especificar todas las cuentas en las que puede confiar, incluidas las que haya proporcionado anteriormente. Si solo proporciona cuentas nuevas en las que confiar, se eliminarán las cuentas de confianza anteriores.  
A continuación, se muestra un ejemplo de confianza de dos cuentas:  

```
$ cdk bootstrap aws://123456789012/us-west-2 --trust 234567890123 --trust 987654321098 --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess
 ⏳  Bootstrapping environment aws://123456789012/us-west-2...
Trusted accounts for deployment: 234567890123, 987654321098
Trusted accounts for lookup: (none)
Execution policies: arn:aws:iam::aws:policy/AdministratorAccess
CDKToolkit: creating CloudFormation changeset...
 ✅  Environment aws://123456789012/us-west-2 bootstrapped.
```
La plantilla de inicio moderna concede de forma efectiva los permisos implícitos en `--cloudformation-execution-policies` a cualquier cuenta de AWS en la lista `--trust`. De forma predeterminada, esto extiende los permisos de lectura y escritura a cualquier recurso de la cuenta iniciada. Asegúrese de [configurar la pila de inicio](bootstrapping-customizing.md) con políticas y cuentas de confianza con las que se sienta cómodo.
 *Valor predeterminado*: `[]` <a name="ref-cli-cmd-bootstrap-options-trust-for-lookup"></a>

 `--trust-for-lookup <ARRAY>`   
Los identificadores de la cuenta de AWS en los que se debe confiar para buscar valores en este entorno.  
Use esta opción para dar permiso a las cuentas para sintetizar las pilas que se van a implementar en el entorno, sin darles permiso para implementar esas pilas directamente.  
Puede proporcionar esta opción varias veces en un mismo comando.  
Esta opción solo se aplica al arranque moderno.  
 *Valor predeterminado*: `[]` 

## Ejemplos
<a name="ref-cli-cmd-bootstrap-examples"></a>

### Inicie el entorno de AWS especificado en el perfil de producción
<a name="ref-cli-cmd-bootstrap-examples-1"></a>

```
$ cdk bootstrap --profile prod
```

### Implemente la pila de arranque en los entornos foo y bar
<a name="ref-cli-cmd-bootstrap-examples-2"></a>

```
$ cdk bootstrap --app='node bin/main.js' foo bar
```

### Exporte la plantilla de arranque para personalizarla
<a name="ref-cli-cmd-bootstrap-examples-3"></a>

Si tiene requisitos específicos que la plantilla de arranque no cumple, puede personalizarla para que se adapte a sus necesidades.

Puede exportar la plantilla de arranque, modificarla e implementarla con AWS CloudFormation. A continuación, se muestra un ejemplo de exportación de la plantilla existente:

```
$ cdk bootstrap --show-template > bootstrap-template.yaml
```

También puede indicarle a la CLI de CDK que utilice una plantilla personalizada. A continuación, se muestra un ejemplo:

```
$ cdk bootstrap --template my-bootstrap-template.yaml
```

### Ejecute el arranque con un límite de permisos. Luego, elimine ese límite de permisos
<a name="ref-cli-cmd-bootstrap-examples-4"></a>

Para ejecutar el arranque con un límite de permisos personalizado, ejecutamos lo siguiente:

```
$ cdk bootstrap --custom-permissions-boundary my-permissions-boundary
```

Para eliminar el límite de permisos, ejecutamos lo siguiente:

```
$ cdk bootstrap --no-previous-parameters
```

### Utilice un calificador para distinguir los recursos que se crean para un entorno de desarrollo
<a name="ref-cli-cmd-bootstrap-examples-5"></a>

```
$ cdk bootstrap --qualifier dev2024
```

# `cdk context`
<a name="ref-cli-cmd-context"></a>

Administre los valores de contexto almacenados en la memoria caché para su aplicación AWS CDK.

 El *contexto* representa la información de la configuración y el entorno que puede influir en la forma en que se sintetizan e implementan las pilas. Utilice `cdk context` para hacer lo siguiente:
+ Ver los valores de contexto configurados.
+ Definir y gestionar los valores de contexto.
+ Eliminar los valores de contexto.

## Uso
<a name="ref-cli-cmd-context-usage"></a>

```
$ cdk context <options>
```

## Opciones
<a name="ref-cli-cmd-context-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-context-options-clear"></a>

 `--clear <BOOLEAN>`   
Borre todo el contexto.<a name="ref-cli-cmd-context-options-force"></a>

 `--force, -f <BOOLEAN>`   
Ignore el error de clave faltante.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-context-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk context`.<a name="ref-cli-cmd-context-options-reset"></a>

 `--reset, -e <STRING>`   
La clave de contexto, o su índice, que se va a restablecer.

# `cdk deploy`
<a name="ref-cli-cmd-deploy"></a>

Implemente una o más pilas de AWS CDK en su entorno de AWS.

Durante la implementación, la CLI de CDK generará indicadores de progreso, similares a los que se pueden observar desde la consola de AWS CloudFormation.

Si el entorno de AWS no está en fase de arranque, solo se sintetizarán correctamente las pilas sin activos y con plantillas sintetizadas de menos de 51 200 bytes.

## Uso
<a name="ref-cli-cmd-deploy-usage"></a>

```
$ cdk deploy <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-deploy-args"></a><a name="ref-cli-cmd-deploy-args-stack-name"></a>

 **ID de pila de CDK**   
El ID de constructo de la pila de CDK correspondiente a la aplicación que desea eliminar.  
 *Tipo:* cadena  
 *Obligatorio*: no

## Opciones
<a name="ref-cli-cmd-deploy-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-deploy-options-all"></a>

 `--all <BOOLEAN>`   
Implemente todas las pilas en su aplicación CDK.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-deploy-options-asset-parallelism"></a>

 `--asset-parallelism <BOOLEAN>`   
Especifique si desea crear y publicar activos en paralelo.<a name="ref-cli-cmd-deploy-options-asset-prebuild"></a>

 `--asset-prebuild <BOOLEAN>`   
Especifique si desea crear todos los activos antes de implementar la primera pila. Esta opción es útil para compilaciones de Docker fallidas.  
 *Valor predeterminado*: `true` <a name="ref-cli-cmd-deploy-options-build-exclude"></a>

 `--build-exclude, -E <ARRAY>`   
No reconstruya el activo con el identificador indicado.  
Esta opción se puede especificar varias veces en un mismo comando.  
 *Valor predeterminado*: `[]` <a name="ref-cli-cmd-deploy-options-change-set-name"></a>

 `--change-set-name <STRING>`   
El nombre del cambio de AWS CloudFormation que se va a crear.  
Esta opción no es compatible con `--method='direct'`.<a name="ref-cli-cmd-deploy-options-concurrency"></a>

 `--concurrency <NUMBER>`   
Implemente múltiples pilas en paralelo y, al mismo tiempo, tenga en cuenta las dependencias entre pilas. Utilice esta opción para acelerar las implementaciones. Aún debe tener en cuenta AWS CloudFormation y otros límites de tarifa de la cuenta de AWS.  
Proporcione un número para especificar el número máximo de implementaciones simultáneas (si la dependencia lo permite) que se deben realizar.  
 *Valor predeterminado*: `1` <a name="ref-cli-cmd-deploy-options-exclusively"></a>

 `--exclusively, -e <BOOLEAN>`   
Implemente solo las pilas solicitadas y no incluya las dependencias.<a name="ref-cli-cmd-deploy-options-force"></a>

 `--force, -f <BOOLEAN>`   
Cuando implemente para actualizar una pila existente, la CLI de CDK comparará la plantilla y las etiquetas de la pila implementada con las de la pila que se va a implementar. Si no se detectan cambios, la CLI de CDK se saltará la implementación.  
Para anular este comportamiento e implementar siempre las pilas, incluso si no se detectan cambios, utilice esta opción.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-deploy-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk deploy`.<a name="ref-cli-cmd-deploy-options-hotswap"></a>

 `--hotswap <BOOLEAN>`   
Implementaciones de cambio en caliente para un desarrollo más rápido. Esta opción intenta realizar una implementación de cambio de caliente más rápida si es posible. Por ejemplo, si modifica el código de una función de Lambda en su aplicación de CDK, la CLI de CDK actualizará el recurso directamente a través de las API de servicio en lugar de realizar una implementación de CloudFormation.  
Si la CLI de CDK detecta cambios que no admiten el cambio en caliente, dichos cambios se ignorarán y aparecerá un mensaje. Si prefiere realizar una implementación completa de CloudFormation como alternativa, utilice `--hotswap-fallback` en su lugar.  
La CLI de CDK usa sus credenciales de AWS actuales para realizar las llamadas a la API. No asume los roles de su pila de arranque, incluso si el indicador de característica `@aws-cdk/core:newStyleStackSynthesis` está establecido en `true`. Esos roles no tienen los permisos necesarios para actualizar los recursos de AWS directamente sin usar CloudFormation. Por ese motivo, asegúrese de que sus credenciales pertenezcan a la misma cuenta de AWS de las pilas que va a realizar las implementaciones de cambio en caliente y de que cuenten con los permisos de IAM necesarios para actualizar los recursos.  
El cambio en caliente se admite actualmente para los siguientes cambios:  
+ Activos de código (incluidas imágenes de Docker y código en línea), cambios de etiquetas y cambios de configuración (solo se admiten variables de descripción y entorno) de las funciones de Lambda.
+ Versiones de Lambda y cambios de alias.
+ Cambios en la definición de máquinas de estado de AWS Step Functions.
+ Cambios en los activos de contenedores de los servicios de Amazon ECS.
+ Cambios en los activos del sitio web de las implementaciones del bucket de Amazon S3.
+ Cambios en el origen y el entorno de los proyectos de AWS CodeBuild.
+ Cambios en la plantilla de mapeo de VTL para solucionadores y funciones de AWS AppSync.
+ Cambios en el esquema de las API de AWS GraphQL de AppSync.
Se admite el uso de determinadas funciones intrínsecas de CloudFormation como parte de una implementación de cambio en caliente. Entre ellos se incluyen:  
+  `Ref` 
+  `Fn::GetAtt`: solo se admite parcialmente. Consulte [esta implementación](https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk/lib/api/evaluate-cloudformation-template.ts#L477-L492) para conocer los recursos y atributos compatibles.
+  `Fn::ImportValue` 
+  `Fn::Join` 
+  `Fn::Select` 
+  `Fn::Split` 
+  `Fn::Sub` 
Esta opción también es compatible con las pilas anidadas.  
+ Esta opción introduce deliberadamente una desviación en las pilas de CloudFormation para acelerar las implementaciones. Por este motivo, utilícela únicamente con fines de desarrollo. No utilice esta opción para sus implementaciones de producción.
+ Esta opción se considera experimental y es posible que se someta a cambios importantes en el futuro.
+ Los valores predeterminados de algunos parámetros pueden ser diferentes a los del parámetro de cambio en caliente. Por ejemplo, el porcentaje mínimo de estado de un servicio Amazon ECS se establecerá actualmente en `0`. Si esto ocurre, revise la fuente en consecuencia.
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-deploy-options-hotswap-fallback"></a>

 `--hotswap-fallback <BOOLEAN>`   
Esta opción es similar a `--hotswap`. La diferencia es que `--hotswap-fallback` recurrirá a realizar una implementación completa de CloudFormation si se detecta un cambio que lo requiera.  
Para obtener más información acerca de esta opción, consulta `--hotswap`.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-deploy-options-ignore-no-stacks"></a>

 `--ignore-no-stacks <BOOLEAN>`   
Realice una implementación incluso si su aplicación de CDK no contiene ninguna pila.  
Esta opción resulta útil en el siguiente escenario: puede que tenga una aplicación con varios entornos, como `dev` y. `prod` Al iniciar el desarrollo, es posible que su aplicación de producción no tenga ningún recurso o que los recursos estén comentados. Esto provocará un error de implementación con un mensaje que indica que la aplicación no tiene pilas. Utilice `--ignore-no-stacks` para evitar este error.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-deploy-options-import-existing-resources"></a>

 `--import-existing-resources <BOOLEAN>`   
Importe los recursos de AWS CloudFormation existentes y no administrados de su cuenta de AWS.  
Al usar esta opción, los recursos de la plantilla sintetizada de AWS CloudFormation con el mismo nombre personalizado que los recursos no administrados existentes en la misma cuenta se importarán a su pila.  
Puede usar esta opción para importar los recursos existentes a pilas nuevas o a pilas existentes.  
Puede importar los recursos existentes e implementar nuevos recursos en el mismo comando `cdk deploy`.  
Para obtener más información sobre los nombres personalizados, consulte [Tipo de nombre](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) en la *Guía del usuario de AWS CloudFormation*.  
Para obtener más información sobre el parámetro de `ImportExistingResources` CloudFormation, consulte [AWSCloudFormation simplifica la importación de recursos con un nuevo parámetro para ChangeSets](https://aws.amazon.com/about-aws/whats-new/2023/11/aws-cloudformation-import-parameter-changesets/).  
Para obtener más información sobre el uso de esta opción, consulte [Importar recursos existentes](https://github.com/aws/aws-cdk-cli/tree/main/packages/aws-cdk#import-existing-resources) en el *repositorio aws-cdk-cli de GitHub*.<a name="ref-cli-cmd-deploy-options-logs"></a>

 `--logs <BOOLEAN>`   
Muestre el registro de Amazon CloudWatch en la salida estándar (`stdout`) para todos los eventos de todos los recursos de las pilas seleccionadas.  
Esta opción es únicamente compatible con `--watch`.  
 *Valor predeterminado*: `true` <a name="ref-cli-cmd-deploy-options-method"></a>

 `--method, -m <STRING>`   
Configure el método para ejecutar una implementación.  
+  `change-set`: método predeterminado. La CLI de CDK crea un conjunto de cambios de CloudFormation con los cambios que se implementarán y, a continuación, realiza la implementación.
+  `direct`: no cree un conjunto de cambios. En su lugar, aplique el cambio inmediatamente. Esto suele ser más rápido que crear un conjunto de cambios, pero se pierden los detalles de progreso de la implementación en el resultado de la CLI.
+  `prepare-change-set`: cree un conjunto de cambios pero no realice la implementación. Esto resulta útil si dispone de herramientas externas que inspeccionarán el conjunto de cambios o si tiene un proceso de aprobación de los conjuntos de cambios.
 *Valores válidos*: `change-set`, `direct`, `prepare-change-set`   
 *Valor predeterminado*: `change-set` <a name="ref-cli-cmd-deploy-options-notification-arns"></a>

 `--notification-arns <ARRAY>`   
Los ARN de los temas de Amazon SNS que CloudFormation notificará en caso de eventos relacionados con la pila.<a name="ref-cli-cmd-deploy-options-outputs-file"></a>

 `--outputs-file, -O <STRING>`   
La ruta en la que se escriben los resultados de la pila de las implementaciones.  
Tras la implementación, los resultados de la pila se escribirán en el archivo de salida especificado en formato JSON.  
Puede configurar esta opción en el archivo `cdk.json` del proyecto o en `~/.cdk.json` en su máquina de desarrollo local:  

```
{
   "app": "npx ts-node bin/myproject.ts",
   // ...
   "outputsFile": "outputs.json"
}
```
Si se implementan varias pilas, los resultados se escriben en el mismo archivo de salida, organizados por claves que representan el nombre de la pila.<a name="ref-cli-cmd-deploy-options-parameters"></a>

 `--parameters <ARRAY>`   
Transfiera parámetros adicionales a CloudFormation durante la implementación.  
Esta opción acepta una matriz con el siguiente formato: `STACK:KEY=VALUE`.  
+  `STACK`: el nombre de la pila con la que se va a asociar el parámetro.
+  `KEY`: el nombre del parámetro de la pila.
+  `VALUE`: el valor que se transferirá en el momento de la implementación.
Si no se proporciona un nombre de pila, o si se proporciona `*` como nombre de pila, los parámetros se aplicarán a todas las pilas que se estén implementando. Si una pila no utiliza el parámetro, la implementación fallará.  
Los parámetros no se propagan a las pilas anidadas. Para pasar los parámetros a las pilas anidadas, utilice el constructo ` [NestedStack](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.NestedStack.html) `.  
 *Valor predeterminado*: `{}` <a name="ref-cli-cmd-deploy-options-previous-parameters"></a>

 `--previous-parameters <BOOLEAN>`   
Utilice los valores anteriores para los parámetros existentes.  
Si esta opción está establecida en `false`, debe especificar todos los parámetros de cada implementación.  
 *Valor predeterminado*: `true` <a name="ref-cli-cmd-deploy-options-progress"></a>

 `--progress <STRING>`   
Configure la forma en que la CLI de CDK muestra el progreso de la implementación.  
+  `bar`: muestra los eventos de implementación de la pila como una barra de progreso, con los eventos del recurso que se está implementando actualmente.
+  `events`: proporciona un historial completo, incluidos todos los eventos de CloudFormation.
También puede configurar esta opción en el archivo `cdk.json` del proyecto o en `~/.cdk.json` en su máquina de desarrollo local:  

```
{
   "progress": "events"
}
```
 *Valores válidos*: `bar`, `events`   
 *Valor predeterminado*: `bar` <a name="ref-cli-cmd-deploy-options-require-approval"></a>

 `--require-approval <STRING>`   
Especifique qué cambios importantes desde el punto de vista de la seguridad requieren aprobación manual.  
+  `any-change`: se requiere una aprobación manual para cualquier cambio en la pila.
+  `broadening`: se requiere la aprobación manual si los cambios implican una ampliación de los permisos o las reglas de los grupos de seguridad.
+  `never`: no se requiere aprobación.
 *Valores válidos*: `any-change`, `broadening`, `never`   
 *Valor predeterminado*: `broadening` <a name="ref-cli-cmd-deploy-options-rollback"></a>

 `--rollback` \$1 `--no-rollback`, `-R`   
Durante la implementación, si no se puede crear o actualizar un recurso, la implementación volverá al último estado estable antes de que la CLI de CDK vuelva. Todos los cambios realizados hasta ese momento se anularán. Los recursos que se crearon se eliminarán y las actualizaciones que se hayan realizado se revertirán.  
Especifique `--no-rollback` para desactivar este comportamiento. Si no se puede crear o actualizar un recurso, la CLI de CDK dejará en su lugar los cambios realizados hasta ese momento y regresará. Esto dejará la implementación en un estado fallido y pausado. Desde aquí, puede actualizar el código y volver a intentar la implementación. Esto puede resultar útil en entornos de desarrollo en los que se realiza una iteración rápida.  
Si falla una implementación realizada con `--no-rollback` y decide que quiere revertirla, puede usar el comando `cdk rollback`. Para obtener más información, consulte [Reversión de CDK](ref-cli-cmd-rollback.md).  
Con `--no-rollback`, las implementaciones que provocan la sustitución de recursos siempre fallarán. Solo puede utilizar este valor de opción para las implementaciones que actualicen o creen nuevos recursos.
 *Valor predeterminado*: `--rollback` <a name="ref-cli-cmd-deploy-options-toolkit-stack-name"></a>

 `--toolkit-stack-name <STRING>`   
El nombre de la pila del kit de herramientas de CDK existente.  
De forma predeterminada, `cdk bootstrap` implementa una pila con un nombre `CDKToolkit` en el entorno de AWS especificado. Utilice esta opción para proporcionar un nombre diferente a la pila de arranque.  
La CLI de CDK usa este valor para verificar la versión de la pila de arranque.<a name="ref-cli-cmd-deploy-options-watch"></a>

 `--watch <BOOLEAN>`   
Observe continuamente los archivos de proyecto del CDK e implemente las pilas especificadas automáticamente cuando se detecten cambios.  
Esta opción implica `--hotswap` de forma predeterminada.  
Esta opción tiene un comando de la CLI de CDK equivalente. Para obtener más información, consulte [Supervisión de CDK](ref-cli-cmd-watch.md).

## Ejemplos
<a name="ref-cli-cmd-deploy-examples"></a>

### Implementación de la pila llamada MyStackName
<a name="ref-cli-cmd-deploy-examples-1"></a>

```
$ cdk deploy MyStackName --app='node bin/main.js'
```

### Implementación de varias pilas en una aplicación
<a name="ref-cli-cmd-deploy-examples-2"></a>

Utilice `cdk list` para enumerar sus pilas:

```
$ cdk list
CdkHelloWorldStack
CdkStack2
CdkStack3
```

Para implementar todas las pilas, use la opción `--all`:

```
$ cdk deploy --all
```

Para elegir qué pilas implementar, proporcione los nombres de las pilas como argumentos:

```
$ cdk deploy CdkHelloWorldStack CdkStack3
```

### Implementación de pilas de canalizaciones
<a name="ref-cli-cmd-deploy-examples-3"></a>

Use `cdk list` para mostrar los nombres de las pilas como rutas, mostrando dónde se encuentran en la jerarquía de canalización:

```
$ cdk list
PipelineStack
PiplelineStack/Prod
PipelineStack/Prod/MyService
```

Usa la opción `--all` o el comodín `*` para implementar todas las pilas. Si tiene una jerarquía de pilas como la descrita anteriormente, `--all` y `*` solo coincidirán con las del nivel superior. Para hacer coincidir todas las pilas de la jerarquía, use `**`.

Puede combinar estos patrones. Lo siguiente implementa todas las pilas en el escenario `Prod`:

```
$ cdk deploy PipelineStack/Prod/**
```

### Pase los parámetros en el momento de la implementación
<a name="ref-cli-cmd-deploy-examples-4"></a>

Defina los parámetros en su pila de CDK. A continuación, se muestra un ejemplo de creación de un parámetro con el nombre `TopicNameParam` para un tema de Amazon SNS:

```
new sns.Topic(this, 'TopicParameter', {
    topicName: new cdk.CfnParameter(this, 'TopicNameParam').value.toString()
});
```

Para proporcionar un valor de parámetro de `parameterized`, ejecute lo siguiente:

```
$ cdk deploy --parameters "MyStackName:TopicNameParam=parameterized"
```

Puede anular los valores de los parámetros mediante la opción `--force`. A continuación, se muestra un ejemplo de cómo anular el nombre de tema de una implementación anterior:

```
$ cdk deploy --parameters "MyStackName:TopicNameParam=parameterName" --force
```

### Escriba los resultados de la pila en un archivo después de la implementación
<a name="ref-cli-cmd-deploy-examples-5"></a>

Defina las salidas en su archivo de pila de CDK. El siguiente es un ejemplo que crea una salida para función de ARN:

```
const fn = new lambda.Function(this, "fn", {
  handler: "index.handler",
  code: lambda.Code.fromInline(`exports.handler = \${handler.toString()}`),
  runtime: lambda.Runtime.NODEJS_LATEST
});

new cdk.CfnOutput(this, 'FunctionArn', {
  value: fn.functionArn,
});
```

Implemente la pila y escriba los resultados en `outputs.json`:

```
$ cdk deploy --outputs-file outputs.json
```

A continuación, se muestra un ejemplo de `outputs.json` luego de la implementación:

```
{
  "MyStack": {
    "FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:MyStack-fn5FF616E3-G632ITHSP5HK"
  }
}
```

A partir de este ejemplo, la clave `FunctionArn` corresponde al identificador lógico de la instancia `CfnOutput`.

A continuación, se muestra un ejemplo de `outputs.json` posterior a la implementación en el que se implementan varias pilas:

```
{
  "MyStack": {
    "FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:MyStack-fn5FF616E3-G632ITHSP5HK"
  },
  "AnotherStack": {
    "VPCId": "vpc-z0mg270fee16693f"
  }
}
```

### Modificación en el método de implementación
<a name="ref-cli-cmd-deploy-examples-6"></a>

Para realizar una implementación más rápida, sin utilizar conjuntos de cambios, utilice `--method='direct'`:

```
$ cdk deploy --method='direct'
```

Para crear un conjunto de cambios pero no implementarlo, utilice `--method='prepare-change-set'`. De forma predeterminada, se creará un conjunto de cambios con el nombre `cdk-deploy-change-set`. Si existe un conjunto de cambios anterior con este nombre, se sobrescribirá. Si no se detecta ningún cambio, se seguirá creando un conjunto de cambios vacío.

También puede asignar un nombre al conjunto de cambios. A continuación, se muestra un ejemplo:

```
$ cdk deploy --method='prepare-change-set' --change-set-name='MyChangeSetName'
```

# `cdk destroy`
<a name="ref-cli-cmd-destroy"></a>

Elimine una o más pilas de AWS CDK de su entorno de AWS.

Al eliminar una pila, se destruyen los recursos en ella, a menos que se hayan configurado con una `DeletionPolicy` de `Retain`.

Durante la eliminación de la pila, este comando generará información sobre el progreso similar al comportamiento de `cdk deploy`.

## Uso
<a name="ref-cli-cmd-destroy-usage"></a>

```
$ cdk destroy <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-destroy-args"></a><a name="ref-cli-cmd-destroy-args-stack-name"></a>

 **ID de pila de CDK**   
El ID de constructo de la pila de CDK correspondiente a la aplicación que desea eliminar.  
 *Tipo:* cadena  
 *Obligatorio*: no

## Opciones
<a name="ref-cli-cmd-destroy-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-destroy-options-all"></a>

 `--all <BOOLEAN>`   
Destruye todas las pilas disponibles.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-destroy-options-exclusively"></a>

 `--exclusively, -e <BOOLEAN>`   
Destruye solo las pilas solicitadas y no incluye las dependencias.<a name="ref-cli-cmd-destroy-options-force"></a>

 `--force, -f <BOOLEAN>`   
No pide confirmación antes de destruir las pilas.<a name="ref-cli-cmd-destroy-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk destroy`.

## Ejemplos
<a name="ref-cli-cmd-destroy-examples"></a>

### Eliminación de una pila llamada MyStackName
<a name="ref-cli-cmd-destroy-examples-1"></a>

```
$ cdk destroy --app='node bin/main.js' <MyStackName>
```

# `cdk diff`
<a name="ref-cli-cmd-diff"></a>

Ejecute diff para ver los cambios en la infraestructura entre las pilas de AWS CDK.

En general, este comando se usa para comparar las diferencias entre el estado actual de las pilas de su aplicación de CDK local y las pilas implementadas. Sin embargo, también puede comparar una pila implementada con cualquier plantilla de AWS CloudFormation local.

## Uso
<a name="ref-cli-cmd-diff-usage"></a>

```
$ cdk diff <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-diff-args"></a><a name="ref-cli-cmd-diff-args-stack-name"></a>

 **ID de pila de CDK**   
El ID de constructo de la pila de CDK correspondiente a su aplicación para ejecutar diff.  
 *Tipo:* cadena  
 *Obligatorio*: no

## Opciones
<a name="ref-cli-cmd-diff-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-diff-options-change-set"></a>

 `--change-set <BOOLEAN>`   
Especifica si desea crear un conjunto de cambios para analizar las sustituciones de recursos.  
Si está configurado como `true`, la CLI de CDK creará un conjunto de cambios de AWS CloudFormation para mostrar los cambios exactos que se realizarán en la pila. Este resultado incluye si se actualizarán o reemplazarán los recursos. La CLI de CDK utiliza el rol de implementación en lugar del rol de búsqueda para realizar esta acción.  
Si está configurado como `false`, se ejecuta diff de manera más rápida pero menos precisa, y se comparan las plantillas de CloudFormation. Cualquier cambio que se detecte en las propiedades que requieran la sustitución de recursos se mostrará como una sustitución de recursos, incluso si el cambio es meramente cosmético, como la sustitución de la referencia a un recurso por un ARN con codificación rígida.  
 *Valor predeterminado*: `true` <a name="ref-cli-cmd-diff-options-context-lines"></a>

 `--context-lines <NUMBER>`   
Número de líneas de contexto que se van a incluir en la representación JSON arbitraria de diff.  
 *Valor predeterminado*: `3` <a name="ref-cli-cmd-diff-options-exclusively"></a>

 `--exclusively, -e <BOOLEAN>`   
El comando diff solo se aplica a las pilas solicitadas y no se incluyen las dependencias.<a name="ref-cli-cmd-diff-options-fail"></a>

 `--fail <BOOLEAN>`   
Se produce un error y se cierra con un código de `1` si se detectan diferencias.<a name="ref-cli-cmd-diff-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk diff`.<a name="ref-cli-cmd-diff-options-processed"></a>

 `--processed <BOOLEAN>`   
Especifica si desea realizar la comparación con la plantilla con las transformaciones de CloudFormation ya procesadas.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-diff-options-quiet"></a>

 `--quiet, -q <BOOLEAN>`   
No imprime el nombre de la pila de CDK y usa la opción predeterminada de mensaje de `cdk diff` `stdout` cuando no se detectan cambios.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-diff-options-security-only"></a>

 `--security-only <BOOLEAN>`   
El comando diff solo se aplica para cambios de seguridad ampliada.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-diff-options-strict"></a>

 `--strict <BOOLEAN>`   
Modifica el comportamiento de `cdk diff` para que sea más preciso o riguroso. Si está configurado como verdadero, la CLI del CDK no filtrará los recursos de ` AWS::CDK::Metadata` ni los caracteres ilegibles que no sean ASCII.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-diff-options-template"></a>

 `--template <STRING>`   
La ruta a la plantilla de CloudFormation con la que se comparará una pila de CDK.

## Ejemplos
<a name="ref-cli-cmd-diff-examples"></a>

### Ejecución de diff con la pila actualmente implementada que se llama MyStackName
<a name="ref-cli-cmd-diff-examples-1"></a>

La CLI de CDK utiliza los siguientes símbolos en la salida diff:
+  `[+]`: identifica el código o los recursos que se añadirán si implementa los cambios.
+  `[-]`: identifica el código o los recursos que se eliminarán si implementa los cambios.
+  `[~]`: identifica un recurso o una propiedad que se modificará si implementa los cambios.

El siguiente es un ejemplo que muestra una diferencia de cambios locales en una función de Lambda:

```
$ cdk diff MyStackName
start: Building <asset-hash>:<account:Region>
success: Built <asset-hash>:<account:Region>
start: Publishing <asset-hash>:<account:Region>
success: Published <asset-hash>:<account:Region>
Hold on while we create a read-only change set to get a diff with accurate replacement information (use --no-change-set to use a less accurate but faster template-only diff)
Stack MyStackName
Resources
[~] AWS::Lambda::Function HelloWorldFunction <resource-logical-ID>
 └─ [~] Code
     └─ [~] .ZipFile:
         ├─ [-]
        exports.handler = async function(event) {
          return {
            statusCode: 200,
            body: JSON.stringify('Hello World!'),
          };
        };

         └─ [+]
        exports.handler = async function(event) {
          return {
            statusCode: 200,
            body: JSON.stringify('Hello from CDK!'),
          };
        };



✨  Number of stacks with differences: 1
```

Un indicador `[~]` de los recursos que se van a modificar no siempre significa que se sustituyan todos los recursos:
+ Algunas propiedades del recurso, por ejemplo `Code`, actualizarán el recurso.
+ Algunas propiedades del recurso, por ejemplo `FunctionName`, pueden provocar un reemplazo total del recurso.

### Ejecutar diff con una plantilla específica de CloudFormation
<a name="ref-cli-cmd-diff-examples-2"></a>

```
$ cdk diff MyStackName --app='node bin/main.js' --template-path='./MyStackNameTemplate.yaml'
```

### Diferencia una pila local de su pila implementada. No imprime stdout si no se detectan cambios.
<a name="ref-cli-cmd-diff-examples-3"></a>

```
$ cdk diff MyStackName --app='node bin/main.js' --quiet
```

# `cdk docs`
<a name="ref-cli-cmd-docs"></a>

Abra la documentación de AWS CDK en su navegador.

## Uso
<a name="ref-cli-cmd-docs-usage"></a>

```
$ cdk docs <options>
```

## Opciones
<a name="ref-cli-cmd-docs-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-docs-options-browser"></a>

 `--browser, -b <STRING>`   
El comando que debe utilizar para abrir el navegador, con `%u` como marcador de posición para la ruta del archivo que se va a abrir.  
 *Valor predeterminado*: `open %u` <a name="ref-cli-cmd-docs-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk docs`.

## Ejemplos
<a name="ref-cli-cmd-docs-examples"></a>

### Abra la documentación del AWS CDK en Google Chrome
<a name="ref-cli-cmd-docs-examples-1"></a>

```
$ cdk docs --browser='chrome %u'
```

# `cdk doctor`
<a name="ref-cli-cmd-doctor"></a>

Inspecciona y muestra información útil sobre su entorno de desarrollo y proyecto de AWS CDK locales.

Esta información puede ayudarlo a solucionar problemas del CDK y debe proporcionarse al enviar informes de errores.

## Uso
<a name="ref-cli-cmd-doctor-usage"></a>

```
$ cdk doctor <options>
```

## Opciones
<a name="ref-cli-cmd-doctor-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-doctor-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk doctor`.

## Ejemplos
<a name="ref-cli-cmd-doctor-examples"></a>

### Ejemplo sencillo del comando `cdk doctor`
<a name="ref-cli-cmd-doctor-examples-1"></a>

```
$ cdk doctor
ℹ️ CDK Version: 1.0.0 (build e64993a)
ℹ️ AWS environment variables:
  - AWS_EC2_METADATA_DISABLED = 1
  - AWS_SDK_LOAD_CONFIG = 1
```

# `cdk drift`
<a name="ref-cli-cmd-drift"></a>

Detecte desviaciones en la configuración de los recursos que defina, gestione e implemente mediante el AWS Cloud Development Kit (AWS CDK). La desviación se produce cuando la configuración real de una pila difiere de la configuración esperada, lo que ocurre cuando los recursos se modifican fuera de AWS CloudFormation.

Este comando identifica los recursos que se han modificado (por ejemplo, mediante la consola de AWS o la AWS CLI) comparando su estado actual con la configuración esperada. Estas modificaciones pueden provocar un comportamiento inesperado en la infraestructura.

Durante la detección de desviaciones, la CLI de CDK generará indicadores de progreso y resultados, que muestran lo siguiente:
+ Recursos que se desviaron de la configuración esperada.
+ Número total de recursos con desviación.
+ Un resumen que indica si se detectó una desviación en la pila.

**importante**  
Los comandos `cdk drift` y `cdk diff` funcionan de forma diferente:  
 `cdk drift` llama a la operación de detección de desviaciones de CloudFormation para comparar el estado real de los recursos AWS (“realidad”) con su configuración esperada en CloudFormation. No todos los recursos de AWS admiten la detección de desviaciones. Para ver la lista de recursos de admitidos, consulte [Tipo de recursos admitidos](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import-supported-resources.html) en la *Guía del usuario de AWS CloudFormation*.
 `cdk diff` compara la plantilla de CloudFormation sintetizada a partir del código CDK local con la plantilla de la pila de CloudFormation implementada.
Utilice `cdk drift` cuando necesite comprobar si los recursos se han modificado fuera de CloudFormation (por ejemplo, mediante la consola de AWS o la AWS CLI). Útilice `cdk diff` cuando desee obtener una vista previa de cómo afectarían los cambios en el código local a su infraestructura antes de la implementación.

## Uso
<a name="ref-cli-cmd-drift-usage"></a>

```
$ cdk drift <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-drift-args"></a><a name="ref-cli-cmd-drift-args-stack-name"></a>

 **Nombre de pila**   
El nombre de la pila que desea comprobar si hay desviación. La pila debe implementarse previamente en CloudFormation para realizar la detección de desviaciones.  
 *Tipo:* cadena  
 *Obligatorio*: no  
Si no se especifica ninguna pila, la detección de desviaciones se realizará en todas las pilas definidas en la aplicación de CDK.

## Opciones
<a name="ref-cli-cmd-drift-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-drift-options-fail"></a>

 `--fail <BOOLEAN>`   
Si detecta una desviación, regrese con el código de salida 1.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-drift-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk drift`.

## Ejemplos
<a name="ref-cli-cmd-drift-examples"></a>

### Compruebe la desviación de una pila específica
<a name="ref-cli-cmd-drift-examples-stack"></a>

```
$ cdk drift MyStackName
```

El comando generará resultados similares a los siguientes:

```
Stack MyStackName
Modified Resources
[~] AWS::Lambda::Function MyFunction MyLambdaFunc1234ABCD
 └─ [~] /Description
     ├─ [-] My original hello world Lambda function
     └─ [+] My drifted hello world Lambda function

1 resource has drifted from their expected configuration

✨  Number of resources with drift: 1
```

### Compruebe la desviación cuando se hayan eliminado los recursos
<a name="ref-cli-cmd-drift-examples-deleted"></a>

El siguiente ejemplo muestra cómo se ve el resultado cuando los recursos se modificaron y eliminaron:

```
Stack MyStackName
Modified Resources
[~] AWS::Lambda::Function MyFunction MyLambdaFunc1234ABCD
 └─ [~] /Description
     ├─ [-] My original hello world Lambda function
     └─ [+] My drifted hello world Lambda function
Deleted Resources
[-] AWS::CloudWatch::Alarm MyAlarm MyCWAlarmABCD1234

2 resources have drifted from their expected configuration

✨  Number of resources with drift: 2
```

### Compruebe la desviación con el código de salida
<a name="ref-cli-cmd-drift-examples-fail"></a>

Para que el comando devuelva un código de salida distinto a cero si detecta desviación:

```
$ cdk drift MyStackName --fail
```

Esto resulta útil en las canalizaciones de CI/CD para detectar y responder de forma automática a las desviaciones de la infraestructura.

# `cdk flags`
<a name="ref-cli-cmd-flags"></a>

Vea y modifique las configuraciones de su marca de características para la CLI de CDK.

Las marcas de características controlan el comportamiento de la CLI de CDK y puede utilizarlos para habilitar o deshabilitar características específicas. Utilice el comando `cdk flags` para ver las configuraciones actuales de las marcas de características y modifíquelas según sea necesario.

**aviso**  
El comando `cdk flags` está en desarrollo para el AWS CDK. Se considera que las funciones actuales de este comando están listas para la producción y son seguras de usar. Sin embargo, el alcance de este comando y sus funciones están sujetos a cambios. Por lo tanto, debe suscribirse proporcionando la opción `unstable=flags` usar este comando.

## Uso
<a name="ref-cli-cmd-flags-usage"></a>

```
$ cdk flags <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-flags-args"></a><a name="ref-cli-cmd-flags-args-flagname"></a>

 **NOMBRE DE LA MARCA**   
El nombre de la marca de características específica que desea ver o modificar algo.  
 *Tipo:* cadena  
 *Obligatorio*: no

## Opciones
<a name="ref-cli-cmd-flags-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-flags-options-set"></a>

 `--set <BOOLEAN>`   
Modifique la configuración de una marca de características.<a name="ref-cli-cmd-flags-options-all"></a>

 `--all <BOOLEAN>`   
Modifique o vea todos las marcas de características.<a name="ref-cli-cmd-flags-options-recommended"></a>

 `--recommended <BOOLEAN>`   
Cambie las marcas a los estados recomendados.<a name="ref-cli-cmd-flags-options-default"></a>

 `--default <BOOLEAN>`   
Cambie las marcas a los estados predeterminados.<a name="ref-cli-cmd-flags-options-unconfigured"></a>

 `--unconfigured <BOOLEAN>`   
Modifique las marcas de características no configuradas.<a name="ref-cli-cmd-flags-options-value"></a>

 `--value <STRING>`   
El valor en el que se va a establecer la configuración de la marca de características.  
 *requireArg*: true<a name="ref-cli-cmd-flags-options-safe"></a>

 `--safe <BOOLEAN>`   
Active todos las marcas de características que no afecten a su aplicación.<a name="ref-cli-cmd-flags-options-interactive"></a>

 `--interactive, -i <BOOLEAN>`   
Opción interactiva para el comando de marcas.

## Ejemplos
<a name="ref-cli-cmd-flags-examples"></a>

### Ver las configuraciones de los marcadores de características
<a name="ref-cli-cmd-flags-examples-1"></a>

Ejecute `cdk flags` para ver un informe con las configuraciones de sus marcas de características que difieran de nuestros estados recomendados. Los indicadores no configurados se etiquetan con `<unset>` para indicar que la marca no tiene ningún valor en este momento. Las marcas se muestran en el siguiente orden:
+ Las marcas tienen un valor que no coincide con nuestro valor recomendado
+ Marcas de características que no ha configurado

```
$ cdk flags --unstable=flags
Feature Flag                           Recommended                       User
* @aws-cdk/...                              true                         false
* @aws-cdk/...                              true                         false
* @aws-cdk/...                              true                         <unset>
```

También puede ejecutar `cdk flags --all` para ver un informe con todas las marcas de características en el siguiente orden:
+ Las marcas tienen un valor que coincide con nuestro valor recomendado
+ Las marcas tienen un valor que no coincide con nuestro valor recomendado
+ Marcas de características que no ha configurado

```
$ cdk flags --unstable=flags --all
Feature Flag                              Recommended                     User
@aws-cdk/...                                true                         true
* @aws-cdk/...                              true                         false
* @aws-cdk/...                              true                         false
* @aws-cdk/...                              true                         <unset>
```

### Modificar los valores de las marcas de características
<a name="ref-cli-cmd-flags-examples-2"></a>

Para modificar sus marcas de características de forma interactiva, ejecute `cdk flags --interactive` (o `cdk flags -i`) para ver una lista de opciones del menú.

Para cambiar cada marca de características a nuestro valor recomendado, ejecute `cdk flags --set --recommended --all`. Este comando mantiene la configuración de las marcas de características actualizada con las últimas configuraciones de marcas de características de CDK. Tenga en cuenta que la ejecución de este comando puede sobrescribir los valores existentes configurados.

```
$ cdk flags --unstable=flags --set --recommended --all
Feature Flag                              Recommended Value            User Value
* @aws-cdk/...                              true                         false
* @aws-cdk/...                              true                         false
* @aws-cdk/...                              true                         <unset>
  Synthesizing...
    Resources
    [~] AWS::S3::Bucket MyBucket
    └─ [~] Properties
        └─ [~] Encryption
                ...
    Number of stacks with differences: 2
  Do you want to accept these changes? (y/n) y
  Resynthesizing...
```

Si desea conservar el estado de las marcas configurados existentes, ejecute `cdk flags --set --recommended --unconfigured`. Esta opción cambia solo las marcas de características no configuradas a nuestros valores recomendados.

```
$ cdk flags --unstable=flags --set --recommended --unconfigured
Feature Flag                              Recommended Value            User Value
* @aws-cdk/...                              true                         <unset>
* @aws-cdk/...                              true                         <unset>
  Synthesizing...
    Resources
    [~] AWS::S3::Bucket MyBucket
    └─ [~] Properties
        └─ [~] Encryption
            ├─ [-] None
            └─ [+] ServerSideEncryptionConfiguration:
                    - ...
            ...
    Number of stacks with differences: 2
  Do you want to accept these changes? (y/n) y
  Resynthesizing...
```

Si quiere asegurarse de que las marcas de características no configuradas no interfieran con la aplicación, ejecute el comando `cdk flags --set --default --unconfigured` para cambiar las marcas no configuradas a sus valores predeterminados. Por ejemplo, si `@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021` no está configurado, se muestra una notificación después de ejecutar `cdk synth`. Sin embargo, si establece la marca en su estado predeterminado (false), se configurará, se desactivará y no afectará a la aplicación.

```
$ cdk flags --unstable=flags --set --default --unconfigured
Feature Flag                              Recommended Value            User Value
* @aws-cdk/...                              true                         <unset>
* @aws-cdk/...                              true                         <unset>
  Synthesizing...

  Do you want to accept these changes? (y/n) y
  Resynthesizing...
```

### Inspeccione las marcas de características
<a name="ref-cli-cmd-flags-examples-3"></a>

#### Ver más información sobre una marca
<a name="_view_more_information_about_a_flag"></a>

Además de ejecutar `cdk flags` y `cdk flags --all` para ver la configuración de su marca de características, también puede utilizar `cdk flags "FLAGNAME"` para inspeccionar una marca de características específico y averiguar qué hace esa marca. Esto puede resultar útil en los casos en los que desee comprender una marca en particular y su impacto en la aplicación.

```
$ cdk flags --unstable=flags "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021"
    Description: Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default.
    Recommended Value: true
    User Value: true
```

#### Filtre las marcas por subcadena
<a name="_filter_flags_by_substring"></a>

También puede ejecutar `cdk flags substring` para ver todos las marcas de características coincidentes. Si solo hay una marca de entidad que coincide con esa subcadena, se muestran detalles específicos.

```
$ cdk flags --unstable=flags ebs
@aws-cdk/aws-ec2:ebsDefaultGp3Volume
    Description: When enabled, the default volume type of the EBS volume will be GP3
    Recommended Value: true
    User Value: true
```

Si varias marcas coinciden con la subcadena, todas las marcas coincidentes se muestran en una tabla. Si introduce varias subcadenas, se devolverán todas las marcas coincidentes que contengan alguna de las subcadenas.

```
$ cdk flags --unstable=flags s3 lambda
Feature Flag                              Recommended                     User
* @aws-cdk/s3...                            true                         false
* @aws-cdk/lambda...                        true                         false
* @aws-cdk/lambda...                        true                         <unset>
```

#### Modifique una marca específica
<a name="_modify_a_specific_flag"></a>

Si necesita modificar el valor de una marca y quiere asegurarse de que está configurándola en un estado correcto y compatible, ejecute `cdk flags --set "FLAGNAME" --value="state"`.

```
$ cdk flags --unstable=flags --set "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021" --value="true"
  Synthesizing...
    Resources
    [~] AWS::CloudFront::Distribution MyDistribution
    └─ [~] Properties
        └─ [~] DefaultSecurityPolicy
            ├─ [-] TLSv1.0
            └─ [+] TLSv1.2_2021
                    - ...
    Number of stacks with differences: 2
  Do you want to accept these changes? (y/n) y
  Resynthesizing...
```

# `cdk gc`
<a name="ref-cli-cmd-gc"></a>

Use el comando `cdk gc` de la interfaz de línea de comandos (CLI) del AWS Cloud Development Kit (AWS CDK) para recolectar basura en los activos no utilizados almacenados en los recursos de su pila de arranque. Utilice este comando para ver, administrar y eliminar los activos que ya no necesite.

En el caso de los activos de Amazon Simple Storage Service (Amazon S3), la CLI de CDK comprobará las plantillas de AWS CloudFormation existentes en el mismo entorno para ver si se hace referencia a estas. Si no se hace referencia a ellos, se considerarán no utilizados y aptos para las acciones de recopilación de elementos no utilizados.

**aviso**  
El comando `cdk gc` está en desarrollo para el AWS CDK. Se considera que las funciones actuales de este comando están listas para la producción y son seguras de usar. Sin embargo, el alcance de este comando y sus funciones están sujetos a cambios. Por lo tanto, debe suscribirse proporcionando la opción `unstable=gc` usar este comando.

## Uso
<a name="ref-cli-cmd-gc-usage"></a>

```
$ cdk gc <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-gc-args"></a><a name="ref-cli-cmd-gc-args-env"></a>

 ** AWS Entorno de**   
El entorno de destino de AWS en el que se realizarán las acciones de recopilación de elementos no utilizados.  
Al proporcionar un entorno, utilice el siguiente formato: `aws://<account-id>/<region>`. Por ejemplo, `aws://<123456789012>/<us-east-1>`.  
Este argumento se puede proporcionar varias veces en un solo comando para realizar acciones de recopilación de elementos no utilizados en varios entornos.  
De forma predeterminada, la CLI de CDK realizará acciones de recopilación de elementos no utilizados en todos los entornos a los que haga referencia en su aplicación de CDK o que proporcione como argumentos. Si no proporciona un entorno, la CLI de CDK determinará el entorno a partir de las fuentes predeterminadas. Estas fuentes incluyen los entornos que especifique mediante la opción `--profile`, las variables de entorno o las fuentes de AWS CLI predeterminadas.

## Opciones
<a name="ref-cli-cmd-gc-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-gc-options-action"></a>

 `--action <STRING>`   
La acción que `cdk gc` realiza en sus activos durante una recopilación de elementos no utilizados.  
+  `delete-tagged`: elimina los activos que se han etiquetado con una fecha dentro del intervalo de días de almacenamiento que usted proporciona, pero no etiqueta los activos no utilizados recientemente identificados.
+  `full`: realiza todas las acciones de recopilación de elementos no utilizados. Esto incluye eliminar los activos dentro del intervalo de días de almacenamiento que usted proporcione y etiquetar los activos que no se utilizaron y están recientemente identificados.
+  `print`: muestra el número de activos no utilizados en la línea de comandos, pero no realiza ningún cambio real en el entorno AWS.
+  `tag`: etiqueta los activos no utilizados que se hayan identificado recientemente, pero no los elimina dentro del intervalo de días de almacenamiento que usted haya indicado.
 *Valores aceptados*: `delete-tagged`, `full`, `print`, `tag`   
 *Valor predeterminado*: `full` <a name="ref-cli-cmd-gc-options-bootstrap-stack-name"></a>

 `--bootstrap-stack-name <STRING>`   
El nombre de la pila de arranque de CDK en su entorno de AWS. Proporcione esta opción si ha personalizado el nombre de la pila de arranque. Si utiliza el nombre de pila `CDKToolkit` predeterminado, no tendrá que proporcionar esta opción.  
 *Valor predeterminado*: `CDKToolkit` <a name="ref-cli-cmd-gc-options-confirm"></a>

 `--confirm <BOOLEAN>`   
Especifique si la CLI de CDK le solicitará una confirmación manual antes de eliminar cualquier activo.  
Especifique `false` para que se eliminen automáticamente los activos sin solicitar una confirmación manual.  
 *Valor predeterminado*: `true` <a name="ref-cli-cmd-gc-options-created-buffer-days"></a>

 `--created-buffer-days <NUMBER>`   
El número de días que debe existir un activo antes de que pueda ser objeto de acciones de recopilación de elementos no utilizados.  
Al proporcionar un número, los activos que no hayan existido más allá del número de días especificado se excluyen de las acciones de recopilación de elementos no utilizados.  
 *Valor predeterminado*: `1` <a name="ref-cli-cmd-gc-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk gc`.<a name="ref-cli-cmd-gc-options-rollback-buffer-days"></a>

 `--rollback-buffer-days <NUMBER>`   
El número de días que debe etiquetar como aislado un activo antes de que pueda ser objeto de acciones de recopilación de elementos no utilizados.  
Al proporcionar un número, la CLI de CDK etiquetará los activos no utilizados con la fecha actual en lugar de eliminarlos. La CLI de CDK también comprobará si se ha etiquetado algún activo durante las ejecuciones anteriores del comando `cdk gc`. Se eliminarán los activos etiquetados previamente que se encuentren dentro del intervalo de días de almacenamiento que haya proporcionado.  
 *Valor predeterminado*: `0` <a name="ref-cli-cmd-gc-options-type"></a>

 `--type <STRING>`   
El tipo de recurso de arranque de la pila de arranque en el que se van a realizar acciones de recopilación de elementos no utilizados.  
+  `all`: realice acciones de recopilación de elementos no utilizados en todos los recursos de arranque.
+  `ecr`: realice acciones de recopilación de elementos no utilizados en el repositorio Amazon Elastic Container Registry (Amazon ECR) de su pila de arranque.
+  `s3`: realice acciones de recopilación de elementos no utilizados en los activos del bucket de Amazon S3 de su pila de arranque.
 *Valores aceptados*: `all`, `ecr`, `s3`   
 *Valor predeterminado*: `all` <a name="ref-cli-cmd-gc-options-unstable"></a>

 `--unstable <STRING>`   
Permita el uso de comandos de la CLI de CDK que aún están en desarrollo.  
Esta opción es necesaria para usar cualquier comando de la CLI de CDK que aún esté en desarrollo y esté sujeto a cambios.  
Esta opción se puede proporcionar varias veces en un mismo comando.  
Para utilizar `cdk gc`, proporcione `--unstable=gc`.

## Ejemplos
<a name="ref-cli-cmd-gc-examples"></a>

### Ejemplos básicos
<a name="ref-cli-cmd-gc-examples-basic"></a>

En el siguiente ejemplo, se le solicita una confirmación manual para realizar las acciones de recopilación de elementos no utilizados predeterminadas en los activos del bucket de Amazon S3 de su pila de arranque:

```
$ cdk gc --unstable=gc --type=s3

 ⏳  Garbage Collecting environment aws://<account-id>/<region>...
Found 99 assets to delete based off of the following criteria:
- assets have been isolated for > 0 days
- assets were created > 1 days ago

Delete this batch (yes/no/delete-all)?
```

El siguiente ejemplo realiza las acciones de recopilación de elementos no utilizados predeterminadas en los activos del bucket de Amazon S3 de su pila de arranque: Este rango incluye los activos que han sido etiquetados anteriormente como `cdk gc` durante más de 30 días y que se han creado hace 10 días o más. Este comando solicitará una confirmación manual antes de eliminar cualquier activo:

```
$ cdk gc --unstable=gc --type=s3 --rollback-buffer-days=30 --created-buffer-days=10
```

El siguiente ejemplo lleva a cabo la acción de eliminar los activos previamente etiquetados en el bucket de Amazon S3 de su pila de arranque que no se hayan utilizado durante más de 30 días:

```
$ cdk gc --unstable=gc --type=s3 --action=delete-tagged --rollback-buffer-days=30
```

# `cdk import`
<a name="ref-cli-cmd-import"></a>

Utilice [las importaciones de recursos de AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import.html) para importar los recursos de AWS existentes a una pila de CDK.

Con este comando, puede tomar los recursos existentes que se crearon con otros métodos y empezar a administrarlos mediante el AWS CDK.

A veces, cuando se considera la posibilidad de transferir recursos a la administración de CDK, es aceptable crear nuevos recursos, como con los roles de IAM, las funciones de Lambda y las reglas de eventos. En el caso de otros recursos, como los recursos con estado, como los bucket de Amazon S3 y las tablas DynamoDB, la creación de nuevos recursos puede afectar al servicio. Puede utilizar `cdk import` para importar los recursos existentes con una interrupción mínima de sus servicios. Para ver la lista de recursos de AWS admitidos, consulte [Tipo de recursos admitidos](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import-supported-resources.html) en la *Guía del usuario de AWS CloudFormation*.

 **Para importar un recurso existente a una pila de CDK**   

1. Ejecute `cdk diff` para asegurarse de que la pila de CDK no tenga cambios pendientes. Cuando se ejecuta `cdk import`, el único cambio permitido en una operación de importación es la adición de los nuevos recursos importados.

1. Agregue constructos para los recursos que desea importar a la pila. Por ejemplo, agregue lo siguiente para un bucket de Amazon S3:

   ```
   new s3.Bucket(this, 'ImportedS3Bucket', {});
   ```

   No haga ningún otro cambio. También debe asegurarse de modelar de manera exacta el estado actual del recurso. Para el ejemplo del bucket, asegúrese de incluir las claves AWS KMS, las políticas del ciclo de vida y cualquier otra información relevante sobre el bucket. De lo contrario, es posible que las operaciones de actualización posteriores no den los resultados esperados.

1. Ejecuta `cdk import`. Si hay varias pilas en la aplicación CDK, introduzca un nombre de pila específico como argumento.

1. La CLI de CDK pedirá que introduzca los nombres reales de los recursos que va a importar. Tras proporcionar esta información, se iniciará la importación.

1. Si el informe `cdk import` es correcto, el CDK administrará el recurso. Cualquier cambio posterior en la configuración del constructo se verá reflejada en el recurso.

Esta característica tiene actualmente las siguientes limitaciones:
+ No es posible importar recursos en las pilas anidadas.
+ No se comprueba si las propiedades especificadas son correctas o si están completas para el recurso importado. Intente iniciar una operación de detección de desviaciones después de la importación.
+ Los recursos que dependen de otros recursos deben importarse en el orden adecuado, todos juntos o por separado. De lo contrario, la implementación de CloudFormation fallará y las referencias no se resolverán.
+ Este comando usa las credenciales del rol de implementación, que son necesarias para leer el bucket transitorio cifrado. Esto requiere la versión 12 de la plantilla de arranque, que incluye los permisos de IAM necesarios para el rol de implementación.

## Uso
<a name="ref-cli-cmd-import-usage"></a>

```
$ cdk import <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-import-args"></a><a name="ref-cli-cmd-import-args-stack-name"></a>

 **ID de pila de CDK**   
El ID de constructo de la pila de CDK de la aplicación a la que se van a importar los recursos. Este argumento se puede proporcionar varias veces en un mismo comando.  
 *Tipo:* cadena  
 *Obligatorio*: no

## Opciones
<a name="ref-cli-cmd-import-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-import-options-change-set-name"></a>

 `--change-set-name <STRING>`   
El nombre del conjunto de cambios de CloudFormation que se va a crear.<a name="ref-cli-cmd-import-options-execute"></a>

 `--execute <BOOLEAN>`   
Especifique si se va a ejecutar el conjunto de cambios.  
 *Valor predeterminado*: `true` <a name="ref-cli-cmd-import-options-force"></a>

 `--force, -f <BOOLEAN>`   
De forma predeterminada, la CLI de CDK sale del proceso si la diferencia de plantillas incluye actualizaciones o eliminaciones. Especifique el valor `true` para anular este comportamiento y continúe siempre con la importación.<a name="ref-cli-cmd-import-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk import`.<a name="ref-cli-cmd-import-options-record-resource-mapping"></a>

 `--record-resource-mapping, -r <STRING>`   
Utilice esta opción para generar la asignación de los recursos físicos existentes a los recursos del CDK que se van a importar. La asignación se escribirá en la ruta de archivo que proporcione. No se llevará a cabo ninguna operación de importación real.<a name="ref-cli-cmd-import-options-resource-mapping"></a>

 `--resource-mapping, -m <STRING>`   
Utilice esta opción para especificar un archivo que defina la asignación de recursos. La CLI de CDK utilizará este archivo para asignar los recursos físicos a los recursos que se van a importar, en lugar de preguntárselo a usted de forma interactiva.  
Esta opción se puede ejecutar desde scripts.<a name="ref-cli-cmd-import-options-rollback"></a>

 `--rollback <BOOLEAN>`   
En caso de fallo, restaure la pila a un estado estable.  
Para especificar el valor `false`, puede usar `--no-rollback` o `-R`.  
Especifique el valor `false` si desea iterar más rápidamente. Las implementaciones que contienen sustituciones de recursos siempre fallarán.  
 *Valor predeterminado*: `true` <a name="ref-cli-cmd-import-options-toolkit-stack-name"></a>

 `--toolkit-stack-name <STRING>`   
El nombre de la pila del kit de herramientas de CDK que se va a crear.  
De forma predeterminada, `cdk bootstrap` implementa una pila con el nombre `CDKToolkit` en el entorno de AWS especificado. Utilice esta opción para proporcionar un nombre diferente a la pila de arranque.  
La CLI de CDK usa este valor para verificar la versión de la pila de arranque.

# `cdk init`
<a name="ref-cli-cmd-init"></a>

Crea un nuevo proyecto de AWS CDK a partir de una plantilla.

## Uso
<a name="ref-cli-cmd-init-usage"></a>

```
$ cdk init <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-init-args"></a><a name="ref-cli-cmd-init-args-template-type"></a>

 **Tipo de plantilla**   
El tipo de plantilla de CDK para iniciar un nuevo proyecto de CDK.  
+  `app` – Plantilla para una aplicación de CDK.
+  `lib` – Plantilla para una Biblioteca de constructos de AWS.
+  `sample-app` – Ejemplo de aplicación de CDK que incluye algunos constructos.
 *Valores válidos*: `app`, `lib`, `sample-app` 

## Opciones
<a name="ref-cli-cmd-init-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-init-options-generate-only"></a>

 `--generate-only <BOOLEAN>`   
Especifique esta opción para generar los archivos del proyecto sin iniciar operaciones adicionales, como configurar un repositorio de git, instalar dependencias o compilar el proyecto.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-init-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk init`.<a name="ref-cli-cmd-init-options-language"></a>

 `--language, -l <STRING>`   
El lenguaje que se utilizará para el nuevo proyecto. Esta opción se puede configurar en el archivo de configuración del proyecto `cdk.json` o en `~/.cdk.json` en su máquina de desarrollo local.  
 *Valores válidos*: `csharp`, `fsharp`, `go`, `java`, `javascript`, `python`, `typescript` <a name="ref-cli-cmd-init-options-list"></a>

 `--list <BOOLEAN>`   
Enumerar los tipos de plantillas y lenguajes disponibles.

## Ejemplos
<a name="ref-cli-cmd-init-examples"></a>

### Enumerar los tipos de plantillas y lenguajes disponibles
<a name="ref-cli-cmd-init-examples-1"></a>

```
$ cdk init --list
Available templates:
* app: Template for a CDK Application
   └─ cdk init app --language=[csharp|fsharp|go|java|javascript|python|typescript]
* lib: Template for a CDK Construct Library
   └─ cdk init lib --language=typescript
* sample-app: Example CDK Application with some constructs
   └─ cdk init sample-app --language=[csharp|fsharp|go|java|javascript|python|typescript]
```

### Crear una nueva aplicación de CDK en TypeScript a partir de la plantilla de la biblioteca
<a name="ref-cli-cmd-init-examples-2"></a>

```
$ cdk init lib --language=typescript
```

# `cdk list`
<a name="ref-cli-cmd-list"></a>

Enumera todas las pilas de AWS CDK y sus dependencias de una aplicación CDK.

## Uso
<a name="ref-cli-cmd-list-usage"></a>

```
$ cdk list <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-list-args"></a><a name="ref-cli-cmd-list-args-stack-name"></a>

 **ID de pila del CDK**   
El ID de constructo de la pila del CDK correspondiente a la aplicación en la cual se debe ejecutar este comando.  
 *Tipo:* cadena  
 *Obligatorio*: no

## Opciones
<a name="ref-cli-cmd-list-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-list-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk list`.<a name="ref-cli-cmd-list-options-long"></a>

 `--long, -l <BOOLEAN>`   
Muestra la información del entorno de AWS correspondiente a cada pila.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-list-options-show-dependencies"></a>

 `--show-dependencies, -d <BOOLEAN>`   
Muestra la información de dependencia de la pila correspondiente a cada pila.  
 *Valor predeterminado*: `false` 

## Ejemplos
<a name="ref-cli-cmd-list-examples"></a>

### Enumerar todas las pilas de la aplicación del CDK “node bin/main.js”
<a name="ref-cli-cmd-list-examples-1"></a>

```
$ cdk list --app='node bin/main.js'
Foo
Bar
Baz
```

### Enumerar todas las pilas, incluidos los detalles del entorno de AWS correspondiente a cada pila
<a name="ref-cli-cmd-list-examples-"></a>

```
$ cdk list --app='node bin/main.js' --long
-
    name: Foo
    environment:
        name: 000000000000/bermuda-triangle-1
        account: '000000000000'
        region: bermuda-triangle-1
-
    name: Bar
    environment:
        name: 111111111111/bermuda-triangle-2
        account: '111111111111'
        region: bermuda-triangle-2
-
    name: Baz
    environment:
        name: 333333333333/bermuda-triangle-3
        account: '333333333333'
        region: bermuda-triangle-3
```

# `cdk metadata`
<a name="ref-cli-cmd-metadata"></a>

Muestra los metadatos asociados a una pila de CDK.

## Uso
<a name="ref-cli-cmd-metadata-usage"></a>

```
$ cdk metadata <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-metadata-args"></a><a name="ref-cli-cmd-metadata-args-stack-name"></a>

 **ID de pila de CDK**   
El ID de constructo de la pila de CDK de la aplicación para mostrar los metadatos.  
 *Tipo:* cadena  
 *Obligatorio*: no

## Opciones
<a name="ref-cli-cmd-metadata-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-metadata-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk metadata`.

# `cdk migrate`
<a name="ref-cli-cdk-migrate"></a>

Migre los recursos de AWS implementados, las pilas de AWS CloudFormation y las plantillas de CloudFormation a un nuevo proyecto de AWS CDK.

Este comando crea una nueva aplicación del CDK. En ella, se incluye una única pila que recibe el nombre del valor que usted proporciona con `--stack-name`. Puede configurar el origen de la migración con `--from-scan`, `--from-stack` o `--from-path`.

Para obtener más información sobre el uso de `cdk migrate`, consulte [Migrar los recursos existentes y las plantillas de AWS CloudFormation al AWS CDK](migrate.md).

**nota**  
El comando `cdk migrate` es experimental y es posible que se someta a cambios importantes en el futuro.

## Uso
<a name="ref-cli-cdk-migrate-usage"></a>

```
$ cdk migrate <options>
```

## Opciones
<a name="ref-cli-cdk-migrate-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).

### Opciones obligatorias
<a name="ref-cli-cdk-migrate-options-required"></a><a name="ref-cli-cdk-migrate-options-stack-name"></a>

 `--stack-name <STRING>`   
El nombre de la pila de AWS CloudFormation que se creará en la aplicación de CDK después de la migración.  
 *Obligatorio*: sí

### Opciones condicionales
<a name="ref-cli-cdk-migrate-options-conditional"></a><a name="ref-cli-cdk-migrate-options-from-path"></a>

 `--from-path <PATH>`   
La ruta a la plantilla de AWS CloudFormation que se desea migrar. Proporcione esta opción para especificar una plantilla local.  
 *Obligatorio*: condicional. Es obligatorio si se realiza la migración desde una plantilla de AWS CloudFormation local.<a name="ref-cli-cdk-migrate-options-from-scan"></a>

 `--from-scan <STRING>`   
Al migrar los recursos implementados desde un entorno de AWS, utilice esta opción para especificar si se debe iniciar un nuevo análisis o si la CLI de AWS CDK debe utilizar el último análisis realizado correctamente.  
 *Obligatorio*: condicional. Es obligatorio cuando se realiza la migración desde recursos de AWS implementados.  
 *Valores aceptados*: `most-recent`, `new` <a name="ref-cli-cdk-migrate-options-from-stack"></a>

 `--from-stack <BOOLEAN>`   
Proporcione esta opción para migrar a partir de una pila de AWS CloudFormation implementada. Use `--stack-name` para especificar el nombre de la pila de AWS CloudFormation implementada.  
 *Obligatorio*: condicional. Es obligatorio si se realiza la migración desde una pila de AWS CloudFormation implementada.

### Opciones no obligatorias
<a name="ref-cli-cdk-migrate-options-optional"></a><a name="ref-cli-cdk-migrate-options-account"></a>

 `--account <STRING>`   
La cuenta de la que se recuperará la plantilla de la pila de AWS CloudFormation.  
 *Obligatorio*: no  
 *Predeterminado*: la CLI de AWS CDK obtiene la información de la cuenta de las fuentes predeterminadas.<a name="ref-cli-cdk-migrate-options-compress"></a>

 `--compress <BOOLEAN>`   
Se brinda esta opción para comprimir el proyecto de CDK generado en un archivo `ZIP`.  
 *Obligatorio*: no<a name="ref-cli-cdk-migrate-options-filter"></a>

 `--filter <ARRAY>`   
Se utiliza al migrar los recursos implementados desde una cuenta de AWS y región de AWS. Esta opción especifica un filtro para determinar qué recursos implementados se van a migrar.  
Esta opción acepta una matriz de pares clave-valor, donde la **clave** representa el tipo de filtro y el **valor** representa el contenido que se va a filtrar.  
Se aceptan las siguientes claves:  
+  `resource-identifier`: el identificador del recurso. El valor puede ser el ID lógico o físico del recurso. Por ejemplo, `resource-identifier="ClusterName"`.
+  `resource-type-prefix`: el prefijo del tipo de recurso de AWS CloudFormation. Por ejemplo, especifique `resource-type-prefix="AWS::DynamoDB::"` para filtrar todos los recursos de Amazon DynamoDB.
+  `tag-key`: la clave de una etiqueta de recurso. Por ejemplo, `tag-key="myTagKey"`.
+  `tag-value`: el valor de una etiqueta de recurso. Por ejemplo, `tag-value="myTagValue"`.
Proporcione varios pares clave-valor para la lógica condicional `AND`. El siguiente ejemplo filtra cualquier recurso de DynamoDB que esté etiquetado con `myTagKey` como la clave de la etiqueta: `--filter resource-type-prefix="AWS::DynamoDB::", tag-key="myTagKey"`.  
Proporcione la opción `--filter` varias veces con un solo comando para la lógica condicional `OR`. El siguiente ejemplo filtra cualquier recurso de DynamoDB o que esté etiquetado con `myTagKey` como la clave de la etiqueta: `--filter resource-type-prefix="AWS::DynamoDB::" --filter tag-key="myTagKey"`.  
 *Obligatorio*: no<a name="ref-cli-cdk-migrate-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk migrate`.<a name="ref-cli-cdk-migrate-options-language"></a>

 `--language <STRING>`   
El lenguaje de programación que se utilizará en el proyecto de CDK creado durante la migración.  
 *Obligatorio*: no  
 *Valores válidos*: `typescript`, `python`, `java`, `csharp`, `go`.  
 *Valor predeterminado*: `typescript` <a name="ref-cli-cdk-migrate-options-output-path"></a>

 `--output-path <PATH>`   
La ruta de salida del proyecto de CDK migrado.  
 *Obligatorio*: no  
 *Predeterminado*: la CLI de AWS CDK utilizará su directorio de trabajo actual de forma predeterminada.<a name="ref-cli-cdk-migrate-options-region"></a>

 `--region <STRING>`   
La región de AWS de la que se recuperará la plantilla de la pila de AWS CloudFormation.  
 *Obligatorio*: no  
 *Predeterminado*: la CLI de AWS CDK obtiene la información de la región de AWS de las fuentes predeterminadas.

## Ejemplos
<a name="ref-cli-cdk-migrate-examples"></a>

### Ejemplo sencillo de migración desde una pila de CloudFormation
<a name="ref-cli-cdk-migrate-examples-1"></a>

Migre desde una pila de CloudFormation implementada en un entorno de AWS específico con `--from-stack`. Indique `--stack-name` para asignar un nombre a su nueva pila del CDK. El siguiente código es un ejemplo que migra `myCloudFormationStack` a una nueva aplicación de CDK que está utilizando TypeScript:

```
$ cdk migrate --language typescript --from-stack --stack-name 'myCloudFormationStack'
```

### Ejemplo sencillo de migración desde una plantilla local de CloudFormation
<a name="ref-cli-cdk-migrate-examples-2"></a>

Migre desde una plantilla JSON o YAML de CloudFormation local con `--from-path`. Indique `--stack-name` para asignar un nombre a su nueva pila de CDK. El siguiente código es un ejemplo en el que se crea una nueva aplicación de CDK en TypeScript que incluye una pila `myCloudFormationStack` de un archivo `template.json` local:

```
$ cdk migrate --stack-name "myCloudFormationStack" --language typescript --from-path "./template.json"
```

### Ejemplo sencillo de migración desde recursos de AWS implementados
<a name="ref-cli-cdk-migrate-examples-3"></a>

Migre, desde un entorno de AWS específico, los recursos de AWS implementados que no estén asociados a una pila de CloudFormation con `--from-scan`. La CLI de CDK utiliza el servicio IaC generator para buscar recursos y generar una plantilla. Luego, la CLI de CDK hace referencia a la plantilla para crear la nueva aplicación de CDK. A continuación, se muestra un ejemplo en el que se crea una nueva aplicación de CDK en `myCloudFormationStack` TypeScript con una pila nueva que contiene los recursos de AWS migrados:

```
$ cdk migrate --language typescript --from-scan --stack-name "myCloudFormationStack"
```

# `cdk notices`
<a name="ref-cli-cmd-notices"></a>

Muestre los avisos de su aplicación de CDK.

Los avisos pueden incluir mensajes importantes sobre las vulnerabilidades de seguridad, las regresiones y el uso de versiones sin soporte.

Este comando muestra los avisos relevantes, independientemente de si se han reconocido o no. Es posible que los avisos relevantes aparezcan también después de cada comando de forma predeterminada.

Puede suprimir los avisos de las siguientes formas:
+ Mediante opciones de los comandos. A continuación, se muestra un ejemplo:

  ```
  $ cdk deploy --no-notices
  ```
+ Suprima todos los avisos de forma indefinida según el contexto en el archivo `cdk.json` del proyecto:

  ```
  {
    "notices": false,
    "context": {
      // ...
    }
  }
  ```
+ Reconozca cada aviso con el comando `cdk acknowledge`.

## Uso
<a name="ref-cli-cmd-notices-usage"></a>

```
$ cdk notices <options>
```

## Opciones
<a name="ref-cli-cmd-notices-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-notices-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk notices`.

## Ejemplos
<a name="ref-cli-cmd-notices-examples"></a>

### Ejemplo de un aviso predeterminado que aparece después de ejecutar el comando cdk deploy
<a name="ref-cli-cmd-notices-examples-1"></a>

```
$ cdk deploy

... # Normal output of the command

NOTICES

16603   Toggling off auto_delete_objects for Bucket empties the bucket

        Overview: If a stack is deployed with an S3 bucket with
                  auto_delete_objects=True, and then re-deployed with
                  auto_delete_objects=False, all the objects in the bucket
                  will be deleted.

        Affected versions: <1.126.0.

        More information at: https://github.com/aws/aws-cdk/issues/16603


17061   Error when building EKS cluster with monocdk import

        Overview: When using monocdk/aws-eks to build a stack containing
                  an EKS cluster, error is thrown about missing
                  lambda-layer-node-proxy-agent/layer/package.json.

        Affected versions: >=1.126.0 <=1.130.0.

        More information at: https://github.com/aws/aws-cdk/issues/17061


If you don’t want to see an notice anymore, use "cdk acknowledge ID". For example, "cdk acknowledge 16603"
```

### Ejemplo sencillo de ejecución del comando cdk notices
<a name="ref-cli-cmd-notices-examples-2"></a>

```
$ cdk notices

NOTICES

16603   Toggling off auto_delete_objects for Bucket empties the bucket

        Overview: if a stack is deployed with an S3 bucket with
                  auto_delete_objects=True, and then re-deployed with
                  auto_delete_objects=False, all the objects in the bucket
                  will be deleted.

        Affected versions: framework: <=2.15.0 >=2.10.0

        More information at: https://github.com/aws/aws-cdk/issues/16603


If you don’t want to see a notice anymore, use "cdk acknowledge <id>". For example, "cdk acknowledge 16603"
```

# `cdk refactor`
<a name="ref-cli-cmd-refactor"></a>

**importante**  
El comando `cdk refactor` está en la versión preliminar y está sujeto a cambios.  
Debe proporcionar la opción `--unstable=refactor` cuando utilice este comando.

Preserve los recursos implementados al refactorizar el código en su aplicación de AWS Cloud Development Kit (AWS CDK).

Al cambiar el nombre de los constructos o moverlos entre pilas del código de CDK, CloudFormation suele tratarlas como recursos nuevos, lo que provoca sustituciones que pueden provocar interrupciones del servicio o la pérdida de datos. El comando `cdk refactor` detecta estos cambios de forma inteligente y funciona con la API de refactorización de CloudFormation para conservar los recursos y, al mismo tiempo, actualizar sus ID lógicos.

Con `cdk refactor` puede:
+ Cambie el nombre de los constructos para mayor claridad en su base de código sin tener que sustituir los recursos.
+ Traslade los recursos entre pilas para mejorar la organización y la separación de las preocupaciones.
+ Reorganice su jerarquía de constructos (por ejemplo, agrupando los recursos de AWS en una nueva estructura de nivel 3) y, al mismo tiempo, conserve los recursos de la nube subyacentes.
+ Realice actualizaciones o modificaciones entre las bibliotecas de constructos de forma segura, incluidas las dependencias de terceros, sin tener que sustituir los recursos cuando los ID lógicos cambien de una versión a otra.

Este comando analiza los cambios, le muestra una lista de recursos que cambiarán de ubicación (pila e ID lógico) y gestiona el proceso complejo de actualizar los recursos de CloudFormation sin perder su identidad y su estado.

Cuando se ejecuta, el comando calcula de forma automática las asignaciones comparando el código actual con el estado implementado. Verifica que la aplicación de CDK contenga exactamente el mismo conjunto de recursos que el estado implementado, y solo se diferencian en sus ubicaciones en el árbol de constructos. El comando detecta la adición, eliminación o modificación de algún recurso, la operación de refactorización se rechazará con un mensaje de error.

Tras el cálculo del mapeo, el comando muestra los cambios propuestos y, tras la confirmación del usuario, aplica la refactorización. Si se detecta ambigüedad (si es posible realizar varias asignaciones válidas), puede proporcionar un archivo de anulación con asignaciones explícitas con el fin de resolver estos casos.

Para ver una introducción, consulte [Conserve los recursos implementados al refactorizar el código de CDK](refactor.md).

## Uso
<a name="ref-cli-cmd-refactor-usage"></a>

```
$ cdk refactor <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-refactor-args"></a><a name="ref-cli-cmd-refactor-args-stack-id"></a>

 **ID de pila de CDK**   
El ID de constructo de la pila de CDK correspondiente a la aplicación que desea refactorizar.  
Puede especificar varios ID de pila para centrar la operación de refactorización en esas pilas. Si los recursos se mueven entre pilas y una de esas pilas no está incluida de forma explícita, el comando para refactorizar incluirá automáticamente la pila adicional en la operación.  
Si no indica ningún identificador de pila, se tendrán en cuenta todas las pilas de la aplicación para la refactorización.  
 *Tipo:* cadena  
 *Obligatorio*: no

## Opciones
<a name="ref-cli-cmd-refactor-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-refactor-options-dry-run"></a>

 `--dry-run`   
Imprima el mapeo en la consola sin aplicarlo.  
Esta opción resulta útil para validar los cambios antes de realizar realmente la refactorización, en especial cuando se trabaja con aplicaciones complejas. Muestra exactamente qué cambios se realizarían sin modificar ningún recurso.<a name="ref-cli-cmd-refactor-options-force"></a>

 `--force`   
Continúe con la refactorización sin solicitar confirmación al usuario.  
Esto resulta útil en entornos interactivos cuando se tiene confianza en los cambios. En entornos no interactivos, como las canalizaciones de CI/CD, la CLI de CDK avanza de forma automática sin solicitar información, por lo que esta opción no es necesaria.<a name="ref-cli-cmd-refactor-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk refactor`.<a name="ref-cli-cmd-refactor-options-override-file"></a>

 `--override-file <FILE>`   
Proporciona anulaciones cuando la CLI de CDK no puede determinar una resolución de refactorización para los recursos. Este archivo contiene asignaciones de recursos en formato JSON. A continuación, se muestra un ejemplo:  

```
{
    "environments": [
        {
            "account": "123456789012",
            "region": "us-east-2",
            "resources": {
                "StackA.OldName": "StackB.NewName",
                "StackC.Foo": "StackC.Bar"
            }
        }
    ]
}
```<a name="ref-cli-cmd-refactor-options-revert"></a>

 `--revert <FILE>`   
Revierte una refactorización anterior. Debe proporcionar un archivo de anulación con las asignaciones de recursos.  
Esto no deshace por completo una operación de refactorización anterior. Para revertir por completo una refactorización, debe revertir la aplicación a un estado anterior y volver a ejecutar el proceso de refactorización.

# `cdk rollback`
<a name="ref-cli-cmd-rollback"></a>

Utilice el comando `cdk rollback` de la interfaz de línea de comandos de AWS Cloud Development Kit (AWS CDK) para revertir una pila fallida o pausada de una implementación de AWS CloudFormation a su último estado estable.

**nota**  
Para ejecutar este comando, debe tener la versión 23 de la plantilla de arranque implementada en su entorno. Para obtener más información, consulte el [historial de versiones de la plantilla de arranque](bootstrapping-env.md#bootstrap-template-history).

Cuando lleva a cabo la implementación mediante `cdk deploy`, la CLI del CDK revertirá una implementación fallida de forma predeterminada. Si especifica `--no-rollback` con `cdk deploy`, puede usar el comando `cdk rollback` para revertir manualmente una implementación fallida. Esto iniciará una reversión al último estado estable de la pila.

## Uso
<a name="ref-cli-cmd-rollback-usage"></a>

```
$ cdk rollback <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-rollback-args"></a><a name="ref-cli-cmd-rollback-args-stack-name"></a>

 **ID de pila de CDK**   
El ID del constructo de la pila del CDK de la aplicación que se va a restaurar.  
 *Tipo:* cadena  
 *Obligatorio*: no

## Opciones
<a name="ref-cli-cmd-rollback-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-rollback-options-all"></a>

 `--all <BOOLEAN>`   
Revierta todas las pilas de la aplicación CDK.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-rollback-options-force"></a>

 `--force, -f <BOOLEAN>`   
Cuando usa `cdk rollback`, es posible que algunos recursos no se puedan revertir. Proporcione esta opción para forzar la reversión de todos los recursos. Este es el mismo comportamiento que cuando proporciona la opción `--orphan` para cada recurso de la pila.  
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-rollback-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk rollback`.<a name="ref-cli-cmd-rollback-options-orphan"></a>

 `--orphan <LogicalId>`   
Cuando usa `cdk rollback`, es posible que algunos recursos no se puedan revertir. Cuando esto sucede, puede intentar forzar la reversión de un recurso utilizando esta opción y proporcionando el ID lógico del recurso que no se pudo revertir.  
Esta opción se puede proporcionar varias veces en un solo comando. A continuación se muestra un ejemplo:  

```
$ cdk rollback MyStack --orphan MyLambdaFunction --orphan MyLambdaFunction2
```
Para forzar la reversión de todos los recursos, utilice la opción `--force` en su lugar.<a name="ref-cli-cmd-rollback-options-toolkit-stack-name"></a>

 `--toolkit-stack-name <STRING>`   
El nombre de la pila de kit de herramientas de CDK existente con la que se arranca el entorno.  
De forma predeterminada, `cdk bootstrap` implementa una pila con el nombre `CDKToolkit` en el entorno de AWS especificado. Utilice esta opción para proporcionar un nombre diferente a la pila de arranque.  
La CLI de CDK usa este valor para verificar la versión de la pila de arranque.<a name="ref-cli-cmd-rollback-options-validate-bootstrap-version"></a>

 `--validate-bootstrap-version <BOOLEAN>`   
Especifique si desea validar la versión de la pila de arranque. Proporcionar `--validate-bootstrap-version=false` o `--no-validate-bootsrap-version` para desactivar este comportamiento.  
 *Valor predeterminado*: `true` 

# `cdk synthesize`
<a name="ref-cli-cmd-synth"></a>

Sintetiza una aplicación CDK para crear un ensamblaje en la nube que incluya una plantilla de AWS CloudFormation para cada pila.

Los ensamblajes en la nube son archivos que incluyen todo lo necesario para implementar la aplicación en su entorno de AWS. Por ejemplo, incluye una plantilla de CloudFormation para cada pila de la aplicación y una copia de los activos de archivos o las imágenes de Docker a los que se hace referencia en la aplicación.

Si la aplicación contiene una sola pila o si se proporciona una sola pila como argumento, la plantilla CloudFormation también se mostrará en la salida estándar (`stdout`) en formato YAML.

Si la aplicación contiene varias pilas, `cdk synth` sintetizará el ensamblaje de la nube en `cdk.out`.

## Uso
<a name="ref-cli-cmd-synth-usage"></a>

```
cdk synthesize <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-synth-args"></a><a name="ref-cli-cmd-synth-args-stack-name"></a>

 **ID de pila de CDK**   
El ID de constructo de la pila del CDK de la aplicación que se va a sintetizar.  
 *Tipo:* cadena  
 *Obligatorio*: no

## Opciones
<a name="ref-cli-cmd-synth-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-synth-options-exclusively"></a>

 `--exclusively, -e <BOOLEAN>`   
Sintetice solo las pilas solicitadas, no incluya las dependencias.<a name="ref-cli-cmd-synth-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk synthesize`.<a name="ref-cli-cmd-synth-options-quiet"></a>

 `--quiet, -q <BOOLEAN>`   
No envíe la plantilla de CloudFormation a `stdout`.  
Esta opción se puede configurar en el archivo `cdk.json` de proyecto del CDK. A continuación, se muestra un ejemplo:  

```
{
   "quiet": true
}
```
 *Valor predeterminado*: `false` <a name="ref-cli-cmd-synth-options-validation"></a>

 `--validation <BOOLEAN>`   
Valide las plantillas de CloudFormation generadas después de la síntesis mediante comprobaciones adicionales.  
También puede configurar esta opción mediante el atributo `validateOnSynth` o la variable de entorno `CDK_VALIDATION`.  
 *Valor predeterminado*: `true` 

## Ejemplos
<a name="ref-cli-cmd-synth-examples"></a>

### Sintetice el ensamblaje de la nube para una pila del CDK con el ID lógico MyStackName y envíe la plantilla de CloudFormation a stdout
<a name="ref-cli-cmd-synth-examples-1"></a>

```
$ cdk synth MyStackName
```

### Sintetice el ensamblaje en la nube para todas las pilas de una aplicación de CDK y guárdelas en cdk.out
<a name="ref-cli-cmd-synth-examples-2"></a>

```
$ cdk synth
```

### Sintetice el ensamblaje en la nube para MyStackName, pero no incluya las dependencias
<a name="ref-cli-cmd-synth-examples-3"></a>

```
$ cdk synth MyStackName --exclusively
```

### Sintetice el ensamblaje en la nube para myStackName, pero no envíe la plantilla de CloudFormation a stdout
<a name="ref-cli-cmd-synth-examples-4"></a>

```
$ cdk synth MyStackName --quiet
```

# `cdk watch`
<a name="ref-cli-cmd-watch"></a>

Observe continuamente un proyecto de AWS CDK local para ver si hay cambios para realizar despliegues e intercambios en caliente.

Este comando es similar a `cdk deploy`, excepto que puede realizar implementaciones continuas e intercambios en caliente mediante un único comando.

Este comando es un atajo para `cdk deploy --watch`.

Para finalizar una sesión `cdk watch`, interrumpa el proceso con `Ctrl+C`.

Los archivos que se observan vienen determinados por la configuración `"watch"` del archivo `cdk.json`. Tiene dos subclaves, `"include"` y `"exclude"`, que aceptan una sola cadena o una matriz de cadenas. Cada entrada se interpreta como una ruta relativa a la ubicación del archivo `cdk.json`. Se aceptan ambas, `*` y `**`.

Si crea un proyecto mediante el comando `cdk init`, se configura el siguiente comportamiento predeterminado para `cdk watch` en el archivo `cdk.json` del proyecto:
+  `"include"` está configurado en `"**/*"`, que incluye todos los archivos y directorios en la raíz del proyecto.
+  `"exclude"` es opcional, excepto en el caso de los archivos y carpetas que ya se ignoraron de forma predeterminada. Se compone de archivos y directorios que comienzan por `.`, el directorio de salida del CDK y el directorio `node_modules`.

El parámetro mínimo para configurar `watch` es `"watch": {}`.

Si el código CDK o el código de la aplicación requieren un paso de compilación antes de la implementación, `cdk watch` funciona con la clave `"build"` del archivo `cdk.json`.

**importante**  
Este comando está diseñado para una implementación rápida durante la fase de desarrollo de las aplicaciones de CDK y no se recomienda para las implementaciones de producción.

Las mismas limitaciones de `cdk deploy --hotswap` aplican a `cdk watch`. Para obtener más información, consulte ` cdk deploy --hotswap `.

## De uso
<a name="ref-cli-cmd-watch-usage"></a>

```
$ cdk watch <arguments> <options>
```

## Argumentos
<a name="ref-cli-cmd-watch-args"></a><a name="ref-cli-cmd-watch-args-stack-name"></a>

 **ID de pila de CDK**   
El ID del constructo de la pila de CDK de la aplicación que se va a supervisar.  
 *Tipo:* cadena  
 *Obligatorio*: no

## Opciones
<a name="ref-cli-cmd-watch-options"></a>

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte [Opciones globales](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-watch-options-build-exclude"></a>

 `--build-exclude, -E <ARRAY>`   
No reconstruya el activo con el identificador indicado.  
Esta opción se puede especificar varias veces en un mismo comando.  
 *Valor predeterminado:* `[]` <a name="ref-cli-cmd-watch-options-change-set-name"></a>

 `--change-set-name <STRING>`   
El nombre del conjunto de CloudFormation cambios que se va a crear.<a name="ref-cli-cmd-watch-options-concurrency"></a>

 `--concurrency <NUMBER>`   
Implemente e intercambie en caliente múltiples pilas en paralelo y, al mismo tiempo, tenga en cuenta las dependencias entre pilas. Utilice esta opción para acelerar las implementaciones. Aun así, debes tener en CloudFormation AWS cuenta otros límites en la tarifa de la cuenta.  
Proporcione un número para especificar el número máximo de implementaciones simultáneas (si la dependencia lo permite) que se deben realizar.  
 *Valor predeterminado:* `1` <a name="ref-cli-cmd-watch-options-exclusively"></a>

 `--exclusively, -e <BOOLEAN>`   
Implemente solo las pilas solicitadas y no incluya las dependencias.<a name="ref-cli-cmd-watch-options-force"></a>

 `--force, -f <BOOLEAN>`   
Implemente siempre las pilas, incluso si las plantillas son idénticas.  
 *Valor predeterminado:* `false` <a name="ref-cli-cmd-watch-options-help"></a>

 `--help, -h <BOOLEAN>`   
Muestra la información de referencia del comando `cdk watch`.<a name="ref-cli-cmd-watch-options-hotswap"></a>

 `--hotswap <BOOLEAN>`   
De forma predeterminada, `cdk watch` utiliza las implementaciones de intercambio en caliente cuando es posible para actualizar los recursos. La CLI de CDK intentará realizar una implementación de hotswap y no volverá a una CloudFormation implementación completa si no tiene éxito. Se ignoran los cambios detectados que no se puedan actualizar mediante un intercambio en caliente.  
 *Valor predeterminado:* `true` <a name="ref-cli-cmd-watch-options-hotswap-fallback"></a>

 `--hotswap-fallback <BOOLEAN>`   
De forma predeterminada, `cdk watch` intenta realizar despliegues de hotswap e ignora los cambios que requieren despliegues. CloudFormation Se utiliza como alternativa y `--hotswap-fallback` realizar una CloudFormation implementación completa si la implementación de hotswap no tiene éxito.<a name="ref-cli-cmd-watch-options-logs"></a>

 `--logs <BOOLEAN>`   
De forma predeterminada, `cdk watch` supervisa todos los grupos de CloudWatch registros de la aplicación y transmite los eventos de registro localmente a `stdout` ellos.  
 *Valor predeterminado:* `true` <a name="ref-cli-cmd-watch-options-progress"></a>

 `--progress <STRING>`   
Configure la forma en que la CLI de CDK muestra el progreso de la implementación.  
+  `bar`: muestra los eventos de implementación de la pila como una barra de progreso, con los eventos del recurso que se está implementando actualmente.
+  `events`— Proporcione un historial completo, incluidos todos los CloudFormation eventos.
También puede configurar esta opción en el archivo `cdk.json` del proyecto o en `~/.cdk.json` en su máquina de desarrollo local:  

```
{
   "progress": "events"
}
```
 *Valores válidos*: `bar`, `events`   
 *Valor predeterminado:* `bar` <a name="ref-cli-cmd-watch-options-rollback"></a>

 `--rollback <BOOLEAN>`   
Durante la implementación, si no se puede crear o actualizar un recurso, la implementación volverá al último estado estable antes de que la CLI de CDK vuelva. Todos los cambios realizados hasta ese momento se anularán. Los recursos que se crearon se eliminarán y las actualizaciones que se hayan realizado se revertirán.  
Utilice `--no-rollback` o `-R` para desactivar este comportamiento. Si no se puede crear o actualizar un recurso, la CLI de CDK dejará en su lugar los cambios realizados hasta ese momento y regresará. Esto puede resultar útil en entornos de desarrollo en los que se realiza una iteración rápida.  
Cuando es `false`, las implementaciones que provocan la sustitución de los recursos fallarán siempre. Solo puede usar este valor para las implementaciones que actualicen o creen nuevos recursos.
 *Valor predeterminado:* `true` <a name="ref-cli-cmd-watch-options-toolkit-stack-name"></a>

 `--toolkit-stack-name <STRING>`   
El nombre de la pila del kit de herramientas de CDK existente.  
De forma predeterminada, `cdk bootstrap` despliega una pila con un nombre `CDKToolkit` en el AWS entorno especificado. Utilice esta opción para proporcionar un nombre diferente a la pila de arranque.  
La CLI de CDK usa este valor para verificar la versión de la pila de arranque.

## Ejemplos
<a name="ref-cli-cmd-watch-examples"></a>

### Observe si hay cambios en una pila de CDK con un identificador DevelopmentStack lógico
<a name="ref-cli-cmd-watch-examples-1"></a>

```
$ cdk watch DevelopmentStack
Detected change to 'lambda-code/index.js' (type: change). Triggering 'cdk deploy'
DevelopmentStack: deploying...

 ✅  DevelopmentStack
```

### Configure un archivo cdk.json para saber qué incluir y qué excluir para que no se supervisen los cambios
<a name="ref-cli-cmd-watch-examples-2"></a>

```
{
   "app": "mvn -e -q compile exec:java",
   "watch": {
    "include": "src/main/**",
    "exclude": "target/*"
   }
}
```

### Cree un proyecto de CDK con Java antes de la implementación mediante la configuración del archivo cdk.json
<a name="ref-cli-cmd-watch-examples-3"></a>

```
{
  "app": "mvn -e -q exec:java",
  "build": "mvn package",
  "watch": {
    "include": "src/main/**",
    "exclude": "target/*"
  }
}
```