# Azion CLI profile

Os comandos `profile` da Azion CLI criam e excluem [perfis](/pt-br/documentacao/devtools/cli/profiles/), as configurações da CLI na sua máquina que guardam, cada uma, um personal token e os dados da conta que a CLI armazena com ele. Esses comandos alteram a configuração da CLI em `~/.azion`, e não os recursos da sua conta. As opções que todo comando aceita, como `--config`, `--token` e `-y`, estão em [Opções globais](/pt-br/documentacao/devtools/cli/globals/).

Não existe comando `list` ou `describe` para perfis. `azion profiles` exibe os seus perfis em um seletor interativo (`? Choose a profile:`) e precisa de um terminal, e `azion whoami` imprime o nome do perfil ativo.

---

## Criar

`azion create profile` cria um perfil com o nome e o personal token que você passa:

```bash
azion create profile [flags]
```

| Flag               | Curta | Tipo   | Padrão | Descrição                                                                                                                               |
| ------------------ | ----- | ------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------- |
| `--file`           | —     | string | —      | Caminho de um arquivo TOML com as configurações do perfil. O comando lê a chave `Token` e nunca lê o nome, então passe `--name` também. |
| `--name`           | —     | string | —      | **Obrigatório**, também com `--file`. Nome do perfil. Sem ele, o comando pergunta `? Please inform a name for the new profile`.         |
| `--personal-token` | —     | string | —      | Personal token que o perfil usa para autorizar comandos.                                                                                |

O comando pergunta `Would you like to make '<name>' your default profile? (Y/n)`. Com sim, o perfil passa a ser o ativo. Sem um terminal para responder, a pergunta recebe sim. Para manter o perfil ativo em um script, envie as respostas por pipe, como em [Usar um arquivo TOML](#usar-um-arquivo-toml).

Este comando cria um perfil chamado `my-profile` com um personal token que você criou com `azion create personal-token`:

```bash
azion create profile --name my-profile --personal-token "[TOKEN VALUE]"
```

O comando pergunta se você concorda com a coleta anônima de dados e se o perfil deve ser o padrão. Sem um terminal, as duas perguntas recebem sim:

```text
🤔 To better understand user needs and enhance our application, we gather anonymous data. Do you agree to participate? (Y/n) 🤔 Would you like to make 'my-profile' your default profile? (Y/n) Profile 'my-profile' created successfully and set as default
```

Depois deste comando, `azion whoami` imprime `Active Profile: my-profile`.

O comando verifica o token antes de salvar o perfil. Um token inválido falha, e nenhum perfil é criado:

```text
🤔 To better understand user needs and enhance our application, we gather anonymous data. Do you agree to participate? (Y/n) Error: The provided token is invalid. You must create a new token and configure it to use with the CLI. Manage your personal tokens on RTM using the Account Menu > Personal Tokens and configure the new token with the command 'azion -t <new_token>'
```

---

## Excluir

`azion delete profile` exclui um perfil e a pasta dele em `~/.azion`:

```bash
azion delete profile [flags]
```

| Flag     | Curta | Tipo   | Padrão | Descrição                                                                                                                                      |
| -------- | ----- | ------ | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `--name` | —     | string | —      | **Obrigatório**. Nome do perfil a excluir. Sem ele, o comando pede que você selecione o perfil em uma lista (`? Choose a profile to delete:`). |

Diferente dos comandos de exclusão de recursos da conta, este comando pergunta `Are you sure you want to delete profile '<name>'? This action cannot be undone (Y/n)`. Com `-y`, ou sem um terminal para responder, a pergunta recebe sim.

Este comando exclui o perfil chamado `my-toml-profile`:

```bash
azion delete profile --name my-toml-profile -y
```

O comando imprime a pergunta e confirma a exclusão:

```text
🤔 Are you sure you want to delete profile 'my-toml-profile'? This action cannot be undone (Y/n) Profile 'my-toml-profile' deleted successfully
```

Um nome que não corresponde a nenhum perfil falha com `Error: Profile 'my-missing-profile' not found`.

---

## Usar um arquivo TOML

`azion create profile` lê o personal token do perfil de um arquivo TOML com `--file`. O comando lê a chave `Token`. Ele não lê o nome do arquivo, então `--name` é obrigatório na linha de comando.

Este arquivo guarda o personal token do perfil:

```text
Token = "[TOKEN VALUE]"
```

Este comando cria um perfil chamado `my-toml-profile` a partir do arquivo. A resposta `n` enviada por pipe mantém o perfil ativo:

```bash
printf 'n\nn\n' | azion create profile --name my-toml-profile --file profile.toml
```

O comando confirma o perfil e não o define como padrão:

```text
🤔 Would you like to make 'my-toml-profile' your default profile? (Y/n) Profile 'my-toml-profile' created successfully
```

As configurações do perfil ficam em `~/.azion/my-toml-profile/settings.toml`, e o `Token` dele é o do arquivo. Sem `--name`, o comando pergunta o nome e não cria nenhum perfil.

---

## Recursos relacionados

- [Opções globais](/pt-br/documentacao/devtools/cli/globals.md): As opções que todo comando aceita, como `--config`, `--token` e `-y`.
- [Azion CLI profiles](/pt-br/documentacao/devtools/cli/profiles.md): O seletor interativo que exibe os perfis que você criou.
- [Azion CLI personal-token](/pt-br/documentacao/devtools/cli/recursos/personal-token.md): Os comandos que criam o personal token que um perfil guarda.
- [Azion CLI whoami](/pt-br/documentacao/devtools/cli/whoami.md): Como verificar com qual perfil e qual conta os seus comandos são executados.
