

# Habilitar e usar os prompts de comando na AWS CLI
<a name="cli-usage-parameters-prompting"></a>

Você pode fazer com que a AWS CLI versão 2 solicite comandos, parâmetros e recursos quando você executa um comando da `aws`.

**Topics**
+ [Como funciona](#cli-usage-auto-prompt-about)
+ [Recursos do prompt automático](#cli-usage-auto-prompt-features)
+ [Modos de prompt automático](#cli-usage-auto-prompt-modes)
+ [Configurar o prompt automático](#cli-usage-auto-prompt-configure)

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

Se estiver habilitado, o prompt automático permitirá usar a tecla **ENTER **para concluir um comando inserido parcialmente. Após pressionar a tecla **ENTER**, comandos, parâmetros e recursos serão sugeridos com base no que você digitar. As sugestões listam o nome do comando, parâmetro ou recurso à esquerda e uma descrição dele à direita. Para selecionar e usar uma sugestão, use as teclas de setas para realçar uma linha e pressione a**Barra de espaço**. Após terminar de inserir seu comando, pressione **ENTER** para executá-lo. O exemplo a seguir demonstra como é a aparência de uma lista sugerida do prompt automático.

```
$ 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
```

## Recursos do prompt automático
<a name="cli-usage-auto-prompt-features"></a>

O prompt automático contém os seguintes recursos úteis:

**Painel de documentação**  
Fornece a documentação de ajuda para o comando atual. Para abrir a documentação, pressione a tecla **F3**.

**Conclusão de comando**  
Sugere comandos da `aws` que podem ser usados. Para ver uma lista, digite parcialmente o comando. O exemplo a seguir está procurando um serviço começando com a 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
```

**Preenchimento automático de parâmetros**  
Depois que um comando é digitado, o prompt automático começa a sugerir parâmetros. As descrições dos parâmetros incluem o tipo de valor e uma descrição do que é o parâmetro. Os parâmetros obrigatórios são listados primeiro e rotulados conforme necessário. O exemplo a seguir mostra a lista de parâmetros do `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...
```

**Preenchimento automático de recursos**  
O prompt automático faz chamadas de API da AWS usando propriedades de recursos da AWS disponíveis para sugerir valores de recursos. Isso permite que o prompt automático sugira possíveis recursos pertencentes a você ao inserir parâmetros. No exemplo a seguir, o prompt automático lista seus nomes de tabela ao preencher o parâmetro `--table-name` do comando `aws dynamodb describe-table`.  

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

**Preenchimento automático de sintaxe abreviada**  
Para parâmetros que usam sintaxe abreviada, o prompt automático sugere valores a serem usados. No exemplo a seguir, o prompt automático lista os valores de sintaxe abreviada para o parâmetro `--placement` no 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...
```

**Preenchimento automático de nomes de arquivos**  
Ao preencher parâmetros em comandos da `aws`, o preenchimento automático sugere nomes de arquivos locais após o uso dos prefixos `file://` ou `fileb://`. No exemplo a seguir, o prompt automático sugere arquivos locais depois da inserção de `--item file://` para o comando `aws ec2 run-instances`.  

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

**Preenchimento automático de regiões**  
Ao usar o parâmetro global `--region`, o prompt automático lista as possíveis regiões para seleção. No exemplo a seguir, o prompt automático sugere regiões depois da inserção de `--region` para o 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
```

**Preenchimento automático de perfis**  
Quando o parâmetro global `--profile` é usado, o prompt automático lista seus perfis. No exemplo a seguir, o prompt automático sugere seus perfis depois da inserção de `--profile` para o comando `aws dynamodb list-tables`.  

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

**Pesquisas difusas**  
Completa comandos e valores que contêm um conjunto específico de caracteres. No exemplo a seguir, o prompt automático sugere regiões que contêm `eu` depois da inserção de `--region eu` para o 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
```

**Histórico**  
Para visualizar e executar comandos usados anteriormente no modo de prompt automático, pressione **CTRL \$1 R**. O histórico lista os comandos anteriores que você pode selecionar usando as teclas de seta. No exemplo a seguir, o histórico do modo de prompt automático é exibido.  

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

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

O prompt automático para a AWS CLI versão 2 oferece 2 modos configuráveis:
+ **Modo completo:** usa o prompt automático cada vez que você tenta executar um comando `aws`, seja quando chamado manualmente via parâmetro `--cli-auto-prompt`, seja quando habilitado permanentemente. Isso inclui pressionar **ENTER** após um comando completo ou um comando incompleto.
+ **Modo parcial:** usa o prompt automático se um comando está incompleto ou não pode ser executado devido a erros de validação no lado do cliente. Esse modo é particularmente útil se você tem scripts pré-existentes, runbooks ou se deseja receber o prompt automático somente para comandos com os quais você não está familiarizado, em vez de ver o prompt para todos os comandos.

## Configurar o prompt automático
<a name="cli-usage-auto-prompt-configure"></a>

Para configurar o prompt automático, você pode usar os seguintes métodos em ordem de precedência: 
+ **Opções de linha de comando**: habilite ou desabilite o prompt automático para um único comando. Usar `--cli-auto-prompt` para chamar o prompt automático e `--no-cli-auto-prompt` para desabilitá-lo.
+ **Variáveis de ambiente**: use a variável `aws\$1cli\$1auto\$1prompt`.
+ **Arquivos de configuração compartilhados**: use a configuração `cli\$1auto\$1prompt`.