# Opções globais da Azion CLI

As opções globais são as flags que os comandos da [Azion CLI](/pt-br/documentacao/devtools/cli/) compartilham. Elas vêm depois do comando e do seu subcomando, como em `azion list application --debug`, e definem a pasta de configuração, o token, o nível de log, o tempo limite das requisições, o formato da saída e as respostas às perguntas sim/não.

---

## Uso

Adicione uma ou mais opções globais a qualquer comando:

```bash
azion <command> <subcommand> [flags]
```

| Flag          | Curta | Tipo   | Padrão   | Descrição                                                                                                                                                                                        |
| ------------- | ----- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `--config`    | `-c`  | string | —        | Caminho de um arquivo que termina em `.toml`, não de uma pasta. A pasta que contém o caminho passa a ser a pasta de configuração somente deste comando, e nenhuma configuração persistente muda. |
| `--debug`     | `-d`  | —      | —        | Imprime linhas de log de debug, cada uma com um timestamp, antes da saída do comando.                                                                                                            |
| `--format`    | —     | string | —        | Imprime a saída em JSON quando o valor é `json`.                                                                                                                                                 |
| `--help`      | `-h`  | —      | —        | Imprime a descrição, a sinopse, os exemplos e as flags do comando.                                                                                                                               |
| `--log-level` | `-l`  | string | `"info"` | Nível de log: `debug`, `info` ou `error`. `debug` imprime as mesmas linhas que `--debug`.                                                                                                        |
| `--no-color`  | —     | —      | —        | Imprime a saída sem formatação de cor. É uma convenção de CLIs que mantém a saída legível para automações que não interpretam códigos de cor.                                                    |
| `--out`       | —     | string | —        | Caminho de um arquivo onde a saída é gravada. O arquivo sempre contém JSON, com ou sem `--format json`.                                                                                          |
| `--silent`    | `-s`  | —      | —        | Não imprime nada, nem o resultado do comando. Use em automações.                                                                                                                                 |
| `--timeout`   | —     | int    | `50`     | Segundos que a CLI espera a resposta da Azion a uma requisição HTTP antes de o comando falhar.                                                                                                   |
| `--token`     | `-t`  | string | —        | Personal token a salvar no `settings.toml` do perfil. O comando é executado com ele, e todos os comandos seguintes também o usam.                                                                |
| `--version`   | `-v`  | —      | —        | Imprime a versão da CLI. `azion -v` imprime a mesma linha que `azion version`.                                                                                                                   |
| `--yes`       | `-y`  | —      | —        | Responde sim a todas as perguntas sim/não que o comando faz.                                                                                                                                     |

---

## Config

A Azion CLI guarda as suas configurações em uma pasta de configuração, `~/.azion` por padrão. A pasta contém o `profiles.json`, que indica o perfil ativo, e uma pasta por perfil, cada uma com o seu próprio `settings.toml`. `--token` salva o personal token nesse `settings.toml`.

`--config` aponta um comando para outra pasta de configuração. Informe um caminho dentro dessa pasta que termine em `.toml`, como `<config-folder>/settings.toml`. O arquivo não precisa existir, porque a CLI usa somente a pasta que o contém.

Informe um caminho no nível superior da pasta de configuração, não o `settings.toml` de um perfil. Com `<config-folder>/default/settings.toml`, a CLI considera `default` a pasta de configuração, cria um perfil vazio dentro dela e informa que você não está logado.

---

## Flags booleanas

Uma flag que o `--help` imprime sem tipo é booleana, como `--active` em `azion update dns-zone` ou `--enabled` em `azion update dnssec`. Escreva o valor depois de um sinal de igual, como em `--active=false`. Com um espaço, como em `--active false`, o comando imprime a sua linha de sucesso e mantém o valor sem mudança.

As flags que o `--help` tipa como `string` e que recebem `true` ou `false`, como `--active` em `azion update application`, recebem o valor depois de um espaço: `--active false`.

---

## Perguntas e confirmações

Alguns comandos fazem uma pergunta sim/não antes de continuar. Por exemplo, `azion create profile` pergunta se o novo perfil passa a ser o seu perfil padrão. `--yes` responde sim a todas as perguntas que o comando faz.

Sem um terminal, como em um script com a entrada padrão fechada, uma pergunta que termina em `(Y/n)` também recebe sim. Um perfil que `azion create profile` cria nessa situação passa a ser o perfil padrão, e `azion delete profile` exclui o perfil.

> **Atenção**
>
> As exclusões de recursos não fazem pergunta, com ou sem `--yes`. Um comando como `azion delete application` ou `azion delete dns-zone` exclui o recurso assim que é executado. `azion delete profile` é a única exclusão que pergunta `Are you sure you want to delete profile '<name>'? This action cannot be undone (Y/n)`.

`azion unlink -y` também responde sim à exclusão dos recursos remotos do projeto. Para mais informações, consulte [Azion CLI unlink](/pt-br/documentacao/devtools/cli/comando-unlink/).

---

## Atualizações a partir de um arquivo JSON

`azion update` lê os campos a alterar de um arquivo JSON com `--file`. Para a maioria dos recursos, a atualização é parcial: os campos que o arquivo omite mantêm os seus valores. Por exemplo, um arquivo de [rules-engine](/pt-br/documentacao/devtools/cli/recursos/rules-engine/) sem `criteria` mantém os critérios que a regra já tem.

Connector é a exceção. `azion update connector` precisa do connector inteiro no arquivo, como na criação. Para o formato do arquivo, consulte [Azion CLI connector](/pt-br/documentacao/devtools/cli/recursos/connector/#atualizar).

---

## Exemplos

Cada exemplo mostra o comando e a saída que ele imprime.

### Imprimir a versão da CLI

Este comando imprime a versão da Azion CLI:

```bash
azion -v
```

O comando imprime uma linha:

```text
Azion CLI 4.23.0
```

### Imprimir logs de debug

Este comando imprime a conta com que você está logado e as linhas de log de debug que vêm antes dela:

```bash
azion whoami --debug
```

As linhas de debug mostram o tempo limite HTTP que se aplica, `50s` por padrão:

```text
2026-01-01T12:00:00.445-0300	DEBUG	HTTP client timeout applied	{"timeout": "50s"}
2026-01-01T12:00:00.449-0300	DEBUG	Verifying if an update is required
2026-01-01T12:00:00.449-0300	DEBUG	Exec Schedules
 Client ID: 1234u
 Email: you@example.com
 Active Profile: default
```

### Imprimir a saída em JSON

Este comando descreve a aplicação com ID `1234567890` em JSON:

```bash
azion describe application --application-id 1234567890 --format json
```

O comando imprime o objeto completo da aplicação:

```text
{
 "active": true,
 "debug": false,
 "id": 1234567890,
 "is_versioned": false,
 "last_editor": "you@example.com",
 "last_modified": "2026-01-01T12:00:00.423706Z",
 "modules": {
  "application_accelerator": {
   "enabled": false
  },
  "cache": {
   "enabled": true
  },
  "functions": {
   "enabled": true
  },
  "image_processor": {
   "enabled": false
  }
 },
 "name": "my-app",
 "product_version": "3.0",
 "version": 0,
 "version_id": null,
 "version_state": null
}
```

### Gravar a saída em um arquivo

Este comando grava a descrição da mesma aplicação em `app-describe.txt`, sem `--format json`:

```bash
azion describe application --application-id 1234567890 --out app-describe.txt
```

O comando imprime o caminho do arquivo:

```text
File successfully written to: app-describe.txt
```

O arquivo contém o mesmo objeto JSON que `--format json` imprime, qualquer que seja a sua extensão. Um comando de listagem como `azion list workload --out workloads.txt` também grava JSON, com os nomes das colunas em `columns` e um array por linha em `lines`.

### Definir uma flag booleana

Este comando desativa a zona DNS com ID `1234`, com o valor depois de um sinal de igual:

```bash
azion update dns-zone --zone-id 1234 --active=false
```

O comando confirma a atualização:

```text
DNS zone 1234 was updated
```

Em seguida, `azion describe dns-zone --zone-id 1234 --format json` informa `"active": false`.

### Salvar um token para outra pasta de configuração

Este comando salva um personal token em outra pasta de configuração e executa `azion whoami` com ele:

```bash
azion whoami -c <config-folder>/settings.toml -t "[TOKEN VALUE]"
```

O comando salva o token no perfil `default` dessa pasta e depois imprime a conta:

```text
Token saved in <config-folder>/default/settings.toml
This token will be used by default with all commands
 Client ID: 1234u
 Email: you@example.com
 Active Profile: default
```

### Definir o tempo limite das requisições

Este comando lista as aplicações da sua conta e espera 1 segundo pela resposta da Azion:

```bash
azion list application --timeout 1
```

Quando a resposta demora mais que o timeout, o comando falha com o código de saída `1`:

```text
Error: Failed to list your Applications: CLI's request has timed out during communication with Azion. Verify if it has completed successfully or wait some time and try the command again. Check your settings and try again. If the error persists, contact Azion support.
```

### Executar um comando sem saída

Este comando lista as aplicações da sua conta e não imprime nada:

```bash
azion list application --silent
```

O comando não imprime nenhuma linha e termina com o código `0`.

---

## Recursos relacionados

- [Comandos de recursos](/pt-br/documentacao/devtools/cli/recursos.md): Os comandos create, list, describe, update e delete aos quais essas opções se aplicam.
- [Azion CLI profiles](/pt-br/documentacao/devtools/cli/profiles.md): Como alternar entre os perfis da pasta de configuração.
- [Azion CLI login](/pt-br/documentacao/devtools/cli/login.md): Como fazer login e salvar um token sem a opção `--token`.
- [Azion CLI dns-zone](/pt-br/documentacao/devtools/cli/recursos/dns-zone.md): Uma página de recurso com flags booleanas que recebem o valor depois de um sinal de igual.
