Biblioteca `Domains` da Azion

A biblioteca Domains da Azion fornece uma interface simples para interagir com a API de Domains, permitindo que você crie, liste, obtenha, atualize e exclua domínios.

Você pode interagir com a API usando um client ou chamando os métodos diretamente da biblioteca. Quando faz chamadas diretas, você pode usar as variáveis de ambiente para configurar o client sem passar os parâmetros de token e debug diretamente.

Exemplo de um arquivo .env com suas variáveis de ambiente:

Saiba mais das Azion Libraries
Terminal window
AZION_TOKEN=<your-api-token>
AZION_DEBUG=true
VariávelDescrição
AZION_TOKENSeu token de API da Azion.
AZION_DEBUGAtivar o modo de debug (true/false).

Se você deseja criar um client específico para interagir com Domains, crie um chamando o método createClient da biblioteca:

import { createClient } from 'azion/domains';
import type { AzionDomain, AzionDomainsClient } from 'azion/domains';
const client: AzionDomainsClient = createClient({ token: 'your-api-token', { debug: true } });
const { data: newDomain, error }: AzionDomainsResponse<AzionDomain> = await client.createDomain({ name: 'example domain', edgeApplicationId: 123 });
if (newDomain) {
console.log(`Domain created with ID: ${newDomain.id}`);
}

O método createClient tem os seguintes parâmetros e retorno:

Parâmetros:

ParâmetroTipoDescrição
configPartial<{ token: string; options?: OptionsParams }>Opções de configuração para o cliente de Domains.

Retorno:

Tipo de RetornoDescrição
AzionDomainsClientUm objeto com métodos para interagir com Domains.

Uso

createDomain

Este método cria um novo domínio. Por exemplo:

import { createDomain } from 'azion/domains';
import type { AzionDomain, AzionDomainsResponse } from 'azion/domains';
const { data: domain, error }: AzionDomainsResponse<AzionDomain> = await createDomain({
name: 'example domain',
edgeApplicationId: 123,
});
if (domain) {
console.log(`Domain created with ID: ${domain.id}`);
} else {
console.error('Failed to create domain', error);
}

Parâmetros:

ParâmetroTipoDescrição
domainAzionCreateDomainO objeto de domínio contendo suas configurações.
options{ debug?: boolean }Opcional. O objeto contendo uma flag de debug para habilitar log detalhado.

Retorno:

Tipo de RetornoDescrição
Promise<AzionDomainsResponse<AzionDomain>>O objeto de domínio criado ou o erro em caso de falha.

getDomains

Este método lista todos os domínios. Exemplo:

import { getDomains } from 'azion/domains';
import type { AzionDomainCollection, AzionDomainsResponse } from 'azion/domains';
const { data: domains, error }: AzionDomainsResponse<AzionDomainCollection> = await getDomains();
if (domains) {
console.log(`Found ${domains.count} domains`);
} else {
console.error('Failed to list domains', error);
}

Parâmetros:

ParâmetroTipoDescrição
options{ debug?: boolean }Opcional. O objeto contendo uma flag de debug para habilitar log detalhado.
queryParams{ pageSize?: number; page?: number; order?: 'id' | 'name'; sort?: 'asc' | 'desc' }Opcional. Parâmetros de query para paginação e ordenação.

Retorno:

Tipo de RetornoDescrição
Promise<AzionDomainsResponse<AzionDomainCollection>>Um array de objetos de domínio ou o erro em caso de falha.

getDomain

Use este método para obter um domínio pelo seu ID.

import { getDomain } from 'azion/domains';
import type { AzionDomain, AzionDomainsResponse } from 'azion/domains';
const domainId = 123;
const { data: domain, error }: AzionDomainsResponse<AzionDomain> = await getDomain(domainId);
if (domain) {
console.log(`Found domain with name: ${domain.name}`);
} else {
console.error('Failed to get domain', error);
}

Parâmetros:

ParâmetroTipoDescrição
domainIdnúmeroO ID do domínio.
options{ debug?: boolean }Opcional. O objeto contendo uma flag de debug para habilitar log detalhado.

updateDomain

Este método atualiza um domínio.

import { updateDomain } from 'azion/domains';
import type { AzionDomain, AzionDomainsResponse } from 'azion/domains';
const domainId = 123;
const { data: domain, error }: AzionDomainsResponse<AzionDomain> = await updateDomain(domainId, {
name: 'new domain name',
edgeApplicationId: 456,
});
if (domain) {
console.log(`Updated domain with name: ${domain.name}`);
} else {
console.error('Failed to update domain', error);
}

Parâmetros:

ParâmetroTipoDescrição
domainIdnúmeroO ID do domínio.
domainAzionUpdateDomainO objeto de domínio a ser atualizado.
options{ debug?: boolean }Opcional. O objeto contendo uma flag de debug para habilitar log detalhado.

Retorno:

Tipo de RetornoDescrição
Promise<AzionDomainsResponse<AzionDomain>>O objeto de domínio atualizado ou o estado de falha.

deleteDomain

Este método deleta um domínio especificado por seu ID.

import { deleteDomain } from 'azion/domains';
import type { AzionDomain, AzionDomainsResponse } from 'azion/domains';
const domainId = 123;
const { data: deletedDomain, error }: AzionDomainsResponse<AzionDomain> = await deleteDomain(domainId);
if (deletedDomain) {
console.log(`Deleted domain with ID: ${deletedDomain.id}`);
} else {
console.error('Failed to delete domain', error);
}

Parâmetros:

ParâmetroTipoDescrição
domainIdnúmeroO ID do domínio.
options{ debug?: boolean }Opcional. O objeto contendo uma flag de debug para habilitar log detalhado.

Retorno:

Tipo de RetornoDescrição
Promise<AzionDomainsResponse<AzionDeletedDomain>>O ID do domínio deletado ou o estado de falha.

Tipos

Se você estiver usando TypeScript, precisará importar e usar os tipos adequados para os parâmetros e valores de retorno. Aqui você pode ver uma lista de todos os tipos usados pela biblioteca Domains:

AzionDomainsClient

Opções de configuração para o cliente Azion Domains.

ParâmetroTipoDescrição
tokenstringOpcional. Seu token de API Azion.
optionsOptionsParamsOpcional. Objeto de opções de parâmetros.
debugbooleanOpcional. Habilita o modo de debug para log detalhado.

AzionDomainsResponse<T>

Tipo de resposta genérico retornado por todos os métodos Domains.

ParâmetroTipoDescrição
dataTOpcional. Os dados da resposta.
error{ message: string; operation: string; }Opcional. O objeto de erro.

AzionDomain

Representa a configuração de um domínio com suas propriedades.

ParâmetroTipoDescrição
state'pending' | 'executed' | 'failed'O estado do domínio.
idnúmeroOpcional. O ID do domínio.
namestringO nome do domínio.
urlstringOpcional. A URL do domínio.
environmentstringOpcional. O ambiente do domínio.
edgeApplicationIdnúmeroO ID da edge application.
activebooleanO status do domínio.
cnameAccessOnlybooleanOpcional. Acesso somente por CNAME.
cnamesstring[]Lista de CNAMEs.
edgeFirewallIdnúmeroOpcional. O ID do edge firewall.
digitalCertificateIdnúmero | string | nullO ID do certificado digital.
mtlsobject | nullOpcional. A configuração de TLS mútuo.
mtls.verificationstringMétodo de verificação: enforce ou permissive.
mtls.trustedCaCertificateIdnúmeroO ID do certificado de CA confiável.
mtls.crlListnumber[]A lista de IDs de CRL.

AzionDomainCollection

Representa uma coleção de domínios com seu status atual e detalhes de paginação.

ParâmetroTipoDescrição
state'pending' | 'executed' | 'failed'O status da lista de domínios.
pagesnúmeroNúmero de páginas.
countnúmeroNúmero de domínios.
resultsAzionDomain[]Array de objetos de domínio.

AzionDeleteDomain

Representa os parâmetros necessários para deletar um domínio.

ParâmetroTipoDescrição
idnúmeroO ID do domínio.
state'pending' | 'executed' | 'failed'O estado da exclusão do domínio.

Contribuidores