# Azion CLI update

Com o comando `azion update [recurso]` você pode atualizar:

- [Applications](#applications).
    - [Functions](#functions).
    - [Rules engine](#rules-engine).
    - [Cache settings](#cache-settings).
    - [Workloads](#workloads).
    - [Connectors](#connectors).
    - [Variables](#variables).
    - [Object Storage bucket](#object-storage-bucket).
    - [Object Storage object](#object-storage-object).
    - [WAF](#waf).
    - [WAF exceptions](#waf-exceptions).

:::note
No caso de um ou mais campos obrigatórios não serem informados através das flags específicas, uma mensagem interativa será exibida, solicitando essas informações.
:::

---

## Applications

#### Uso

```bash
azion update edge-application --iapplication-id <application_id> [flags]
```

#### Flags obrigatórias

##### application-id

A flag `--application-id` especifica o ID da application a ser atualizada.

#### Flags opcionais

##### application-acceleration

A flag `--application-acceleration` especifica se a application tem o módulo [Application Acceleration](/pt-br/documentacao/produtos/build/applications/application-accelerator/) ativo.

##### delivery-protocol

A flag `--delivery-protocol` especifica o [protocolo de entrega](/pt-br/documentacao/produtos/build/applications/main-settings/) da application.

##### device-detection

A flag `--device-detection` especifica se a application tem a detecção de dispositivos ativada ou não.

##### edge-firewall

A flag `--edge-firewall` especifica se a application tem um [Firewall](/pt-br/documentacao/produtos/secure/firewall/) associado ativado ou não.

##### edge-functions

A flag `--edge-functions` especifica se a application tem o módulo [Functions](/pt-br/documentacao/produtos/build/applications/functions/) ativo.

##### http-port

A flag `--http-port` especifica a porta HTTP da application. Por padrão, é `80`.

##### https-port

A flag `--https-port` especifica a porta HTTPS da application. Por padrão, é `443`.

##### image-optimization

A flag `--image-optimization` especifica se a application tem o módulo [Image Processor](/pt-br/documentacao/produtos/build/applications/image-processor/) ativo.

##### file

A flag `--file` especifica o caminho e o arquivo JSON fornecidos para atualizar automaticamente os atributos da application. Você pode usar `-` para ler a partir do stdin.

Exemplo dos atributos dentro de um arquivo `JSON`: 

```json 
{
  "active": true,
  "application_acceleration": false,
  "delivery_protocol": "http,https",
  "device_detection": false,
  "edge_firewall": false,
  "edge_functions": false,
  "http_port": 80,
  "https_port": 443,
  "id": 1337,
  "image_optimization": false,
  "l2_caching": false,
  "load_balancer": false,
  "minimum_tls_version": "tls_1_1",
  "name": "vaivaivai",
  "raw_logs": false,
  "web_application_firewall": false
 }
```

##### l2-caching

A flag `--l2-caching` especifica se a application tem o módulo [Tiered Cache](/pt-br/documentacao/produtos/build/applications/cache/tiered-cache/) ativo.

##### load-balancer

A flag `--load-balancer` especifica se a application tem o módulo [Load Balancer](/pt-br/documentacao/produtos/secure/connectors/load-balancer/) ativo.

##### min-tls-ver

A flag `--min-tls-ver` especifica a versão mínima do TLS da application.

##### name

A flag `--name` especifica o nome da application.

##### raw-logs

A flag `--raw-logs` especifica se a application tem logs brutos ativados ou não.

##### webapp-firewall

A flag `--webapp-firewall` especifica se o firewall associado com a application tem Web Application Firewall ativado ou não.

#### help

A opção `--help` exibe mais informações sobre a ação de atualização.

---

## Functions 

#### Uso

```bash
azion update edge-function --function-id <id_da_funcao>
```

#### Flags obrigatórias

##### function-id

A flag `--function-id` é o identificador único da function.

#### Flags opcionais

##### name

A flag `--name` define o novo nome para a function.

##### active

A flag `--active` especifica se a function deve estar ativa ou não. Aceita `true` ou `false`.

##### args

A flag `--args` define o caminho e o nome do arquivo JSON contendo os argumentos da function.

##### code

A flag `--code` define o caminho e o nome do arquivo contendo o código da function.

##### file

A flag `--file` especifica o caminho do arquivo com os atributos da function. Você pode usar `-` para ler do stdin.

Exemplo dos atributos dentro de um arquivo `JSON`: 

```json
{
  "active": true,
  "code": "async function handleRequest(request) {\n return new Response(\"Hello!\",\n   {\n       status:204\n   })\n}\naddEventListener(\"fetch\", event =\u003e {\n event.respondWith(handleRequest(event.request))\n})",
  "name": "func"
}
```

##### help

A opção `--help` exibe mais informações sobre o comando `azion update edge-function`.

---


## Rules engine

#### Uso

```bash
 azion update rules-engine --rule-id <rule-id> --application-id <application-id> --phase <phase> 
```

#### Flags obrigatórias

##### rule-id

A flag `--rule-id` especifica o identificador único da regra no Rules Engine.

##### application-id

A flag `--application-id` especifica o identificador único da application que implementa essas regras.

##### phase

A flag `--phase` especifica a fase do Rules Engine. Pode ser `request` ou `response`.

#### Flags opcionais

##### file

A flag `--file` especifica o caminho para um arquivo JSON que contém os atributos da regra que será atualizada. Você pode usar `-` para ler da entrada padrão.

Exemplo dos atributos dentro de um arquivo JSON: 

```json 
{
    "id": 1234,
    "name": "UpdatedRule",
    "phase": "request",
    "behaviors": [
      {
        "name": "run_function",
        "target": "9045"
      }
    ],
    "criteria": [
      [
        {
          "variable": "{uri}",
          "operator": "starts_with",
          "conditional": "if",
          "input_value": "/"
        }
      ]
    ]
}
  
```

##### help

A flag `-h` ou `--help` exibe mais informações sobre o comando `azion update rules-engine`

---

## Cache settings

#### Uso

```bash
$ azion update cache-setting --application-id 1673635839 --cache-setting-id 123123421 --name "phototypesetting"
```

#### Flags obrigatórias

##### application-id

A flag `--application-id` define o identificador único para a application.

##### cache-setting-id

A flag `--cache-setting-id` define o identificador único para uma configuração de cache.

##### name

A flag `--name` define o nome da configuração de cache que está sendo atualizada.

#### Flags opcionais

##### adaptive-delivery-action

A opção `--adaptive-delivery-action` informa a ativação da entrega adaptativa por device group da configuração de cache. O valor padrão é `ignore`.

##### browser-cache-settings

A opção `--browser-cache-settings` configura o tempo que o conteúdo é armazenado em cache no navegador de usuários. O valor padrão é `honor`.

##### browser-cache-settings-maximum-ttl

A opção `--browser-cache-settings-maximum-ttl` informa o TTL máximo do cache no navegador.

##### cache-by-cookies

A opção `--cache-by-cookies` define se o cache por cookies está ativo. O valor padrão é `ignore`.

##### cache-by-query-string

A opção `--cache-by-query-string` define como o conteúdo deve ser armazenado em cache de acordo com variações da query string em URLs. O valor padrão é `ignore`.

##### cdn-cache-settings

A opção `--cdn-cache-settings` configura o tempo que as applications da Azion armazenam seu conteúdo em cache. Pode respeitar ou substituir os cabeçalhos de cache da origem. O valor padrão é `honor`.

##### cnd-cache-settings-maximum-ttl

A opção `--cnd-cache-settings-maximum-ttl` informa o TTL máximo do cache no edge. O valor padrão é `60`.

##### cookie-names

A opção `--cookie-names` distingue objetos no cache da Azion pelo nome/valor dos cookies.

##### enable-caching-for-options

A opção `--enable-caching-for-options` define se o cache de método `OPTIONS` está ativo. O valor padrão é `false`.

##### enable-caching-for-post

A opção `--enable-caching-for-post` define se o cache de método `POST` está ativo.

##### enable-caching-string-sort

A opção `--enable-caching-string-sort` define se a ordenação de query strings determina a diferença de objetos em cache.

##### file

A opção `--file` especifica o caminho para um arquivo JSON contendo os atributos da configuração de cache que será atualizada. Você pode usar `-` para ler a partir do stdin.

Exemplo dos atributos dentro de um arquivo JSON: 

```json
{
  "name": "thename",
  "browser_cache_settings": "honor",
  "browser_cache_settings_maximum_ttl": 0,
  "cdn_cache_settings": "honor",
  "cdn_cache_settings_maximum_ttl": 60,
  "cache_by_query_string": "ignore",
  "query_string_fields": ["aa"],
  "enable_query_string_sort": true,
  "cache_by_cookies": "ignore",
  "cookie_names": ["aa"],
  "adaptive_delivery_action": "ignore",
  "device_group": [],
  "enable_caching_for_post": true,
  "l2_caching_enabled": false,
  "is_slice_configuration_enabled": false,
  "is_slice_edge_caching_enabled": false,
  "is_slice_l2_caching_enabled": false,
  "slice_configuration_range": null,
  "enable_caching_for_options": true,
  "enable_stale_cache": true,
  "l2_region": null
}
```

##### help

A opção `--help` exibe mais informações sobre o comando `azion update cache-setting`.

##### l2-caching-enabled

A opção `--l2-caching-enabled` define se o Tiered Cache está ativo.

##### query-string-fields

A opção `--query-string-fields` fornece uma lista de parâmetros de query string a serem considerados na configuração de Cache Settings, segregando o cache para a mesma URL.

##### slice-configuration-enabled

A opção `--slice-configuration-enabled` define se a configuração de Large File Optimization está ativa.

##### slice-configuration-range

A opção `--slice-configuration-range` informa o tamanho de cada fragmento do arquivo.

##### slice-l2-caching-enabled

A opção `--slice-l2-caching-enabled` define se Large File Optimization está ativo para o Tiered Cache.

---


## Workloads

#### Descrição

Atualiza o nome de um domínio e outros atributos com base em um ID fornecido.

#### Uso

```bash
azion update domain --domain-id 1234 --name 'Olá'
```

#### Flags obrigatórias

##### domain-id

A flag `--domain-id` especifica o identificador único do domínio que você deseja atualizar.

#### Flags opcionais

##### active

A opção `--active` define o domínio como ativo.

##### application-id

A opção `--application-id` é o identificador único de uma application usada por este domínio.

##### cname-access-only

A opção `--cname-access-only` define se o domínio deve ser acessado apenas por meio de CNAMEs.

##### cnames

A opção `--cnames` especifica os CNAMEs do seu domínio.

##### digital-certificate-id

A opção `--digital-certificate-id` é o identificador único do certificado digital. Esse valor pode ser um *número inteiro* ou *nulo*.

##### file

A opção `--file` especifica um caminho e arquivo JSON para atualizar automaticamente os atributos do domínio. Você pode usar `-` para ler da entrada padrão.

Exemplo dos atributos dentro de um arquivo `JSON`: 

```json
{
    "cname_access_only": true,
    "cnames": [
     "www.test123.com",
     "www.a.com"
    ],
    "id": 1337,
    "name": "ZA"
   }
```

##### name

A opção `--name` define o nome do domínio.

##### help

A opção `-h` ou `--help` exibe mais informações sobre o comando `azion update domain`.

---

## Connectors

#### Uso

```bash
$ azion update origin --application-id <application-id> --origin-key <origin-key>
```

#### Flags obrigatórias

##### application-id

A flag `--application-id` define o identificador único para uma application.

##### origin-key

A flag `--origin-key` define o identificador único para uma origem.

#### Flags opcionais

##### name

A flag `--name` define o nome da origem que está sendo atualizada.

##### addresses

A flag `--addresses` passa uma lista de endereços vinculados à origem. Múltiplos endereços devem ser separados por vírgulas.

##### host-header

A flag `--host-header` especifica o valor do cabeçalho `Host` do servidor sendo acessado.

##### origin-type

A flag `--origin-type` identifica o tipo da origem. Exemplo: `single_origin`, `load_balancer`.

##### origin-protocol-policy

A flag `--origin-protocol-policy` informa a política de protocolo usada da conexão entre a Azion e a origem.

##### origin-path

A flag `--origin-path` define o caminho a ser anexado à URI ao encaminhar a requisição para a origem. Deixe em branco para usar apenas a URI.

##### hmac-authentication

A flag `--hmac-authentication` especifica se a autenticação HMAC é usada ou não.

##### file

A flag `--file` especifica o caminho para um arquivo JSON contendo os atributos da origem que serão atualizados. Você pode usar `-` para ler a partir do stdin.

Exemplo dos atributos dentro de um arquivo JSON: 

```json 
{
  "name": "onepiece",
  "addresses": [{
    "address": "asdfsd.cvdf"
  }],
  "host_header": "asdfsdfsd.cvdf"
}
``` 

##### hmac-access-key

A flag `--hmac-access-key` informa a chave de acesso HMAC.

##### hmac-region-name

A flag `--hmac-region-name` informa o nome da região HMAC.

##### hmac-secret-key

A flag `--hmac-secret-key` informa a chave secreta HMAC.

#### help

A opção `-h` ou `--help` exibe mais informações sobre a ação `azion update origin`.

---

## Variables

#### Uso

```bash
  azion update variables --variable-id 7a187044-4a00-4a4a-93ed-d2309004019201909321f3 --key 'Content-Type' --value 'json' --secret false
```

#### Flags obrigatórias caso a flag --file não seja informada

##### variable-id

A flag `--variable-id` fornece o UUID da variável que está sendo atualizada.

##### key

A flag `--key` fornece a chave da variável.

##### value

A flag `--value` fornece o valor da variável.

##### secret

A flag `--secret` indica se o valor deve ser confidencial. O valor padrão é `true`.

#### Flags opcionais

##### file

A  opção `--file` informa o caminho do arquivo que contém todos os atributos da variável que está sendo atualizada. Você pode usar `-` para ler a partir de stdin.

Exemplo dos atributos dentro de um arquivo JSON: 

```json 
{
  "uuid": "32e8ffca-4021-49a4-971f-330935566af4",
  "key": "Content-Type",
  "value": "json",
  "secret": false,
  "last_editor": "hunter@hunter.com",
  "created_at": "2023-06-13T13:17:13.145625Z",
  "updated_at": "2023-06-13T13:17:13.145666Z"
}
```

##### help

A opção `--help` exibe mais informações sobre o subcomando `update`.

---

## Object Storage object

#### Uso

```bash
azion update edge-storage object --bucket-name 'mybalde' --object-key 'path/index.html' --source './index.html'
azion update edge-storage object --help
```

#### Flags obrigatórias

##### bucket-name

A flag `--bucket-name` especifica o nome do bucket no Object Storage onde está localizado o objeto que você deseja atualizar.

##### object-key

A flag `--object-key` identifica o objeto no Object Storage especificado que você deseja atualizar.

##### source

A flag `--source` especifica o caminho do arquivo para atualizar o objeto do bucket no Object Storage.

#### Flags opcionais

##### file

A opção `--file` refere-se ao caminho para um arquivo JSON contendo os atributos do bucket que serão atualizados. Você pode usar `-` para ler do stdin.

##### help

A opção `-h` ou `--help` fornece mais informações sobre o comando `azion update edge-storage object`.

---

## WAF

Atualiza um WAF (Web Application Firewall).

#### Uso

```bash
azion update waf --waf-id <waf-id> [flags]
```

#### Flags obrigatórias

##### waf-id

A flag `--waf-id` especifica o identificador único do WAF a ser atualizado.

#### Flags opcionais

##### name

A flag `--name` define o novo nome para o WAF.

##### mode

A flag `--mode` define o modo do WAF. Valores possíveis: `learning` ou `blocking`.

##### file

A flag `--file` especifica o caminho para um arquivo JSON contendo os atributos do WAF. Você pode usar `-` para ler do stdin.

##### help

A flag `--help` exibe mais informações sobre o comando `azion update waf`.

---

## WAF exceptions

Atualiza uma exceção de WAF.

#### Uso

```bash
azion update waf-exceptions --exception-id <exception-id> --waf-id <waf-id> [flags]
```

#### Flags obrigatórias

##### exception-id

A flag `--exception-id` especifica o identificador único da exceção de WAF a ser atualizada.

##### waf-id

A flag `--waf-id` especifica o identificador único do WAF associado à exceção.

#### Flags opcionais

##### file

A flag `--file` especifica o caminho para um arquivo JSON contendo os atributos da exceção de WAF. Você pode usar `-` para ler do stdin.

##### help

A flag `--help` exibe mais informações sobre o comando `azion update waf-exceptions`.