REST Resource: projects.sites.customDomains

Recurso: CustomDomain

O CustomDomain é uma entidade que vincula um nome de domínio a um site do Firebase Hosting. Adicione um CustomDomain ao site para permitir que o Hosting exiba o conteúdo do site em resposta a solicitações no 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

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

annotations

map (key: string, value: string)

Anotações que podem ser adicionadas para deixar metadados legíveis por humanos e por máquina sobre seu CustomDomain.

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

createTime

string (Timestamp format)

Apenas 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)

Apenas saída. A última vez que o 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)

Apenas saída. A hora em que o CustomDomain foi excluído. nulo para domínios personalizados que não foram excluídos. Os domínios personalizados excluídos são mantidos por aproximadamente 30 dias. Após esse período, o 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)

Apenas saída. o tempo mínimo antes que um CustomDomain excluído de maneira reversível seja completamente removido do Hosting; nulo 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

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

hostState

enum (HostState)

Apenas saída. O HostState do nome de domínio a que CustomDomain se refere.

ownershipState

enum (OwnershipState)

Apenas saída. O OwnershipState do nome de domínio a que CustomDomain se refere.

requiredDnsUpdates

object (DnsUpdates)

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

issues[]

object (Status)

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

certPreference

enum (Type)

Um campo que permite especificar qual tipo de certificado SSL o Hosting cria para o nome de domínio. Os domínios personalizados do plano Spark têm acesso apenas 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 o Hosting tem para o nome de domínio desse domínio personalizado. Para novos domínios personalizados, isso geralmente representa a intenção do Hosting de criar um certificado, em vez de um certificado real. Verifique o campo state para saber mais.

redirectTarget

string

Um nome de domínio para onde CustomDomain deve direcionar o tráfego. Se especificado, o Hosting vai responder às solicitações desse domínio personalizado com um código HTTP 301 e 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 se preparando para fazer com que o estado do domínio personalizado corresponda ao seu estado preferido. Ele costuma ser true 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 extras e/ou filtragem.

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

Estado do host

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

Enums
HOST_STATE_UNSPECIFIED O estado do host do seu domínio personalizado não foi especificado. A mensagem será inválida se isso 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 Não é possível acessar o nome de domínio do seu domínio personalizado. Serviços de hospedagem As consultas DNS para encontrar os endereços IP do seu nome de domínio resultaram em erros. Consulte o campo issues do objeto CustomDomain para mais detalhes.
HOST_MISMATCH O nome de domínio do seu domínio personalizado tem endereços IP que não são convertidos para o Hosting.
HOST_CONFLICT O nome de domínio do seu domínio personalizado tem endereços IP que direcionam para o Hosting e outros serviços. Para garantir resultados consistentes, remova os registros A e AAAA relacionados a serviços que não são de hospedagem.
HOST_ACTIVE Todas as solicitações feitas para o nome de domínio do seu domínio personalizado são atendidas pelo Hosting. Se o OwnershipState do domínio personalizado também for ACTIVE, o Hosting exibirá o conteúdo do site do 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 CustomDomain estiver em um OwnershipState diferente de OWNERSHIP_ACTIVE por mais de 30 dias e não for atualizado por 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 foi especificado. Isso nunca deveria acontecer.
OWNERSHIP_MISSING O nome de domínio do seu domínio personalizado não tem registros de propriedade relacionados ao Hosting. nenhum projeto do Firebase tem permissão para agir em nome do nome do domínio.
OWNERSHIP_UNREACHABLE Não é possível acessar o nome de domínio do seu domínio personalizado. Serviços de hospedagem Consultas DNS para encontrar os registros de propriedade do seu nome de domínio resultaram em erros. Consulte o campo issues do objeto CustomDomain para 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 a propriedade do 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. O Hosting transferirá a propriedade do seu domínio para este CustomDomain em até 24 horas.
OWNERSHIP_ACTIVE O nome de domínio do seu domínio personalizado tem registros TXT que concedem ao projeto permissão para agir em nome dele.

Atualizações do DNS

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

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

object (DnsRecordSet)

O conjunto de registros DNS que o Hosting descobriu ao inspecionar um domínio.

desired[]

object (DnsRecordSet)

O conjunto de registros DNS que o Hosting precisa exibir conteúdo seguro no domínio.

checkTime

string (Timestamp format)

A última vez que o 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".

DnsRecordSet

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

Apenas saída. O nome de domínio a que o conjunto de registros pertence.

checkError

object (Status)

Apenas saída. Um erro no serviço do Hosting foi encontrado ao consultar os registros DNS do seu nome de domínio. Observação: o Hosting ignora erros NXDOMAIN, porque eles geralmente significam apenas que um nome de domínio ainda não foi configurado.

records[]

object (DnsRecord)

Apenas 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 processar solicitações de um nome de domínio. Por exemplo, ao adicionar registros A aos registros DNS do nome de domínio, você instrui outros sistemas (como os navegadores da Web dos usuários) a entrar em contato com esses endereços IPv4 para recuperar recursos relevantes ao nome de domínio, como os arquivos do site do Hosting.

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

string

Apenas saída. O nome de domínio a que o registro pertence, por exemplo, foo.bar.com.:

type

enum (Type)

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

rdata

string

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

requiredAction

enum (Action)

Apenas saída. Um enum que indica uma ação necessária para este registro.

Tipo

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

Enums
TYPE_UNSPECIFIED O tipo do registro não foi especificado. A mensagem será inválida se isso não for especificado.
A Um registro A, conforme definido na RFC 1035 (em inglês). Os registros A determinam para quais endereços IPv4 um nome de domínio direciona o tráfego.
CNAME Um registro CNAME, conforme definido na RFC 1035 (em inglês). Os registros CNAME ou de nome canônico mapeiam um nome de domínio para outro nome de domínio canônico. Se houver um registro CNAME, ele deverá ser o único registro no nome de domínio.
TXT Um registro TXT, conforme definido na RFC 1035 (em inglês). Os registros TXT contêm dados de texto arbitrários em um nome de domínio. O Hosting usa registros TXT para estabelecer qual projeto do Firebase tem permissão para agir 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 (link em inglês). Os registros CAA, ou Autorização de autoridade de certificação, determinam quais autoridades certificadoras (organizações de construção de certificados SSL) estão autorizadas a produzir um certificado para o nome de domínio. O Firebase Hosting usa pki.goog como a CA principal.

Os registros CAA são em cascata. 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 os pais dele não tiverem registros CAA, todas as CAs estarão autorizadas a culinar certificados em nome dele. Em geral, o Hosting pede que você modifique os registros CAA apenas quando isso é necessário para desbloquear a criação de certificados SSL.

Ação

"Action" é um tipo de ação a ser realizada nesse registro DNS para configurar seu domínio para uso com o Firebase Hosting.

Enums
NONE Nenhuma ação é necessária.
ADD Adicione esse registro aos seus registros DNS.
REMOVE Remova esse 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 foi especificado. A mensagem será inválida se isso 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 para o 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 para o plano Blaze. um certificado que abrange um único nome de domínio.

Certificado

Um certificado SSL usado para fornecer criptografia de ponta a ponta para solicitações referentes ao seu nome de domínio. Um Certificate pode ser um certificado SSL real ou, para domínios personalizados recém-criados, a intenção do 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 oferecem cobertura SSL para um nome de domínio. Se o estado for PROPAGATING e o Hosting tiver um certificado ativo para o nome de domínio antes, esse certificado anteriormente ativo vai 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 da ACME que você pode adicionar aos seus registros DNS ou ao provedor de hospedagem que não é do Hosting para permitir que o Hosting crie um certificado SSL para 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 sem tempo de inatividade do seu provedor antigo para o Hosting.

issues[]

object (Status)

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

createTime

string (Timestamp format)

Apenas saída. A hora de criação do certificado. Para os certificados TEMPORARY, esse é o momento em que o Hosting gerou os desafios pela primeira vez para seu nome de domínio. Para todos os outros tipos, esse é o horário em que o certificado 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)

Apenas saída. O prazo de validade do certificado. Depois disso, o certificado não poderá mais ser usado para fornecer uma comunicação segura entre o Hosting e os visitantes do 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".

Certificado

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

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

VerificaçãodeCertificado

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

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

object (DnsUpdates)

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

http

object (HttpUpdate)

Apenas saída. Um arquivo para adicionar ao seu serviço de hospedagem não hospedado e que confirma sua intenção de permitir que o Hosting crie um certificado SSL para seu nome de domínio.

Atualização HTTP

Um arquivo que pode ser adicionado ao seu serviço de hospedagem atual e não hospedado que confirme sua intenção de permitir que as autoridades de certificação do Hosting criem um certificado SSL para seu domínio.

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

string

Apenas saída. O caminho para o arquivo.

desired

string

Apenas saída. Uma string de texto a ser exibida no caminho.

discovered

string

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

lastCheckTime

string (Timestamp format)

Apenas saída. A última vez que os sistemas do Hosting 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)

Apenas saída. Ocorreu um erro na última verificação de conteúdo. Se nulo, a verificação foi concluída com sucesso.

Métodos

create

Cria uma CustomDomain.

delete

Exclui o CustomDomain especificado.

get

Recebe o CustomDomain especificado.

list

Lista cada CustomDomain associado ao site pai especificado do Hosting.

patch

Atualiza o CustomDomain especificado.

undelete

Cancela a exclusão do CustomDomain especificado se ele tiver sido excluído de maneira reversível.