REST Resource: projects.sites.customDomains

Recurso: CustomDomain

Um CustomDomain é uma entidade que vincula um nome de domínio a um site do Firebase Hosting. Adicione um CustomDomain ao seu site para permitir que o Hosting veicule o conteúdo do site em resposta às solicitações do seu nome de domínio.

Representação JSON
{
  "name": string,
  "annotations": {
    string: string,
    ...
  },
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "expireTime": string,
  "etag": string,
  "hostState": enum (HostState),
  "ownershipState": enum (OwnershipState),
  "requiredDnsUpdates": {
    object (DnsUpdates)
  },
  "issues": [
    {
      object (Status)
    }
  ],
  "certPreference": enum (Type),
  "cert": {
    object (Certificate)
  },
  "redirectTarget": string,
  "reconciling": boolean,
  "labels": {
    string: string,
    ...
  }
}
Campos
name

string

Somente saída. O nome totalmente qualificado do CustomDomain .

annotations

map (key: string, value: string)

Anotações que você pode adicionar para deixar metadados legíveis por humanos e por máquina sobre seu CustomDomain .

Um objeto que contém uma lista de pares "key": value . Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

createTime

string ( Timestamp format)

Somente saída. O horário de criação do domínio personalizado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

updateTime

string ( Timestamp format)

Somente saída. A última vez que CustomDomain foi atualizado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

deleteTime

string ( Timestamp format)

Somente saída. A hora em que CustomDomain foi excluído; null para domínios personalizados que não foram excluídos. Os domínios personalizados excluídos persistem por aproximadamente 30 dias, após os quais a Hosting os remove completamente. Para restaurar um domínio personalizado excluído, faça uma solicitação customDomains.undelete .

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

Somente saída. O tempo mínimo antes que um CustomDomain excluído de forma reversível seja completamente removido do Hosting; null para domínios personalizados que não foram excluídos.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

etag

string

Somente saída. Uma string que representa o estado atual do CustomDomain e permite confirmar seu estado inicial em solicitações que o modificariam. Use a tag para garantir consistência ao fazer solicitações customDomains.patch , customDomains.delete e customDomains.undelete .

hostState

enum ( HostState )

Somente saída. O HostState do nome de domínio ao qual este CustomDomain se refere.

ownershipState

enum ( OwnershipState )

Somente saída. O OwnershipState do nome de domínio ao qual este CustomDomain se refere.

requiredDnsUpdates

object ( DnsUpdates )

Somente saída. Um conjunto de atualizações que você deve fazer nos registros DNS do nome de domínio para permitir que a Hosting forneça conteúdo seguro em seu nome.

issues[]

object ( Status )

Somente saída. Um conjunto de erros que os sistemas de hospedagem encontraram ao tentar estabelecer a capacidade da hospedagem de fornecer conteúdo seguro para o seu nome de domínio. Resolva esses problemas para garantir que seu CustomDomain se comporte corretamente.

certPreference

enum ( Type )

Um campo que permite especificar qual tipo de certificado SSL a Hosting cria para o seu nome de domínio. Os domínios personalizados do plano Spark só têm acesso ao tipo de certificado GROUPED , enquanto os domínios do plano Blaze podem selecionar qualquer opção.

cert

object ( Certificate )

Apenas saída. O certificado SSL que a hospedagem possui para o nome de domínio deste domínio personalizado. Para novos domínios personalizados, isso geralmente representa a intenção da Hosting de criar um certificado, em vez de um certificado real. Verifique o campo state para mais informações.

redirectTarget

string

Um nome de domínio para o qual este CustomDomain deve direcionar o tráfego. Se especificado, o Hosting responderá às solicitações nesse domínio personalizado com um código HTTP 301 e, em vez disso, roteará o tráfego para o redirectTarget especificado.

reconciling

boolean

Apenas saída. Um campo que, se verdadeiro, indica que os sistemas do Hosting estão tentando fazer com que o estado do domínio personalizado corresponda ao seu estado preferido. Isso true com mais frequência ao provisionar inicialmente um CustomDomain após uma solicitação customDomains.create ou ao criar um novo certificado SSL para corresponder a um certPreference atualizado após uma solicitação customDomains.patch .

labels

map (key: string, value: string)

Rótulos usados ​​para metadados e/ou filtragem extras.

Um objeto que contém uma lista de pares "key": value . Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

EstadoHost

O estado do host do seu nome de domínio. O estado do host é determinado verificando cada endereço IP associado ao seu nome de domínio para ver se ele está veiculando conteúdo de hospedagem.

Enums
HOST_STATE_UNSPECIFIED O estado do host do seu domínio personalizado não é especificado. A mensagem é inválida se não for especificado.
HOST_UNHOSTED O nome de domínio do seu domínio personalizado não está associado a nenhum endereço IP.
HOST_UNREACHABLE O nome de domínio do seu domínio personalizado não pode ser acessado. As consultas DNS dos serviços de hospedagem para encontrar os endereços IP do seu nome de domínio resultaram em erros. Consulte o campo issues do seu objeto CustomDomain para obter mais detalhes.
HOST_MISMATCH O nome de domínio do seu domínio personalizado tem endereços IP que, em última análise, não são resolvidos para o Hosting.
HOST_CONFLICT O nome de domínio do seu domínio personalizado possui endereços IP que atendem tanto à hospedagem quanto a outros serviços. Para garantir resultados consistentes, remova os registros A e AAAA relacionados a serviços que não sejam de hospedagem.
HOST_ACTIVE Todas as solicitações referentes ao nome de domínio do seu domínio personalizado são atendidas pela Hosting. Se o OwnershipState do domínio personalizado também for ACTIVE , o Hosting exibirá o conteúdo do seu site Hosting no nome de domínio.

PropriedadeEstado

O estado de propriedade do seu domínio. Um domínio pode pertencer a no máximo um site do Firebase Hosting. A propriedade pode ser determinada de duas maneiras:

* TXT records: A TXT record on the domain in the form
`hosting-site=[siteId]`.
* CNAME records: A CNAME record that points to a Hosting site's default
domain.

Se o seu CustomDomain estiver em um OwnershipState diferente de OWNERSHIP_ACTIVE por mais de 30 dias e não tiver sido atualizado em pelo menos 30 dias, os sistemas de propriedade do Hosting excluirão o CustomDomain . Para restaurar um CustomDomain excluído, faça uma solicitação customDomains.undelete .

Enums
OWNERSHIP_STATE_UNSPECIFIED O estado de propriedade do seu domínio personalizado não é especificado. Isso nunca deveria acontecer.
OWNERSHIP_MISSING O nome de domínio do seu domínio personalizado não possui registros de propriedade relacionados à hospedagem; nenhum projeto do Firebase tem permissão para agir em nome do nome de domínio.
OWNERSHIP_UNREACHABLE O nome de domínio do seu domínio personalizado não pode ser acessado. As consultas DNS dos serviços de hospedagem para encontrar os registros de propriedade do seu nome de domínio resultaram em erros. Consulte o campo issues do seu objeto CustomDomain para obter mais detalhes.
OWNERSHIP_MISMATCH O nome de domínio do seu domínio personalizado pertence a outro projeto do Firebase. Remova os registros TXT conflitantes e substitua-os por registros específicos do seu projeto atual do Firebase.
OWNERSHIP_CONFLICT O nome de domínio do seu domínio personalizado tem registros TXT conflitantes que indicam propriedade do seu projeto atual do Firebase e de outro projeto. Remova os registros de propriedade do outro projeto para conceder a propriedade do projeto atual.
OWNERSHIP_PENDING Os registros DNS do seu domínio personalizado estão configurados corretamente. A hospedagem transferirá a propriedade do seu domínio para este CustomDomain dentro de 24 horas.
OWNERSHIP_ACTIVE O nome de domínio do seu domínio personalizado possui registros TXT que concedem permissão ao projeto para agir em seu nome.

Atualizações de DNS

Um conjunto de atualizações de registro DNS que você deve fazer para permitir que o Hosting forneça conteúdo seguro em resposta a solicitações feitas ao seu nome de domínio. Essas atualizações apresentam o estado atual dos registros DNS do seu nome de domínio quando o Hosting os consultou pela última vez e o conjunto desejado de registros que o Hosting precisa ver antes que seu domínio personalizado possa estar totalmente ativo.

Representação JSON
{
  "discovered": [
    {
      object (DnsRecordSet)
    }
  ],
  "desired": [
    {
      object (DnsRecordSet)
    }
  ],
  "checkTime": string
}
Campos
discovered[]

object ( DnsRecordSet )

O conjunto de registros DNS que a hospedagem descobriu ao inspecionar um domínio.

desired[]

object ( DnsRecordSet )

O conjunto de registros DNS que a hospedagem precisa para servir conteúdo seguro no domínio.

checkTime

string ( Timestamp format)

A última vez que a Hosting verificou os registros DNS do seu domínio personalizado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

Conjunto de registros DNS

Um conjunto de registros DNS relevantes para a configuração e manutenção de um domínio personalizado no Firebase Hosting.

Representação JSON
{
  "domainName": string,
  "checkError": {
    object (Status)
  },
  "records": [
    {
      object (DnsRecord)
    }
  ]
}
Campos
domainName

string

Somente saída. O nome de domínio ao qual o conjunto de registros pertence.

checkError

object ( Status )

Somente saída. Um erro encontrado nos serviços de hospedagem ao consultar os registros DNS do seu nome de domínio. Nota: a hospedagem ignora os erros NXDOMAIN , pois geralmente significam apenas que um nome de domínio ainda não foi configurado.

records[]

object ( DnsRecord )

Somente saída. Registros no domínio.

Registro DNS

Os registros DNS são registros de recursos que definem como os sistemas e serviços devem se comportar ao lidar com solicitações de um nome de domínio. Por exemplo, quando você adiciona registros A aos registros DNS do seu nome de domínio, você está informando outros sistemas (como os navegadores dos seus usuários) para entrar em contato com esses endereços IPv4 para recuperar recursos relevantes para o seu nome de domínio (como os arquivos do seu site de hospedagem ).

Representação JSON
{
  "domainName": string,
  "type": enum (Type),
  "rdata": string,
  "requiredAction": enum (Action)
}
Campos
domainName

string

Apenas saída. O nome de domínio ao qual o registro pertence, por exemplo foo.bar.com. .

type

enum ( Type )

Somente saída. O tipo do registro, que determina quais dados o registro contém.

rdata

string

Somente saída. Os dados do registro. O significado do valor depende do tipo de registro: - A e AAAA: endereços IP do nome de domínio. - CNAME: Outro domínio para verificar registros. - TXT: Sequências de texto arbitrárias associadas ao nome de domínio. A hospedagem usa registros TXT para determinar quais projetos do Firebase têm permissão para agir em nome do nome de domínio. - CAA: sinalizadores, tag e valor do registro, por exemplo 0 issue "pki.goog" .

requiredAction

enum ( Action )

Somente saída. Uma enumeração que indica uma ação necessária para esse registro.

Tipo

O tipo de registro DNS, incluindo A , TXT , AAAA e CAA .

Enums
TYPE_UNSPECIFIED O tipo do registro não é especificado. A mensagem é inválida se não for especificado.
A Um registro A , conforme definido na RFC 1035 . Os registros determinam para quais endereços IPv4 um nome de domínio direciona o tráfego.
CNAME Um registro CNAME , conforme definido na RFC 1035 . Os registros CNAME ou Nome Canônico mapeiam um nome de domínio para um nome de domínio canônico diferente. Se um registro CNAME estiver presente, ele deverá ser o único registro no nome de domínio.
TXT Um registro TXT , conforme definido na RFC 1035 . Os registros TXT contêm dados de texto arbitrários em um nome de domínio. A hospedagem usa registros TXT para estabelecer qual projeto do Firebase tem permissão para atuar em um nome de domínio.
AAAA Um registro AAAA, conforme definido nos registros AAAA RFC 3596, determina para quais endereços IPv6 um nome de domínio direciona o tráfego.
CAA

Um registro CAA, conforme definido na RFC 6844 . Os registros CAA, ou Autorização de Autoridade de Certificação, determinam quais Autoridades de Certificação (organizações de emissão de certificados SSL) estão autorizadas a emitir um certificado para o nome de domínio. O Firebase Hosting usa pki.goog como CA principal.

Cascata de registros CAA. Um registro CAA em foo.com também se aplica a bar.foo.com , a menos que bar.foo.com tenha seu próprio conjunto de registros CAA.

Os registros CAA são opcionais. Se um nome de domínio e seus pais não tiverem registros CAA, todas as CAs estão autorizadas a emitir certificados em seu nome. Em geral, o Hosting apenas solicita que você modifique os registros CAA quando isso for necessário para desbloquear a criação do certificado SSL.

Ação

Ação é um tipo de ação que você deve realizar neste registro DNS para configurar seu domínio para uso com o Firebase Hosting.

Enums
NONE Nenhuma ação é necessária.
ADD Adicione este registro aos seus registros DNS.
REMOVE Remova este registro dos seus registros DNS.

Tipo

O tipo do certificado. Determina como os sistemas de hospedagem criam e mantêm o certificado.

Enums
TYPE_UNSPECIFIED O tipo do certificado não é especificado. A mensagem é inválida se não for especificado.
TEMPORARY Um tipo de certificado de curta duração que cobre um nome de domínio temporariamente, enquanto o Hosting cria um certificado mais permanente.
GROUPED O certificado padrão para domínios personalizados do plano Spark.
PROJECT_GROUPED Somente plano Blaze. Um certificado que abrange de 1 a 100 nomes de domínio com domínios personalizados no mesmo projeto do Firebase.
DEDICATED Somente plano Blaze. Um certificado que cobre um único nome de domínio.

Certificado

Um certificado SSL usado para fornecer criptografia de ponta a ponta para solicitações em seu nome de domínio. Um Certificate pode ser um certificado SSL real ou, para domínios personalizados recém-criados, a intenção da Hosting de criar um.

Representação JSON
{
  "type": enum (Type),
  "state": enum (CertState),
  "verification": {
    object (CertVerification)
  },
  "issues": [
    {
      object (Status)
    }
  ],
  "createTime": string,
  "expireTime": string
}
Campos
type

enum ( Type )

Apenas saída. O tipo do certificado.

state

enum ( CertState )

Apenas saída. O estado do certificado. Somente os estados CERT_ACTIVE e CERT_EXPIRING_SOON fornecem cobertura SSL para um nome de domínio. Se o estado for PROPAGATING e a hospedagem tiver um certificado ativo para o nome de domínio antes, esse certificado anteriormente ativo fornecerá cobertura SSL para o nome de domínio até que o certificado atual seja propagado.

verification

object ( CertVerification )

Apenas saída. Um conjunto de desafios ACME que você pode adicionar aos seus registros DNS ou ao provedor de hospedagem existente que não seja da Hosting para permitir que a Hosting crie um certificado SSL para o seu nome de domínio antes de direcionar o tráfego para a hospedagem. Você pode usar esses desafios como parte de uma transição com tempo de inatividade zero do seu antigo provedor para a hospedagem.

issues[]

object ( Status )

Apenas saída. Um conjunto de erros que a hospedagem encontrou ao tentar criar um certificado para o seu nome de domínio. Resolva esses problemas para garantir que a Hosting seja capaz de fornecer comunicação segura com os visitantes do seu site.

createTime

string ( Timestamp format)

Somente saída. A hora de criação do certificado. Para certificados TEMPORARY , este é o momento em que a Hosting gerou os primeiros desafios para o seu nome de domínio. Para todos os outros tipos de certificado, é a hora em que o certificado real foi criado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

Somente saída. O tempo de expiração do certificado. Após esse período, o certificado não poderá mais ser usado para fornecer comunicação segura entre a Hosting e os visitantes do seu site.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

EstadoCertificado

O estado do certificado SSL que a hospedagem possui para o seu nome de domínio. Isso pode representar o estado do certificado real ou, para novos domínios personalizados, a tentativa da Hosting de criar um certificado.

Enums
CERT_STATE_UNSPECIFIED O estado do certificado não é especificado. A mensagem é inválida se não for especificado.
CERT_PREPARING O estado inicial de cada certificado representa a intenção da Hosting de criar um certificado, antes que as solicitações a uma Autoridade de Certificação sejam feitas.
CERT_VALIDATING A hospedagem valida se os registros DNS de um nome de domínio estão em um estado que permite a criação de certificados em seu nome.
CERT_PROPAGATING O certificado foi criado recentemente e precisa de tempo para ser propagado no CDN da Hosting.
CERT_ACTIVE O certificado está ativo, fornecendo conexões seguras para os nomes de domínio que representa.
CERT_EXPIRING_SOON O certificado está expirando, todos os nomes de domínio nele contidos receberão novos certificados.
CERT_EXPIRED O certificado expirou. A hospedagem não pode mais fornecer conteúdo seguro em seu nome de domínio.

Verificação de certificado

Um conjunto de desafios ACME que você pode usar para permitir que o Hosting crie um certificado SSL para o seu nome de domínio antes de direcionar o tráfego para os servidores do Hosting. Use o desafio DNS ou HTTP; não é necessário fornecer ambos.

Representação JSON
{
  "dns": {
    object (DnsUpdates)
  },
  "http": {
    object (HttpUpdate)
  }
}
Campos
dns

object ( DnsUpdates )

Somente saída. Um registro TXT para adicionar aos seus registros DNS que confirma sua intenção de permitir que a Hosting crie um certificado SSL para o seu nome de domínio.

http

object ( HttpUpdate )

Somente saída. Um arquivo para adicionar ao seu serviço de hospedagem existente, não pertencente à Hosting, que confirma sua intenção de permitir que a Hosting crie um certificado SSL para o seu nome de domínio.

Atualização HTTP

Um arquivo que você pode adicionar ao seu serviço de hospedagem existente, não pertencente à Hosting, que confirma sua intenção de permitir que as autoridades de certificação da Hosting criem um certificado SSL para o seu domínio.

Representação JSON
{
  "path": string,
  "desired": string,
  "discovered": string,
  "lastCheckTime": string,
  "checkError": {
    object (Status)
  }
}
Campos
path

string

Somente saída. O caminho para o arquivo.

desired

string

Somente saída. Uma string de texto para veicular no caminho.

discovered

string

Somente saída. Se o Hosting conseguiu encontrar o conteúdo do arquivo necessário no caminho especificado durante a última verificação.

lastCheckTime

string ( Timestamp format)

Somente saída. A última vez que os sistemas de hospedagem verificaram o conteúdo do arquivo.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

checkError

object ( Status )

Somente saída. Um erro encontrado durante a última verificação de conteúdo. Se for nulo, a verificação foi concluída com êxito.

Métodos

create

Cria um CustomDomain .

delete

Exclui o CustomDomain especificado.

get

Obtém o CustomDomain especificado.

list

Lista cada CustomDomain associado ao site de hospedagem pai especificado.

patch

Atualiza o CustomDomain especificado.

undelete

Recupera o CustomDomain especificado se ele tiver sido excluído de forma reversível.