# Azion CLI custom-pages

Os comandos `custom-pages` da Azion CLI criam, listam, descrevem, atualizam e excluem conjuntos de custom pages, o recurso [Custom Pages](/pt-br/documentacao/plataforma/workloads/custom-pages/configuracoes/) que substitui as respostas de erro de um workload por páginas servidas a partir de um connector. Esses comandos gerenciam o conjunto e não o atribuem a um workload: quem faz isso é `azion create workload-deployment --custom-page`. As opções que todo comando aceita, como `--format`, `--out` e `-y`, estão em [Opções globais da Azion CLI](/pt-br/documentacao/devtools/cli/globals/).

---

## Criar

`azion create custom-pages` cria um conjunto de custom pages a partir de um arquivo JSON. O comando não tem uma flag por campo:

```bash
azion create custom-pages [flags]
```

| Flag     | Curta | Tipo   | Padrão | Descrição                                                                                                                                                               |
| -------- | ----- | ------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--file` | —     | string | —      | **Obrigatório**. Caminho de um arquivo JSON com os atributos do conjunto de custom pages. Use `-` para ler o JSON da entrada padrão. Sem ela, o comando pede o caminho. |

Este arquivo descreve um conjunto ativo chamado `my-pages` com uma página. Um código de status `404` recebe a página em `/404.html` no connector com ID `123475`:

```json
{
  "name": "my-pages",
  "active": true,
  "pages": [
    {
      "code": "404",
      "page": {
        "type": "page_connector",
        "attributes": {
          "connector": 123475,
          "ttl": 0,
          "uri": "/404.html"
        }
      }
    }
  ]
}
```

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

```bash
azion create custom-pages --file cp-create.json
```

O comando imprime o ID do conjunto:

```text
Created Custom Page with ID 123
```

---

## Listar

`azion list custom-pages` lista os conjuntos de custom pages da sua conta, 50 por página:

```bash
azion list custom-pages [flags]
```

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

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

```bash
azion list custom-pages --page 1 --page-size 1
```

O comando imprime uma linha por conjunto:

```text
ID   NAME      ACTIVE
123  my-pages  true
```

---

## Descrever

`azion describe custom-pages` imprime as configurações de um conjunto de custom pages:

```bash
azion describe custom-pages [flags]
```

| Flag               | Curta | Tipo | Padrão | Descrição                                   |
| ------------------ | ----- | ---- | ------ | ------------------------------------------- |
| `--custom-page-id` | —     | int  | —      | ID do conjunto de custom pages a descrever. |

Este comando descreve o conjunto com ID `123`:

```bash
azion describe custom-pages --custom-page-id 123
```

O comando imprime o ID, o nome, a última alteração e o estado do conjunto:

```text
ID:            123
Name:          my-pages
Last Editor:   you@example.com
Modified at:   "2026-01-01T12:00:00.403268Z"
Active:        true
```

Com `--format json`, o comando imprime o objeto completo: `active`, `created_at`, `id`, `is_versioned`, `last_editor`, `last_modified`, `name`, `pages`, `product_version`, `version`, `version_id` e `version_state`. Cada entrada de `pages` contém um `code` e um objeto `page` com um `type` e `attributes`: `connector`, `custom_status_code`, `ttl` e `uri`.

Um ID que não existe falha com este erro:

```text
Error: Failed to get the Custom Page: 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 custom-pages` altera o nome, o estado ativo ou as páginas de um conjunto de custom pages a partir de um arquivo JSON:

```bash
azion update custom-pages [flags]
```

| Flag               | Curta | Tipo   | Padrão | Descrição                                                                                                                                             |
| ------------------ | ----- | ------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--custom-page-id` | —     | int    | —      | ID do conjunto de custom pages a atualizar.                                                                                                           |
| `--file`           | —     | string | —      | **Obrigatório**. Caminho de um arquivo JSON com os atributos a alterar. Use `-` para ler o JSON da entrada padrão. Sem ela, o comando pede o caminho. |

Este arquivo renomeia o conjunto para `my-pages-updated`:

```json
{
  "name": "my-pages-updated"
}
```

Passe o arquivo para o comando de atualização com o ID do conjunto:

```bash
azion update custom-pages --custom-page-id 123 --file cp-update.json
```

O comando imprime o ID do conjunto atualizado:

```text
Updated Custom Page with ID 123
```

Os campos que o arquivo deixa de fora mantêm seus valores. Depois desta atualização, o conjunto continua ativo e mantém sua página `404`.

---

## Excluir

`azion delete custom-pages` exclui um conjunto de custom pages:

```bash
azion delete custom-pages [flags]
```

| Flag               | Curta | Tipo | Padrão | Descrição                                 |
| ------------------ | ----- | ---- | ------ | ----------------------------------------- |
| `--custom-page-id` | —     | int  | —      | ID do conjunto de custom pages a excluir. |

Este comando exclui o conjunto com ID `123`:

```bash
azion delete custom-pages --custom-page-id 123
```

O comando confirma a exclusão:

```text
Custom Page 123 was successfully deleted
```

---

## Usar um arquivo JSON

`azion create custom-pages` e `azion update custom-pages` leem o conjunto de custom pages de um arquivo JSON com `--file`. Essa é a única forma de passar seus atributos.

O arquivo traz os campos do conjunto:

- `name` e `active` descrevem o conjunto.
- `pages` contém uma entrada por código de status. Cada entrada traz o código de status em `code`, como uma string, por exemplo `"404"`, e um objeto `page`.
- `page.type` é `page_connector`, e `page.attributes` traz `connector`, o ID do connector que serve a página, `ttl` e `uri`, o caminho da página nesse connector.

Para saber o que cada campo faz e os valores que ele aceita, consulte [Configurações de custom page](/pt-br/documentacao/plataforma/workloads/custom-pages/configuracoes/).

Uma página do tipo `page_default` que traz somente `ttl` é recusada antes de o conjunto ser criado, embora o arquivo seja um JSON válido:

```text
Error: Failed to decode the given 'json' file. Verify if the file format is JSON or fix its content according to the JSON format specification at https://www.json.org/json-en.html
```

Na atualização, o arquivo traz somente os campos a alterar, e os campos que ele deixa de fora mantêm seus valores.

---

## Recursos relacionados

- [Opções globais da Azion CLI](/pt-br/documentacao/devtools/cli/globals.md): As opções que todo comando aceita, como `--format`, `--out` e `-y`.
- [Configurações de custom page](/pt-br/documentacao/plataforma/workloads/custom-pages/configuracoes.md): Os campos de um conjunto de custom pages, os códigos de status que ele pode substituir e como uma página obtém seu conteúdo de um connector.
- [Azion CLI connector](/pt-br/documentacao/devtools/cli/recursos/connector.md): Os comandos que criam e gerenciam o connector que serve as páginas de um conjunto.
- [Azion CLI workload-deployment](/pt-br/documentacao/devtools/cli/recursos/workload-deployment.md): Os comandos que atribuem um conjunto de custom pages a um workload com `--custom-page`.
