# Azion CLI crl

Os comandos `crl` da Azion CLI criam, listam, descrevem, atualizam e excluem listas de revogação de certificados (CRLs) em [Certificate Manager](/pt-br/documentacao/plataforma/workloads/certificate-manager/certificados/#listas-de-revogacao-de-certificados). Uma CRL é uma lista de certificados revogados que uma autoridade certificadora (CA) emite, e a CLI a envia a partir de um arquivo em formato PEM. As opções que todo comando aceita, como `--format`, `--out` e `-y`, estão em [Opções globais](/pt-br/documentacao/devtools/cli/globals/).

---

## Criar

`azion create crl` envia uma CRL a partir de um arquivo PEM e a armazena em Certificate Manager:

```bash
azion create crl [flags]
```

| Flag       | Curta | Tipo   | Padrão | Descrição                                                                                                                                         |
| ---------- | ----- | ------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--active` | —     | string | —      | Marca a CRL como ativa com `true`.                                                                                                                |
| `--crl`    | —     | string | —      | **Obrigatório**, a menos que `--file` seja informado. Caminho do arquivo que contém a CRL, em formato PEM. Sem ela, o comando pergunta o caminho. |
| `--file`   | —     | string | —      | Caminho de um arquivo JSON com os atributos da CRL. Use `-` para ler o JSON da entrada padrão.                                                    |
| `--issuer` | —     | string | —      | Emissor da CRL.                                                                                                                                   |
| `--name`   | —     | string | —      | Nome da CRL.                                                                                                                                      |

Este comando envia a CRL em `./certs/list.crl` como uma CRL ativa chamada `my-crl`, emitida por `example.com`:

```bash
azion create crl --name my-crl --issuer example.com --crl ./certs/list.crl --active true
```

O comando imprime o ID da CRL:

```text
Created Certificate Revocation List with ID 1236
```

Um arquivo que não contém uma CRL, como um certificado, é recusado, e o comando falha com este erro:

```text
Error: Failed to create the Certificate Revocation List: ["Invalid CRL data."]. Check your settings and try again. If the error persists, contact Azion support
```

---

## Listar

`azion list crl` lista as CRLs da sua conta, 50 por página:

```bash
azion list crl [flags]
```

| Flag          | Curta | Tipo   | Padrão | Descrição                                                                                                                       |
| ------------- | ----- | ------ | ------ | ------------------------------------------------------------------------------------------------------------------------------- |
| `--details`   | —     | —      | —      | Adiciona as colunas `ACTIVE`, `LAST UPDATE`, `NEXT UPDATE`, `LAST EDITOR` e `LAST MODIFIED` às colunas `ID`, `NAME` e `ISSUER`. |
| `--filter`    | —     | string | —      | Nome pelo qual filtrar a lista.                                                                                                 |
| `--order-by`  | —     | string | —      | Campo pelo qual ordenar a lista.                                                                                                |
| `--page`      | —     | int    | `1`    | Número da página a retornar.                                                                                                    |
| `--page-size` | —     | int    | `50`   | Número de CRLs em cada página.                                                                                                  |

Este comando retorna a primeira página de uma lista dividida em páginas de uma CRL:

```bash
azion list crl --page 1 --page-size 1
```

O comando imprime uma linha por CRL:

```text
ID    NAME    ISSUER
1236  my-crl  example.com
```

---

## Descrever

`azion describe crl` imprime os atributos de uma CRL:

```bash
azion describe crl [flags]
```

| Flag       | Curta | Tipo | Padrão | Descrição              |
| ---------- | ----- | ---- | ------ | ---------------------- |
| `--crl-id` | —     | int  | —      | ID da CRL a descrever. |

Este comando descreve a CRL com ID `1236`:

```bash
azion describe crl --crl-id 1236
```

O comando imprime os atributos da CRL e, em seguida, a própria CRL em formato PEM sob uma linha `CRL:`. O trecho abaixo termina antes do conteúdo PEM:

```text
ID:                1236
Name:              my-crl
Active:            true
Last Editor:       you@example.com
Created At:        "2026-01-01T12:00:09.378356Z"
Last Modified:     "2026-01-01T12:00:09.378356Z"
Product Version:   1.0
Issuer:            example.com
Last Update:       "2026-01-01T12:00:00Z"
Next Update:       "2026-01-31T12:00:00Z"
```

Os valores de `Last Update` e `Next Update` vêm do arquivo da CRL, não de uma flag. Com `--format json`, o comando imprime o objeto completo: `active`, `created_at`, `crl`, `id`, `issuer`, `last_editor`, `last_modified`, `last_update`, `name`, `next_update` e `product_version`.

---

## Atualizar

`azion update crl` altera o nome ou o conteúdo de uma CRL:

```bash
azion update crl [flags]
```

| Flag       | Curta | Tipo   | Padrão | Descrição                                                                                         |
| ---------- | ----- | ------ | ------ | ------------------------------------------------------------------------------------------------- |
| `--active` | —     | string | —      | Define se a CRL está ativa.                                                                       |
| `--crl`    | —     | string | —      | Caminho de um arquivo com a nova CRL, em formato PEM.                                             |
| `--crl-id` | —     | int    | —      | ID da CRL a atualizar.                                                                            |
| `--file`   | —     | string | —      | Caminho de um arquivo JSON com os atributos a alterar. Use `-` para ler o JSON da entrada padrão. |
| `--issuer` | —     | string | —      | Emissor da CRL.                                                                                   |
| `--name`   | —     | string | —      | Novo nome da CRL.                                                                                 |

Uma CRL continua ativa. Com `--active false`, a API recusa a atualização e o comando falha com este erro:

```text
Error: Failed to update the Certificate Revocation List: ["You can't disable a Certificate Revocation List(CRL)."]. Check your settings and try again. If the error persists, contact Azion support
```

Este comando substitui o conteúdo da CRL com ID `1236` pela CRL em `./certs/list.crl`:

```bash
azion update crl --crl-id 1236 --crl ./certs/list.crl
```

O comando imprime o ID da CRL atualizada:

```text
Updated Certificate Revocation List with ID 1236
```

---

## Excluir

`azion delete crl` exclui uma CRL:

```bash
azion delete crl [flags]
```

| Flag       | Curta | Tipo | Padrão | Descrição            |
| ---------- | ----- | ---- | ------ | -------------------- |
| `--crl-id` | —     | int  | —      | ID da CRL a excluir. |

Este comando exclui a CRL com ID `1237`:

```bash
azion delete crl --crl-id 1237 -y
```

O comando confirma a exclusão:

```text
Certificate Revocation List 1237 was successfully deleted
```

---

## Usar um arquivo JSON

`azion create crl` e `azion update crl` leem os atributos da CRL de um arquivo JSON com `--file`. Dentro do arquivo, `crl` não é um caminho: contém o texto PEM da CRL como uma única string JSON, com cada quebra de linha escrita como `\n`.

Este arquivo cria uma CRL ativa chamada `my-other-crl`. O comando lê `name`, `issuer`, `crl` e `active` do arquivo. Substitua `<pem-encoded-crl>` pelo conteúdo do seu arquivo de CRL:

```json
{
  "name": "my-other-crl",
  "issuer": "example.com",
  "crl": "<pem-encoded-crl>",
  "active": true
}
```

Passe o arquivo para o comando de criação:

```bash
azion create crl --file crl-create.json
```

O comando imprime o ID da CRL:

```text
Created Certificate Revocation List with ID 1237
```

Na atualização, passe o ID da CRL com `--crl-id`. Este arquivo renomeia a CRL com ID `1237`:

```json
{
  "name": "my-other-crl-updated"
}
```

Passe o arquivo para o comando de atualização:

```bash
azion update crl --crl-id 1237 --file crl-update.json
```

O comando imprime o ID da CRL atualizada. O nome muda, e a CRL continua ativa:

```text
Updated Certificate Revocation List with ID 1237
```

---

## Recursos relacionados

- [Opções globais](/pt-br/documentacao/devtools/cli/globals.md): As opções que todo comando aceita, como `--format`, `--out` e `-y`.
- [Certificados](/pt-br/documentacao/plataforma/workloads/certificate-manager/certificados.md): Os campos de uma CRL, o limite de tamanho dela e como um workload com mTLS a usa.
- [Azion CLI digital-certificate](/pt-br/documentacao/devtools/cli/recursos/digital-certificate.md): Os comandos que enviam e gerenciam os certificados que Certificate Manager armazena.
- [Azion CLI csr](/pt-br/documentacao/devtools/cli/recursos/csr.md): Os comandos que criam e gerenciam solicitações de assinatura de certificado em Certificate Manager.
