Tipos de application
Os tipos que o módulo azion/applications exporta, com os payloads que cada função recebe e os parâmetros de lista que cada coleção aceita.
O módulo azion/applications exporta estes tipos, exceto onde um tipo diz o contrário. Importe-os com import type.
AzionApplicationsClient
O client que createAzionApplicationClient retorna. Cada método recebe um único objeto.
| Método | Argumento | Retorno |
|---|---|---|
createApplication | { data: ApiCreateApplicationPayload; options?: AzionClientOptions } | Promise<AzionApplicationResponse<AzionApplication>> |
getApplication | { applicationId: number; options?: AzionClientOptions } | Promise<AzionApplicationResponse<AzionApplication>> |
getApplications | { params?: AzionApplicationCollectionOptions; options?: AzionClientOptions } | Promise<AzionApplicationCollectionResponse<AzionApplication>> |
putApplication | { applicationId: number; data: ApiUpdateApplicationPayload; options?: AzionClientOptions } | Promise<AzionApplicationResponse<AzionApplication>> |
patchApplication | { applicationId: number; data: Partial<ApiUpdateApplicationPayload>; options?: AzionClientOptions } | Promise<AzionApplicationResponse<AzionApplication>> |
deleteApplication | { applicationId: number; options?: AzionClientOptions } | Promise<AzionApplicationResponse<void>> |
CreateAzionApplicationClient
O tipo de createAzionApplicationClient.
AzionClientOptions
Opções de requisição que toda função recebe em options.
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
debug | boolean | Não | Ativa o modo de debug. |
force | boolean | Não | Declarado pelo tipo. Nenhum exemplo desta página o usa. |
AzionApplicationResponse
O envelope que toda função retorna, exceto as funções de lista. Para saber como lê-lo, consulte Envelope de resposta.
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
data | T | Não | O resultado da chamada. |
error | { message: string; operation: string } | Não | A mensagem de erro e a operação que falhou. Uma exclusão bem-sucedida também o preenche. |
AzionApplicationCollectionResponse
O envelope que as funções de lista retornam.
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
data | { count; total_pages; schema_version; links; results } | Não | A página de resultados. |
data.count | number | Sim | O número de objetos da lista inteira, não da página. |
data.total_pages | number | Sim | O número de páginas. |
data.schema_version | number | Sim | A versão do schema da resposta da API. |
data.links | { previous: string | null; next: string | null } | Sim | As páginas anterior e seguinte. |
data.results | T[] | Sim | Os objetos da página. |
error | { message: string; operation: string } | Não | A mensagem de erro e a operação que falhou. |
AzionApplication
Uma application: os campos de ApiBaseApplicationPayload, mais o ID e os métodos da application. AzionApplicationSettings tem o mesmo formato, sem os métodos.
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | number | Sim | O ID da application. |
origins | OriginOperations | Sim | Os métodos de origem. |
cache | CacheOperations | Sim | Os métodos de cache setting. |
devices | DeviceGroupOperations | Sim | Os métodos de device group. |
functions | FunctionOperations | Sim | Os métodos de instância de function. |
rules | { request: RuleOperations; response: RuleOperations } | Sim | Os métodos de regra, um conjunto por fase. |
ApiBaseApplicationPayload
As configurações de uma application. name é obrigatório, e todos os outros campos são opcionais. ApiCreateApplicationPayload, que o módulo não exporta, tem o mesmo formato, e ApiUpdateApplicationPayload torna todos os campos opcionais. A API v3 recusa application_acceleration em uma requisição de criação.
Os enums das configurações da application, que o módulo exporta:
ApiListApplicationsParams
Paginação e ordenação para getApplications. AzionApplicationCollectionOptions, que o método do client recebe, tem as mesmas chaves.
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
page | number | Não | O número da página. |
page_size | number | Não | O número de applications por página. |
sort | 'name' | 'id' | Não | Declarado pelo tipo. Nenhum exemplo desta página o usa. |
order_by | string | Não | Declarado pelo tipo. Nenhum exemplo desta página o usa. |
AzionOrigin
Uma origem, com a origin_key dela. ApiCreateOriginPayload recebe todos os campos abaixo, exceto id e method, todos obrigatórios, além dos campos opcionais origin_path, hmac_authentication, hmac_region_name, hmac_access_key, hmac_secret_key, connection_timeout e timeout_between_bytes. ApiUpdateOriginRequest torna todos os campos opcionais e exige id.
Os enums de uma origem, que o módulo não exporta:
AzionCacheSetting
Um cache setting: os campos de ApiBaseCacheSettingPayload, mais o id dele (number).
ApiBaseCacheSettingPayload
As configurações de um cache setting. name é obrigatório, e todos os outros campos são opcionais. ApiUpdateCacheSettingPayload torna todos os campos opcionais.
Os enums de um cache setting, que o módulo não exporta:
AzionDeviceGroup
Um device group. ApiCreateDeviceGroupPayload e ApiUpdateDeviceGroupPayload, que o módulo não exporta, recebem name e user_agent, ambos obrigatórios na criação e opcionais na atualização.
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | number | Sim | O ID do device group. |
name | string | Sim | O nome do grupo, sem espaços e sem hífens. |
user_agent | string | Sim | A expressão regular comparada com o header de requisição User-Agent. |
AzionFunctionInstance
Uma instância de function. A API retorna os quatro campos abaixo, como os exemplos mostram.
| Propriedade | Tipo | Descrição |
|---|---|---|
id | number | O ID da instância de function. |
edge_function_id | number | O ID da function que a instância executa. |
name | string | O nome da instância de function. |
args | Record<string, unknown> | Os argumentos que a function recebe. |
O tipo declara outros campos: id, mais os campos de ApiBaseFunctionInstancePayload, que são name, code, language ('JavaScript'), initiator_type ('edge_application' \| 'edge_firewall'), active e json_args. ApiUpdateFunctionInstancePayload torna esses campos opcionais.
ApiCreateFunctionInstancePayload
O payload de createFunctionInstance. O módulo não exporta este tipo.
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Sim | O nome da instância de function. |
edge_function_id | number | Sim | O ID da function que a instância executa. |
args | Record<string, unknown> | Sim | Os argumentos que a function recebe. |
active | boolean | Não | Declarado pelo tipo. Nenhum exemplo desta página o usa. |
AzionRule
Uma regra: os campos de ApiCreateRulePayload, mais id (number). AzionRule declara is_active e order como obrigatórios, e toda regra dos exemplos traz os dois.
ApiCreateRulePayload
O payload de createRule. ApiUpdateRulePayload torna todos os campos opcionais.
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Sim | O nome da regra. |
phase | 'request' | 'response' | Sim | A fase da regra. |
criteria | Criterion[][] | Sim | Os grupos de condições. Cada Criterion contém variable (string), operator (string), conditional ('if' | 'and' | 'or') e input_value (string). |
behaviors | Behavior[] | Sim | As ações. Cada Behavior contém name (string) e um target opcional: uma string, null ou { captured_array: string; subject: string; regex: string }. |
is_active | boolean | Não | Indica se a regra está ativa. Uma regra criada sem ele fica ativa. |
order | number | Não | A posição da regra na fase dela. |
description | string | Não | A descrição da regra. |
Parâmetros de lista
O objeto params de cada função de lista de sub-recurso declara estas chaves. Os exemplos enviam apenas page e page_size. ApiListDeviceGroupsParams não é exportado.
| Tipo | Chaves declaradas |
|---|---|
ApiListOriginsParams | page, page_size, sort ('name' | 'id'), order ('asc' | 'desc'), filter |
ApiListCacheSettingsParams | page, page_size, sort ('name' | 'id'), order ('asc' | 'desc') |
ApiListDeviceGroupsParams | page, page_size, sort ('name' | 'id'), order ('asc' | 'desc') |
ApiListFunctionInstancesParams | page, page_size, sort ('name' | 'id'), order ('asc' | 'desc'), order_by, filter |
ApiListRulesParams | page, page_size, sort (string), order ('asc' | 'desc'), filter |