# Azion CLI dnssec

Os comandos `dnssec` da Azion CLI descrevem e atualizam a configuração [DNSSEC](/pt-br/documentacao/plataforma/edge-dns/dnssec/) de uma zona do [Edge DNS](/pt-br/documentacao/plataforma/edge-dns/): se o DNSSEC está ativado, o status dele e os valores de delegation signer (DS) da zona. O DNSSEC pertence a uma zona, por isso a CLI não tem comando que o crie, liste ou exclua. As opções que todo comando aceita, como `--format`, `--out` e `-y`, estão em [Opções globais](/pt-br/documentacao/devtools/cli/globals/).

---

## Descrever

`azion describe dnssec` imprime a configuração DNSSEC de uma zona DNS:

```bash
azion describe dnssec [flags]
```

| Flag        | Curta | Tipo | Padrão | Descrição                                    |
| ----------- | ----- | ---- | ------ | -------------------------------------------- |
| `--zone-id` | —     | int  | —      | **Obrigatório.** ID da zona DNS a descrever. |

Este comando descreve a configuração DNSSEC de uma zona em que o DNSSEC nunca foi ativado:

```bash
azion describe dnssec --zone-id 1234
```

O comando imprime se o DNSSEC está ativado e o status dele:

```text
Enabled:   false
Status:    unconfigured
```

Com `--format json`, o comando imprime o objeto completo: `delegation_signer`, `enabled` e `status`. O objeto `delegation_signer` contém os valores DS, `algorithm_type`, `digest`, `digest_type` e `key_tag`, e é `null` enquanto o DNSSEC está desativado. Este comando imprime o objeto da mesma zona depois que o DNSSEC é ativado:

```bash
azion describe dnssec --zone-id 1234 --format json
```

O comando imprime os valores DS da zona:

```json
{
 "delegation_signer": {
  "algorithm_type": {
   "id": 13,
   "slug": "ECDSAP256SHA256"
  },
  "digest": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
  "digest_type": {
   "id": 2,
   "slug": "SHA256"
  },
  "key_tag": 12369
 },
 "enabled": true,
 "status": "ready"
}
```

Com `--out`, o comando grava o mesmo JSON em um arquivo e imprime `File successfully written to:` seguido do caminho. Para saber o que cada status significa e para onde vão os valores DS, consulte [DNSSEC](/pt-br/documentacao/plataforma/edge-dns/dnssec/).

Um ID de zona que não corresponde a nenhuma zona da sua conta falha com este erro:

```text
Error: Failed to describe the DNSSEC: The given ID or API's endpoint doesn't exist or isn't available. Check that the identifying information is correct. Check your settings and try again. If the error persists, contact Azion support.
```

---

## Atualizar

`azion update dnssec` ativa ou desativa o DNSSEC de uma zona DNS:

```bash
azion update dnssec [flags]
```

| Flag        | Curta | Tipo   | Padrão | Descrição                                                                                                                                                                                       |
| ----------- | ----- | ------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--enabled` | —     | —      | —      | **Obrigatório**, a menos que `--file` seja informado. Ativa (`true`) ou desativa (`false`) o DNSSEC da zona. Sem ela, o comando pergunta `Enter whether DNSSEC should be enabled (true/false)`. |
| `--file`    | —     | string | —      | Caminho de um arquivo JSON com a configuração DNSSEC. Use `-` para ler o JSON da entrada padrão.                                                                                                |
| `--zone-id` | —     | int    | —      | **Obrigatório.** ID da zona DNS a atualizar.                                                                                                                                                    |

Escreva o valor de `--enabled` com um sinal de igual, como em `--enabled=false`: `--enabled false`, com um espaço, imprime a linha de sucesso e mantém o DNSSEC ativado.

Este comando desativa o DNSSEC da zona com ID `1234`:

```bash
azion update dnssec --zone-id 1234 --enabled=false
```

O comando confirma a atualização:

```text
DNSSEC of DNS zone 1234 was updated
```

Depois dessa atualização, `azion describe dnssec --zone-id 1234 --format json` retorna `"enabled": false` e `"status": "ready"`.

---

## Usar um arquivo JSON

`azion update dnssec` lê a configuração DNSSEC de um arquivo JSON com `--file`. O comando lê `enabled` do arquivo, e `--zone-id` continua na linha de comando.

Este arquivo ativa o DNSSEC:

```json
{
  "enabled": true
}
```

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

```bash
azion update dnssec --zone-id 1234 --file dnssec-update.json
```

O comando confirma a atualização:

```text
DNSSEC of DNS zone 1234 was updated
```

Depois dessa atualização, `azion describe dnssec --zone-id 1234 --format json` retorna `"enabled": true` e `"status": "ready"`.

---

## Recursos relacionados

- [Opções globais](/pt-br/documentacao/devtools/cli/globals.md): As opções que todo comando aceita, como `--format`, `--out` e `-y`.
- [DNSSEC](/pt-br/documentacao/plataforma/edge-dns/dnssec.md): O que cada status do DNSSEC significa e como os valores DS chegam ao seu registrador.
- [Azion CLI dns-zone](/pt-br/documentacao/devtools/cli/recursos/dns-zone.md): Os comandos que criam e gerenciam as zonas cujos IDs esses comandos recebem.
- [Azion CLI dns-record](/pt-br/documentacao/devtools/cli/recursos/dns-record.md): Os comandos que criam e gerenciam os registros de uma zona.
