Applications
Funções da Azion Lib do pacote azion que gerenciam applications, origens, cache settings, device groups, instâncias de function e regras pela API v3.
O módulo azion/applications é a biblioteca da Azion Lib para Applications. Suas funções criam, listam, leem, atualizam e excluem applications. Dentro de uma application, elas gerenciam as origens, os cache settings, os device groups, as instâncias de function e as regras dela. O módulo chama a Azion API v3, e cada função recebe um único objeto como argumento.
Instale o pacote:
O pacote azion recebe apenas correções de bugs, e a manutenção dele termina em dezembro de 2026.
Os exemplos desta página são módulos ES que usam await de nível superior e rodam no Node.js. A maioria deles é em TypeScript. Um exemplo cujo payload o TypeScript rejeita é em JavaScript, e a seção dele nomeia o tipo que o rejeita.
Autenticação
As funções que você importa e chama diretamente leem o seu personal token da variável de ambiente AZION_TOKEN. Um client criado com createAzionApplicationClient carrega o token no campo token dele.
| Variável | Descrição |
|---|---|
AZION_TOKEN | O seu personal token da Azion. |
AZION_DEBUG | Com true, ativa o modo de debug. |
Para mais informações, consulte Como a Azion Lib funciona.
Envelope de resposta
As funções de azion/applications informam uma falha de uma de duas formas, conforme o objeto sobre o qual agem:
- As funções de nível de application createApplication, getApplications, getApplication, patchApplication e putApplication retornam
{ data }em caso de sucesso. Quando a API responde com um status de erro, elas lançamError: HTTP error! Status: <code> - <TEXT>, então chame-as dentro detry/catch. - deleteApplication e as funções de origens, cache settings, device groups, instâncias de function e regras não lançam erros. Elas retornam um AzionApplicationResponse,
{ data?, error? }. Em caso de falha,errorcontém{ message, operation }, em queoperationnomeia a chamada, comoget origin.
Os exemplos das funções de nível de application também desestruturam error. Em uma requisição com falha, essas funções lançam o erro antes que o exemplo o verifique.
Uma exclusão bem-sucedida ainda retorna { error: { message: 'Expected JSON response, but got: ', operation } }. A API responde a uma exclusão com um corpo vazio, que o módulo lê como um erro. O envelope não distingue uma exclusão bem-sucedida de uma que falhou, por isso cada exemplo de exclusão desta página lê o objeto de volta. Uma resposta 404 confirma a exclusão.
Funções por recurso
O módulo agrupa as funções pelo objeto que elas gerenciam. Uma application é identificada por applicationId, que toda função recebe, exceto createApplication e getApplications. As regras também recebem uma phase, e uma origem é identificada pela originKey dela, um UUID.
| Recurso | Funções |
|---|---|
| Application | createApplication, getApplications, getApplication, patchApplication, putApplication, deleteApplication |
| Origem | createOrigin, getOrigins, getOrigin, updateOrigin, deleteOrigin |
| Cache setting | createCacheSetting, getCacheSettings, getCacheSetting, updateCacheSetting, deleteCacheSetting |
| Device group | createDeviceGroup, getDeviceGroups, getDeviceGroup, updateDeviceGroup, deleteDeviceGroup |
| Instância de function | createFunctionInstance, getFunctionInstances, getFunctionInstance, updateFunctionInstance, deleteFunctionInstance |
| Regra | createRule, getRules, getRule, updateRule, deleteRule |
Uma application que createApplication ou getApplication retorna também carrega as funções dos cinco sub-recursos como métodos da application.
createAzionApplicationClient
Cria um client que guarda um token e expõe as seis funções de nível de application como métodos. createAzionApplicationClient também é o export padrão do módulo. Em TypeScript com moduleResolution definido como nodenext, o import padrão não pode ser chamado, então importe o export nomeado. Com moduleResolution definido como bundler, os dois imports passam na verificação de tipos.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
token | string | Não | O seu personal token da Azion. |
options | AzionClientOptions | Não | Opções de requisição. Nenhum exemplo desta página as passa ao client. |
Retorna um AzionApplicationsClient. Os métodos dele recebem o mesmo objeto que a função correspondente desta página. O client não tem métodos para origens, cache settings, device groups, instâncias de function ou regras: chame essas funções diretamente ou use os métodos da application.
Este exemplo cria um client e imprime os métodos dele:
Saída:
createApplication
Cria uma application.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
data | ApiBaseApplicationPayload | Sim | As configurações da application. name é obrigatório. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como a AzionApplication criada, com o id que a API atribuiu. Em caso de status de erro, a função lança um erro.
O tipo declara application_acceleration, mas a API v3 o recusa em uma requisição de criação como um campo desconhecido. Com ele, a função lança Error: HTTP error! Status: 400 - BAD REQUEST, então deixe-o de fora.
Este exemplo é em JavaScript, porque o TypeScript rejeita a string 'http,https' para delivery_protocol, cujo tipo é o enum DeliveryProtocol:
Saída:
getApplications
Lista as applications da conta, uma página por vez.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
params | ApiListApplicationsParams | Não | Paginação: page e page_size. Sem chaves de ordenação, a função pede a lista ordenada por nome, em ordem crescente. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna um AzionApplicationCollectionResponse: data.results contém a página, e data.count contém o número de applications da conta. Em caso de status de erro, a função lança um erro.
Saída:
getApplication
Retorna uma application pelo ID dela.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como uma AzionApplication que carrega os métodos da application. Um ID que não corresponde a nenhuma application faz a função lançar Error: HTTP error! Status: 404 - NOT FOUND.
Saída:
patchApplication
Envia em uma requisição PATCH os campos da application que você passa. Use-a para renomear uma application ou para mudar uma configuração, como edge_functions: true, que createFunctionInstance exige.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application a atualizar. |
data | ApiUpdateApplicationPayload | Sim | Os campos a mudar. Todo campo é opcional. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como a AzionApplication atualizada. Em caso de status de erro, a função lança um erro.
Saída:
putApplication
Envia em uma requisição PUT as configurações da application que você passa.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application a atualizar. |
data | ApiUpdateApplicationPayload | Sim | As configurações da application. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como a AzionApplication atualizada. Em caso de status de erro, a função lança um erro.
A API v3 pode recusar um valor de delivery_protocol que o tipo permite. Por exemplo, a API pode responder a delivery_protocol: 'https' com "https" is not a valid choice., e a função então lança um erro.
Este exemplo é em JavaScript, porque o TypeScript rejeita a string 'http' para delivery_protocol, cujo tipo é o enum DeliveryProtocol:
Saída:
deleteApplication
Exclui uma application pelo ID dela.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application a excluir. |
options | AzionClientOptions | Não | Opções de requisição. |
Ao contrário das outras funções de nível de application, deleteApplication retorna um envelope e não lança erros. Uma exclusão bem-sucedida retorna error com a mensagem Expected JSON response, but got: , por isso o exemplo confirma a exclusão com getApplication, que lança um erro 404 para uma application que não existe mais.
Saída:
createOrigin
Cria uma origem em uma application. Uma origem é o servidor do qual a application obtém o conteúdo.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
data | ApiCreateOriginPayload | Sim | As configurações da origem. O exemplo define name, origin_type, addresses e host_header. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como a AzionOrigin criada. A API identifica uma origem pela origin_key dela, um UUID, que as outras funções de origem recebem como originKey.
Este exemplo é em JavaScript, porque ApiCreateOriginPayload exige todos os campos da origem, incluindo origin_key e os campos de HMAC, e tipa origin_type como um enum:
Saída:
getOrigins
Lista as origens de uma application, uma página por vez.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
params | ApiListOriginsParams | Não | Paginação: page e page_size. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna um AzionApplicationCollectionResponse cujo data.results contém objetos AzionOrigin.
Saída:
getOrigin
Retorna uma origem de uma application pela chave de origem dela.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
originKey | string | Sim | A origin_key da origem, um UUID. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como uma AzionOrigin. Uma chave que não corresponde a nenhuma origem retorna error com a mensagem HTTP error! Status: 404 - NOT FOUND e a operação get origin.
Saída:
updateOrigin
Envia em uma requisição PATCH os campos da origem que você passa.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
originKey | string | Sim | A origin_key da origem a atualizar. |
data | ApiUpdateOriginRequest | Sim | Os campos a mudar. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como a AzionOrigin atualizada.
Este exemplo é em JavaScript, porque ApiUpdateOriginRequest exige um id, de que a requisição não precisa:
Saída:
deleteOrigin
Exclui uma origem de uma application pela chave de origem dela.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
originKey | string | Sim | A origin_key da origem a excluir. |
options | AzionClientOptions | Não | Opções de requisição. |
Uma exclusão bem-sucedida retorna error com a mensagem Expected JSON response, but got: , por isso o exemplo lê a origem de volta com getOrigin. Um erro 404 confirma a exclusão.
Saída:
createCacheSetting
Cria um cache setting em uma application. A application precisa ter uma origem antes. Em uma application sem nenhuma, a API recusa o cache setting, e a função retorna error com a mensagem HTTP error! Status: 400 - BAD REQUEST.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
data | ApiBaseCacheSettingPayload | Sim | As configurações do cache setting. name é obrigatório. |
options | AzionClientOptions | Não | Opções de requisição. |
browser_cache_settings recebe honor, override ou ignore, e cdn_cache_settings recebe honor ou override. Com override, o exemplo também define o campo de TTL máximo correspondente, browser_cache_settings_maximum_ttl ou cdn_cache_settings_maximum_ttl.
Retorna data como o AzionCacheSetting criado, com o id dele.
Este exemplo é em JavaScript, porque o TypeScript rejeita valores de string para browser_cache_settings e cdn_cache_settings, cujos tipos são enums que o módulo não exporta:
Saída:
getCacheSettings
Lista os cache settings de uma application, uma página por vez.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
params | ApiListCacheSettingsParams | Não | Paginação: page e page_size. Deixe de fora sort e order: a API recusa os valores que o tipo declara para eles com um erro 400. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna um AzionApplicationCollectionResponse cujo data.results contém objetos AzionCacheSetting.
Saída:
getCacheSetting
Retorna um cache setting de uma application pelo ID dele.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
cacheSettingId | number | Sim | O ID do cache setting. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como um AzionCacheSetting.
Saída:
updateCacheSetting
Envia em uma requisição PATCH os campos do cache setting que você passa.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
cacheSettingId | number | Sim | O ID do cache setting a atualizar. |
data | ApiUpdateCacheSettingPayload | Sim | Os campos a mudar. Todo campo é opcional. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como o AzionCacheSetting atualizado. Um payload sem campos de enum, como name e um TTL, passa na verificação de tipos do TypeScript.
Saída:
deleteCacheSetting
Exclui um cache setting de uma application pelo ID dele.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
cacheSettingId | number | Sim | O ID do cache setting a excluir. |
options | AzionClientOptions | Não | Opções de requisição. |
Uma exclusão bem-sucedida retorna error com a mensagem Expected JSON response, but got: , por isso o exemplo lê o cache setting de volta com getCacheSetting. Um erro 404 confirma a exclusão.
Saída:
createDeviceGroup
Cria um device group em uma application. Um device group identifica dispositivos por uma expressão regular que a plataforma compara com o header de requisição User-Agent.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
data | { name: string; user_agent: string } | Sim | name dá nome ao grupo, e user_agent contém a expressão regular, como Mobile|Android|iPhone. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como o AzionDeviceGroup criado. A API recusa um name que contenha um espaço ou um hífen. A função então retorna error com a mensagem HTTP error! Status: 400 - BAD REQUEST.
Saída:
getDeviceGroups
Lista os device groups de uma application, uma página por vez.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
params | ApiListDeviceGroupsParams | Não | Paginação: page e page_size. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna um AzionApplicationCollectionResponse cujo data.results contém objetos AzionDeviceGroup.
Saída:
getDeviceGroup
Retorna um device group de uma application pelo ID dele.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
deviceGroupId | number | Sim | O ID do device group. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como um AzionDeviceGroup.
Saída:
updateDeviceGroup
Envia em uma requisição PATCH os campos do device group que você passa. O novo name segue a mesma regra da criação: sem espaços e sem hífens.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
deviceGroupId | number | Sim | O ID do device group a atualizar. |
data | { name?: string; user_agent?: string } | Sim | Os campos a mudar. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como o AzionDeviceGroup atualizado.
Saída:
deleteDeviceGroup
Exclui um device group de uma application pelo ID dele.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
deviceGroupId | number | Sim | O ID do device group a excluir. |
options | AzionClientOptions | Não | Opções de requisição. |
Uma exclusão bem-sucedida retorna error com a mensagem Expected JSON response, but got: , por isso o exemplo lê o device group de volta com getDeviceGroup. Um erro 404 confirma a exclusão.
Saída:
createFunctionInstance
Cria uma instância de function em uma application. Uma instância executa uma function existente para essa application, com os argumentos que a instância define.
Duas coisas precisam existir antes. A application precisa ter functions ativadas, o que patchApplication faz com data: { edge_functions: true }. A function também precisa existir: a instância a identifica pelo ID dela em edge_function_id, e o pacote azion não tem um módulo que crie functions.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
data | ApiCreateFunctionInstancePayload | Sim | name, o edge_function_id da function e os args que a function recebe. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como a AzionFunctionInstance criada, com o id dela.
Saída:
getFunctionInstances
Lista as instâncias de function de uma application, uma página por vez.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
params | ApiListFunctionInstancesParams | Não | Paginação: page e page_size. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna um AzionApplicationCollectionResponse cujo data.results contém objetos AzionFunctionInstance.
Saída:
getFunctionInstance
Retorna uma instância de function de uma application pelo ID dela.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
functionInstanceId | number | Sim | O ID da instância de function. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como uma AzionFunctionInstance.
Saída:
updateFunctionInstance
Envia em uma requisição PATCH os campos da instância de function que você passa.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
functionInstanceId | number | Sim | O ID da instância de function a atualizar. |
data | ApiUpdateFunctionInstancePayload | Sim | Os campos a mudar. O exemplo muda name. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como a AzionFunctionInstance atualizada.
Saída:
deleteFunctionInstance
Exclui uma instância de function de uma application pelo ID dela.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
functionInstanceId | number | Sim | O ID da instância de function a excluir. |
options | AzionClientOptions | Não | Opções de requisição. |
Uma exclusão bem-sucedida retorna error com a mensagem Expected JSON response, but got: , por isso o exemplo lê a instância de volta com getFunctionInstance. Um erro 404 confirma a exclusão.
Saída:
createRule
Cria uma regra do Rules Engine de uma application, na fase de requisição ou na fase de resposta.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
phase | 'request' | 'response' | Sim | A fase em que a regra é executada. |
data | ApiCreateRulePayload | Sim | A regra: name, phase, criteria e behaviors. |
options | AzionClientOptions | Não | Opções de requisição. |
criteria é uma lista de grupos de condições, e cada grupo é uma lista de condições com variable, operator, conditional e input_value. behaviors lista as ações, cada uma com um name e um target. Para as variáveis, os operadores e os nomes de behaviors que uma regra pode usar, consulte Rules Engine para Applications.
Retorna data como a AzionRule criada, com o id e a order dela. No exemplo, as const mantém os tipos literais de que phase e conditional precisam no TypeScript.
Saída:
getRules
Lista as regras de uma fase de uma application, uma página por vez.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
phase | 'request' | 'response' | Sim | A fase a listar. |
params | ApiListRulesParams | Não | Paginação: page e page_size. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna um AzionApplicationCollectionResponse cujo data.results contém objetos AzionRule. A lista de request também contém Default Rule, a regra da fase default que uma application já tem ao ser criada.
Saída:
getRule
Retorna uma regra de uma application pela fase e pelo ID dela.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
phase | 'request' | 'response' | Sim | A fase da regra. |
ruleId | number | Sim | O ID da regra. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como uma AzionRule.
Saída:
updateRule
Envia em uma requisição PATCH os campos da regra que você passa. Os campos que você deixa de fora mantêm os valores: uma chamada que não envia criteria mantém os criteria da regra sem mudança.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
phase | 'request' | 'response' | Sim | A fase da regra. |
ruleId | number | Sim | O ID da regra a atualizar. |
data | ApiUpdateRulePayload | Sim | Os campos a mudar. Todo campo é opcional. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como a AzionRule atualizada.
Saída:
deleteRule
Exclui uma regra de uma application pela fase e pelo ID dela.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
applicationId | number | Sim | O ID da application. |
phase | 'request' | 'response' | Sim | A fase da regra. |
ruleId | number | Sim | O ID da regra a excluir. |
options | AzionClientOptions | Não | Opções de requisição. |
Uma exclusão bem-sucedida retorna error com a mensagem Expected JSON response, but got: , por isso o exemplo lê a regra de volta com getRule. Um erro 404 confirma a exclusão.
Saída:
Métodos da application
Uma application que createApplication ou getApplication retorna carrega as funções dos sub-recursos como métodos, já vinculados ao ID dela. Cada método recebe o mesmo objeto que a função correspondente, sem applicationId. Os métodos de regra ficam em rules.request e rules.response, que também fixam a phase.
| Propriedade | Tipo | Métodos |
|---|---|---|
origins | OriginOperations | createOrigin, getOrigins, getOrigin, updateOrigin, deleteOrigin |
cache | CacheOperations | createCacheSetting, getCacheSettings, getCacheSetting, updateCacheSetting, deleteCacheSetting |
devices | DeviceGroupOperations | createDeviceGroup, getDeviceGroups, getDeviceGroup, updateDeviceGroup, deleteDeviceGroup |
functions | FunctionOperations | createFunctionInstance, getFunctionInstances, getFunctionInstance, updateFunctionInstance, deleteFunctionInstance |
rules.request, rules.response | RuleOperations | createRule, getRules, getRule, updateRule, deleteRule |
Um método de lista precisa de um objeto como argumento, mesmo vazio: {}. Este exemplo lê uma application e lista cada um dos sub-recursos dela pelos métodos:
Saída:
Erros
As funções de nível de application lançam estas mensagens dentro de um Error. As outras funções as retornam em error.message, e error.operation nomeia a chamada, como create device group.
| Mensagem | Causa | O que fazer |
|---|---|---|
HTTP error! Status: 401 - UNAUTHORIZED | Nenhum token válido chegou à chamada: AZION_TOKEN não está definida ou contém um token inválido, e nenhum token de client foi passado. | Defina AZION_TOKEN com um personal token válido ou passe token para createAzionApplicationClient. |
HTTP error! Status: 404 - NOT FOUND | Nenhuma application tem esse ID, ou a application não contém nenhum objeto com esse ID ou essa chave de origem. | Verifique o ID com a função de lista correspondente, como getApplications ou getOrigins. |
HTTP error! Status: 400 - BAD REQUEST | A API v3 recusou o payload. A mensagem não traz o motivo que a API informa. As causas incluem application_acceleration em uma requisição de criação, um cache setting em uma application sem origem, um nome de device group com um espaço ou um hífen, e sort ou order em uma lista de cache settings. | Compare o payload com a seção da função que você chamou e remova ou mude o campo que ela indica. |
Expected JSON response, but got: | Uma exclusão foi bem-sucedida, e a API respondeu com um corpo vazio. | Leia o objeto de volta. Um erro 404 confirma a exclusão. |
Tipos
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 |