

# Activación y uso de los símbolos del sistema en la AWS CLI
<a name="cli-usage-parameters-prompting"></a>

Puede hacer que la versión 2 de la AWS CLI le pida comandos, parámetros y recursos cuando ejecute un comando de `aws`.

**Topics**
+ [

## Funcionamiento
](#cli-usage-auto-prompt-about)
+ [

## Características del mensaje automático
](#cli-usage-auto-prompt-features)
+ [

## Modos de mensaje automático
](#cli-usage-auto-prompt-modes)
+ [

## Configuración del mensaje automático
](#cli-usage-auto-prompt-configure)

## Funcionamiento
<a name="cli-usage-auto-prompt-about"></a>

Si está habilitado, el mensaje automático le permite utilizar la tecla **ENTER** (INTRO) para completar un comando introducido parcialmente. Después de presionar la tecla **ENTER** (INTRO), se sugieren comandos, parámetros y recursos en función de lo que siga escribiendo. Las sugerencias muestran el nombre del comando, parámetro o recurso a la izquierda y una descripción del mismo a la derecha. Para seleccionar y utilizar una sugerencia, utilice las teclas de flechas para resaltar una fila y, a continuación, presione la tecla de **SPACE** (ESPACIO). Cuando haya terminado de ingresar su comando, presione **ENTER** (INTRO) para usar el comando. En el siguiente ejemplo se muestra cómo se ve una lista sugerida de mensajes automáticos.

```
$ aws
> aws a
       accessanalyzer                Access Analyzer
       acm                           AWS Certificate Manager
       acm-pca                       AWS Certificate Manager Private Certificate Authority
       alexaforbusiness              Alexa For Business
       amplify                       AWS Amplify
```

## Características del mensaje automático
<a name="cli-usage-auto-prompt-features"></a>

El mensaje automático contiene las siguientes características útiles:

**Panel de documentación**  
Proporciona la documentación de ayuda del comando actual. Para abrir la documentación, presione la tecla **F3**.

**Finalización de comandos**  
Sugiere qué comandos de `aws` debería usar. Para ver una lista, ingrese parcialmente el comando. En el siguiente ejemplo se busca un servicio que comience con la letra `a`.  

```
$ aws
> aws a
       accessanalyzer                Access Analyzer
       acm                           AWS Certificate Manager
       acm-pca                       AWS Certificate Manager Private Certificate Authority
       alexaforbusiness              Alexa For Business
       amplify                       AWS Amplify
```

**Compleción de parámetros**  
Después de escribir un comando, el mensaje automático comienza a sugerir parámetros. Las descripciones de los parámetros incluyen el tipo de valor y una descripción del parámetro. Los parámetros necesarios se enumeran primero y se etiquetan según sean necesarios. En el siguiente ejemplo se muestra la lista de mensajes automáticos de parámetros para `aws dynamodb describe-table`.  

```
$ aws dynamodb describe-table
> aws dynamodb describe-table 
                              --table-name (required)  [string] The name of the table to describe.
                               --cli-input-json         [string] Reads arguments from the JSON string provided. The JSON string follows the format provide...
                               --cli-input-yaml         [string] Reads arguments from the YAML string provided. The YAML string follows the format provide...
                               --generate-cli-skeleton  [string] Prints a JSON skeleton to standard output without sending an API request. If provided wit...
```

**Compleción de recursos**  
El mensaje automático realiza llamadas a la API de AWS utilizando las propiedades de recursos de AWS disponibles para sugerir valores de recursos. Esto permite que el mensaje automático sugiera posibles recursos que posee al introducir parámetros. En el siguiente ejemplo, el mensaje automático muestra los nombres de las tablas al rellenar el parámetro `--table-name` para el comando `aws dynamodb describe-table`.  

```
$ aws dynamodb describe-table
> aws dynamodb describe-table --table-name 
                                            Table1
                                            Table2
                                            Table3
```

**Compleción abreviada**  
Para los parámetros que utilizan sintaxis abreviada, el mensaje automático sugiere los valores a utilizar. En el siguiente ejemplo, el mensaje automático muestra los valores de sintaxis abreviada para el parámetro `--placement` en el comando `aws ec2 run-instances`.  

```
$ aws ec2 run-instances
> aws ec2 run-instances --placement 
 AvailabilityZone=      [string] The Availability Zone of the instance. If not specified, an Availability Zone wil...
 Affinity=              [string] The affinity setting for the instance on the Dedicated Host. This parameter is no...
 GroupName=             [string] The name of the placement group the instance is in.
 PartitionNumber=       [integer] The number of the partition the instance is in. Valid only if the placement grou...
```

**Compleción del archivo**  
Al rellenar los parámetros de los comandos `aws`, la compleción automática sugiere nombres de archivos locales después de usar el prefijo `file://` o `fileb://`. En el siguiente ejemplo, el mensaje automático sugiere archivos locales después de ingresar `--item file://` para el comando `aws ec2 run-instances`.  

```
$ aws ec2 run-instances
> aws ec2 run-instances --item file:// 
                         item1.txt
                         file1.json
                         file2.json
```

**Compleción de la región**  
Cuando se utiliza el parámetro global `--region`, el mensaje automático muestra las regiones posibles para seleccionar. En el siguiente ejemplo, el mensaje automático sugiere regiones en orden alfabético después de escribir `--region` para el comando `aws dynamodb list-tables`.  

```
$ aws dynamodb list-tables
> aws dynamodb list-tables --region 
                                     af-south-1
                                     ap-east-1
                                     ap-northeast-1
                                     ap-northeast-2
```

**Compleción del perfil**  
Cuando se utiliza el parámetro global `--profile`, el mensaje automático muestra una lista de sus perfiles. En el siguiente ejemplo, el mensaje automático sugiere sus perfiles después de ingresar `--profile` para el comando `aws dynamodb list-tables`.  

```
$ aws dynamodb list-tables
> aws dynamodb list-tables --profile 
                                     profile1
                                     profile2
                                     profile3
```

**Búsquedas confusas**  
Complete comandos y valores que contienen un conjunto específico de caracteres. En el siguiente ejemplo, el mensaje automático sugiere regiones que contienen `eu` después de ingresar `--region eu` para el comando `aws dynamodb list-tables`.  

```
$ aws dynamodb list-tables
> aws dynamodb list-tables --region west
                                         eu-west-1
                                         eu-west-2
                                         eu-west-3
                                         us-west-1
```

**Historial**  
Para ver y ejecutar los comandos utilizados anteriormente en el modo de mensaje automático, presione **CTRL \$1 R**. El historial muestra los comandos anteriores que puede seleccionar mediante las teclas de flecha. En el ejemplo siguiente, se muestra el historial del modo de mensaje automático.  

```
$ aws
> aws 
        dynamodb list-tables
        s3 ls
```

## Modos de mensaje automático
<a name="cli-usage-auto-prompt-modes"></a>

El mensaje automático para la versión 2 de AWS CLI se puede configurar en 2 modos:
+ **Modo completo:** utiliza el mensaje automático cada vez que intenta ejecutar un comando `aws`, ya sea que lo llame manualmente usando el parámetro `--cli-auto-prompt` o lo habilite de forma permanente. Esto incluye presionar **ENTER** (INTRO) después de un comando completo o un comando incompleto.
+ **Modo parcial:** utiliza el mensaje automático si un comando está incompleto o no se puede ejecutar debido a errores de validación del lado del cliente. Este modo es especialmente útil si tiene scripts preexistentes, runbooks, o solo desea que se le pregunte automáticamente sobre los comandos con los que no está familiarizado en lugar de preguntarle sobre cada comando.

## Configuración del mensaje automático
<a name="cli-usage-auto-prompt-configure"></a>

Para configurar el mensaje automático, puede utilizar los siguientes métodos en orden de prioridad: 
+ **Las opciones de línea de comandos** habilitan o desactivan el mensaje automático para un solo comando. Use `--cli-auto-prompt` para solicitar un mensaje automático y `--no-cli-auto-prompt` para desactivarlo.
+ Las **variables del entorno** utilizan la variable `aws\$1cli\$1auto\$1prompt`.
+ Los **archivos de configuración compartida** usan la configuración`cli\$1auto\$1prompt`.