REST Resource: projects.sites.customDomains

Recurso: Dominio personalizado

Un CustomDomain es una entidad que vincula un nombre de dominio a un sitio de Firebase Hosting. Agregue un CustomDomain a su sitio para permitir que Hosting proporcione el contenido del sitio en respuesta a las solicitudes de su nombre de dominio.

Representación 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

Sólo salida. El nombre completo del CustomDomain .

annotations

map (key: string, value: string)

Anotaciones que puede agregar para dejar metadatos legibles por humanos y máquinas sobre su CustomDomain .

Un objeto que contiene una lista de pares "key": value . Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

createTime

string ( Timestamp format)

Sólo salida. Hora de creación del dominio personalizado.

Una marca de tiempo en formato RFC3339 UTC "Zulu", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z" .

updateTime

string ( Timestamp format)

Sólo salida. La última vez que se actualizó CustomDomain .

Una marca de tiempo en formato RFC3339 UTC "Zulu", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z" .

deleteTime

string ( Timestamp format)

Sólo salida. La hora en que se eliminó el CustomDomain ; nulo para dominios personalizados que no se han eliminado. Los dominios personalizados eliminados persisten durante aproximadamente 30 días, después de lo cual Hosting los elimina por completo. Para restaurar un dominio personalizado eliminado, realice una solicitud customDomains.undelete .

Una marca de tiempo en formato RFC3339 UTC "Zulu", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

Sólo salida. El tiempo mínimo antes de que un CustomDomain eliminado temporalmente se elimine completamente del Hosting; nulo para dominios personalizados que no se han eliminado.

Una marca de tiempo en formato RFC3339 UTC "Zulu", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z" .

etag

string

Sólo salida. Una cadena que representa el estado actual del CustomDomain y le permite confirmar su estado inicial en solicitudes que lo modificarían. Utilice la etiqueta para garantizar la coherencia al realizar solicitudes customDomains.patch , customDomains.delete y customDomains.undelete .

hostState

enum ( HostState )

Sólo salida. El HostState del nombre de dominio al que hace referencia este CustomDomain .

ownershipState

enum ( OwnershipState )

Sólo salida. El OwnershipState del nombre de dominio al que hace referencia este CustomDomain .

requiredDnsUpdates

object ( DnsUpdates )

Sólo salida. Un conjunto de actualizaciones que debes realizar en los registros DNS del nombre de dominio para permitir que Hosting proporcione contenido seguro en su nombre.

issues[]

object ( Status )

Sólo salida. Un conjunto de errores que los sistemas de hosting encontraron al intentar establecer la capacidad del hosting para ofrecer contenido seguro para su nombre de dominio. Resuelva estos problemas para garantizar que su CustomDomain se comporte correctamente.

certPreference

enum ( Type )

Un campo que le permite especificar qué tipo de certificado SSL crea Hosting para su nombre de dominio. Los dominios personalizados del plan Spark solo tienen acceso al tipo de certificado GROUPED , mientras que los dominios del plan Blaze pueden seleccionar cualquier opción.

cert

object ( Certificate )

Sólo salida. El certificado SSL que Hosting tiene para el nombre de dominio de este dominio personalizado. Para dominios personalizados nuevos, esto a menudo representa la intención de Hosting de crear un certificado, en lugar de un certificado real. Consulte el campo state para obtener más información.

redirectTarget

string

Un nombre de dominio hacia el que este CustomDomain debe dirigir el tráfico. Si se especifica, Hosting responderá a las solicitudes de este dominio personalizado con un código HTTP 301 y, en su lugar, enrutará el tráfico al redirectTarget especificado.

reconciling

boolean

Sólo salida. Un campo que, si es verdadero, indica que los sistemas de Hosting están intentando hacer que el estado del dominio personalizado coincida con su estado preferido. Esto true con mayor frecuencia cuando se aprovisiona inicialmente un CustomDomain después de una solicitud customDomains.create o cuando se crea un nuevo certificado SSL para que coincida con una certPreference actualizada después de una solicitud customDomains.patch .

labels

map (key: string, value: string)

Etiquetas utilizadas para metadatos y/o filtrado adicionales.

Un objeto que contiene una lista de pares "key": value . Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

Estado anfitrión

El estado de host de su nombre de dominio. El estado del host se determina verificando cada dirección IP asociada con su nombre de dominio para ver si ofrece contenido de Hosting.

Enumeraciones
HOST_STATE_UNSPECIFIED El estado del host de su dominio personalizado no está especificado. El mensaje no es válido si no se especifica.
HOST_UNHOSTED El nombre de dominio de su dominio personalizado no está asociado con ninguna dirección IP.
HOST_UNREACHABLE No se puede acceder al nombre de dominio de su dominio personalizado. Las consultas DNS de los servicios de hosting para encontrar las direcciones IP de su nombre de dominio dieron como resultado errores. Consulte el campo issues de su objeto CustomDomain para obtener más detalles.
HOST_MISMATCH El nombre de dominio de su dominio personalizado tiene direcciones IP que, en última instancia, no se resuelven en Hosting.
HOST_CONFLICT El nombre de dominio de su dominio personalizado tiene direcciones IP que se resuelven tanto en Hosting como en otros servicios. Para garantizar resultados consistentes, elimine los registros A y AAAA relacionados con servicios que no sean de Hosting.
HOST_ACTIVE Todas las solicitudes realizadas contra el nombre de dominio de su dominio personalizado son atendidas por Hosting. Si el OwnershipState del dominio personalizado también es ACTIVE , Hosting ofrece el contenido de su sitio de Hosting en el nombre de dominio.

PropiedadEstado

El estado de propiedad de su dominio. Un dominio puede ser propiedad de como máximo un sitio de alojamiento de Firebase. La propiedad se puede determinar de dos maneras:

* 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.

Si su CustomDomain está en un OwnershipState distinto de OWNERSHIP_ACTIVE durante más de 30 días y no se ha actualizado en al menos 30 días, los sistemas de propiedad de Hosting eliminan el CustomDomain . Para restaurar un CustomDomain eliminado, realice una solicitud customDomains.undelete .

Enumeraciones
OWNERSHIP_STATE_UNSPECIFIED El estado de propiedad de su dominio personalizado no está especificado. Esto nunca debería suceder.
OWNERSHIP_MISSING El nombre de dominio de su dominio personalizado no tiene registros de propiedad relacionados con el alojamiento; ningún proyecto de Firebase tiene permiso para actuar en nombre del nombre de dominio.
OWNERSHIP_UNREACHABLE No se puede acceder al nombre de dominio de su dominio personalizado. Las consultas de DNS de los servicios de hosting para encontrar los registros de propiedad de su nombre de dominio dieron como resultado errores. Consulte el campo issues de su objeto CustomDomain para obtener más detalles.
OWNERSHIP_MISMATCH El nombre de dominio de tu dominio personalizado pertenece a otro proyecto de Firebase. Elimine los registros TXT en conflicto y reemplácelos con registros específicos del proyecto para su proyecto actual de Firebase.
OWNERSHIP_CONFLICT El nombre de dominio de tu dominio personalizado tiene registros TXT contradictorios que indican propiedad tanto de tu proyecto actual de Firebase como de otro proyecto. Elimine los registros de propiedad del otro proyecto para otorgar la propiedad del proyecto actual.
OWNERSHIP_PENDING Los registros DNS de su dominio personalizado están configurados correctamente. Hosting transferirá la propiedad de su dominio a este CustomDomain dentro de las 24 horas.
OWNERSHIP_ACTIVE El nombre de dominio de su dominio personalizado tiene registros TXT que otorgan permiso a su proyecto para actuar en su nombre.

Actualizaciones de Dns

Un conjunto de actualizaciones de registros DNS que debe realizar para permitir que Hosting proporcione contenido seguro en respuesta a solicitudes de su nombre de dominio. Estas actualizaciones presentan el estado actual de los registros DNS de su nombre de dominio cuando Hosting los consultó por última vez, y el conjunto deseado de registros que Hosting necesita ver antes de que su dominio personalizado pueda estar completamente activo.

Representación JSON
{
  "discovered": [
    {
      object (DnsRecordSet)
    }
  ],
  "desired": [
    {
      object (DnsRecordSet)
    }
  ],
  "checkTime": string
}
Campos
discovered[]

object ( DnsRecordSet )

El conjunto de registros DNS que Hosting descubre al inspeccionar un dominio.

desired[]

object ( DnsRecordSet )

El conjunto de registros DNS que Hosting necesita para ofrecer contenido seguro en el dominio.

checkTime

string ( Timestamp format)

La última vez que Hosting verificó los registros DNS de tu dominio personalizado.

Una marca de tiempo en formato RFC3339 UTC "Zulu", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z" .

DnsRecordSet

Un conjunto de registros DNS relevantes para la configuración y el mantenimiento de un dominio personalizado en Firebase Hosting.

Representación JSON
{
  "domainName": string,
  "checkError": {
    object (Status)
  },
  "records": [
    {
      object (DnsRecord)
    }
  ]
}
Campos
domainName

string

Sólo salida. El nombre de dominio al que pertenece el conjunto de registros.

checkError

object ( Status )

Sólo salida. Se encontró un error en los servicios de hosting al consultar los registros DNS de su nombre de dominio. Nota: Hosting ignora los errores NXDOMAIN , ya que generalmente solo significan que aún no se ha configurado un nombre de dominio.

records[]

object ( DnsRecord )

Sólo salida. Registros en el dominio.

Registro DNS

Los registros DNS son registros de recursos que definen cómo deben comportarse los sistemas y servicios al manejar solicitudes de un nombre de dominio. Por ejemplo, cuando agrega registros A a los registros DNS de su nombre de dominio, está informando a otros sistemas (como los navegadores web de sus usuarios) que se comuniquen con esas direcciones IPv4 para recuperar recursos relevantes para su nombre de dominio (como los archivos de su sitio de alojamiento). ).

Representación JSON
{
  "domainName": string,
  "type": enum (Type),
  "rdata": string,
  "requiredAction": enum (Action)
}
Campos
domainName

string

Sólo salida. El nombre de dominio al que pertenece el registro, por ejemplo foo.bar.com. .

type

enum ( Type )

Sólo salida. El tipo de registro, que determina qué datos contiene el registro.

rdata

string

Sólo salida. Los datos del expediente. El significado del valor depende del tipo de registro: - A y AAAA: direcciones IP del nombre de dominio. - CNAME: Otro dominio para buscar registros. - TXT: Cadenas de texto arbitrarias asociadas al nombre de dominio. Hosting utiliza registros TXT para determinar qué proyectos de Firebase tienen permiso para actuar en nombre del nombre de dominio. - CAA: indicadores, etiquetas y valores del registro, por ejemplo 0 issue "pki.goog" .

requiredAction

enum ( Action )

Sólo salida. Una enumeración que indica la acción requerida para este registro.

Tipo

El tipo de registro DNS, incluidos A , TXT , AAAA y CAA .

Enumeraciones
TYPE_UNSPECIFIED El tipo de registro no está especificado. El mensaje no es válido si no se especifica.
A Un registro A , tal como se define en RFC 1035 . Los registros determinan a qué direcciones IPv4 dirige el tráfico un nombre de dominio.
CNAME Un registro CNAME , tal como se define en RFC 1035 . Los registros CNAME o de nombre canónico asignan un nombre de dominio a un nombre de dominio canónico diferente. Si hay un registro CNAME , debería ser el único registro en el nombre de dominio.
TXT Un registro TXT , tal como se define en RFC 1035 . Los registros TXT contienen datos de texto arbitrarios en un nombre de dominio. El hosting utiliza registros TXT para establecer qué proyecto Firebase tiene permiso para actuar en un nombre de dominio.
AAAA Un registro AAAA, tal como se define en RFC 3596 , los registros AAAA determinan hacia qué direcciones IPv6 dirige un nombre de dominio el tráfico.
CAA

Un registro CAA, tal como se define en RFC 6844 . Los registros CAA, o Autorización de autoridad de certificación, determinan qué autoridades de certificación (organizaciones de acuñación de certificados SSL) están autorizadas para acuñar un certificado para el nombre de dominio. Firebase Hosting utiliza pki.goog como su CA principal.

Cascada de registros CAA. Un registro CAA en foo.com también se aplica a bar.foo.com a menos que bar.foo.com tenga su propio conjunto de registros CAA.

Los registros CAA son opcionales. Si un nombre de dominio y sus padres no tienen registros CAA, todas las CA están autorizadas a emitir certificados en su nombre. En general, Hosting solo le pide que modifique los registros CAA cuando es necesario hacerlo para desbloquear la creación de certificados SSL.

Acción

La acción es un tipo de acción que debes realizar en este registro DNS para configurar tu dominio para usarlo con Firebase Hosting.

Enumeraciones
NONE No es necesaria ninguna acción.
ADD Agregue este registro a sus registros DNS.
REMOVE Elimine este registro de sus registros DNS.

Tipo

El tipo de certificado. Determina cómo los sistemas de alojamiento manejan la creación y el mantenimiento del certificado.

Enumeraciones
TYPE_UNSPECIFIED El tipo de certificado no está especificado. El mensaje no es válido si no se especifica.
TEMPORARY Un tipo de certificado de corta duración que cubre un nombre de dominio temporalmente, mientras que Hosting crea un certificado más permanente.
GROUPED El certificado estándar para dominios personalizados del plan Spark.
PROJECT_GROUPED Sólo plan Blaze. Un certificado que cubre de 1 a 100 nombres de dominio con dominios personalizados en el mismo proyecto de Firebase.
DEDICATED Sólo plan Blaze. Un certificado que cubre un único nombre de dominio.

Certificado

Un certificado SSL utilizado para proporcionar cifrado de extremo a extremo para solicitudes relacionadas con su nombre de dominio. Un Certificate puede ser un certificado SSL real o, para dominios personalizados recién creados, la intención de Hosting de crear uno.

Representación JSON
{
  "type": enum (Type),
  "state": enum (CertState),
  "verification": {
    object (CertVerification)
  },
  "issues": [
    {
      object (Status)
    }
  ],
  "createTime": string,
  "expireTime": string
}
Campos
type

enum ( Type )

Sólo salida. El tipo de certificado.

state

enum ( CertState )

Sólo salida. El estado del certificado. Solo los estados CERT_ACTIVE y CERT_EXPIRING_SOON brindan cobertura SSL para un nombre de dominio. Si el estado es PROPAGATING y Hosting tenía un certificado activo para el nombre de dominio anteriormente, ese certificado anteriormente activo proporciona cobertura SSL para el nombre de dominio hasta que se propague el certificado actual.

verification

object ( CertVerification )

Sólo salida. Un conjunto de desafíos ACME que puede agregar a sus registros DNS o a su proveedor de alojamiento existente que no pertenece a Hosting para permitir que Hosting cree un certificado SSL para su nombre de dominio antes de dirigir el tráfico hacia el alojamiento. Puede utilizar estos desafíos como parte de una transición sin tiempo de inactividad de su antiguo proveedor a Hosting.

issues[]

object ( Status )

Sólo salida. Un conjunto de errores que Hosting encontró al intentar crear un certificado para su nombre de dominio. Resuelva estos problemas para garantizar que Hosting pueda proporcionar una comunicación segura con los visitantes de su sitio.

createTime

string ( Timestamp format)

Sólo salida. La hora de creación del certificado. Para los certificados TEMPORARY , este es el momento en que Hosting generó por primera vez desafíos para su nombre de dominio. Para todos los demás tipos de certificados, es la hora en que se creó el certificado real.

Una marca de tiempo en formato RFC3339 UTC "Zulu", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

Sólo salida. La hora de vencimiento del certificado. Después de este tiempo, el certificado ya no se podrá utilizar para proporcionar una comunicación segura entre Hosting y los visitantes de su sitio.

Una marca de tiempo en formato RFC3339 UTC "Zulu", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z" .

Estado del certificado

El estado del certificado SSL que Hosting tiene para tu nombre de dominio. Esto puede representar el estado del certificado real o, para nuevos dominios personalizados, el intento de Hosting de crear un certificado.

Enumeraciones
CERT_STATE_UNSPECIFIED El estado del certificado no está especificado. El mensaje no es válido si no se especifica.
CERT_PREPARING El estado inicial de cada certificado representa la intención de Hosting de crear un certificado, antes de que se realicen solicitudes a una Autoridad de Certificación.
CERT_VALIDATING El alojamiento consiste en validar si los registros DNS de un nombre de dominio se encuentran en un estado que permite la creación de certificados en su nombre.
CERT_PROPAGATING El certificado fue creado recientemente y necesita tiempo para propagarse en el CDN de Hosting.
CERT_ACTIVE El certificado está activo y proporciona conexiones seguras para los nombres de dominio que representa.
CERT_EXPIRING_SOON El certificado está caducando, todos los nombres de dominio que contenga recibirán certificados nuevos.
CERT_EXPIRED El certificado ha caducado. El hosting ya no puede ofrecer contenido seguro en su nombre de dominio.

Verificación de certificado

Un conjunto de desafíos ACME que puede utilizar para permitir que Hosting cree un certificado SSL para su nombre de dominio antes de dirigir el tráfico a los servidores de Hosting. Utilice el desafío DNS o HTTP; no es necesario proporcionar ambos.

Representación JSON
{
  "dns": {
    object (DnsUpdates)
  },
  "http": {
    object (HttpUpdate)
  }
}
Campos
dns

object ( DnsUpdates )

Sólo salida. Un registro TXT para agregar a sus registros DNS que confirma su intención de permitir que Hosting cree un certificado SSL para su nombre de dominio.

http

object ( HttpUpdate )

Sólo salida. Un archivo para agregar a su servicio de hosting existente que no es de Hosting y que confirma su intención de permitir que Hosting cree un certificado SSL para su nombre de dominio.

Actualización HTTP

Un archivo que puede agregar a su servicio de hosting existente que no es de Hosting y que confirma su intención de permitir que las autoridades certificadoras de Hosting creen un certificado SSL para su dominio.

Representación JSON
{
  "path": string,
  "desired": string,
  "discovered": string,
  "lastCheckTime": string,
  "checkError": {
    object (Status)
  }
}
Campos
path

string

Sólo salida. La ruta al archivo.

desired

string

Sólo salida. Una cadena de texto para servir en la ruta.

discovered

string

Sólo salida. Si Hosting pudo encontrar el contenido del archivo requerido en la ruta especificada durante su última verificación.

lastCheckTime

string ( Timestamp format)

Sólo salida. La última vez que los sistemas de hosting verificaron el contenido del archivo.

Una marca de tiempo en formato RFC3339 UTC "Zulu", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z" .

checkError

object ( Status )

Sólo salida. Se encontró un error durante la última verificación de contenido. Si es nulo, la verificación se completó con éxito.

Métodos

create

Crea un CustomDomain .

delete

Elimina el CustomDomain especificado.

get

Obtiene el CustomDomain especificado.

list

Enumera cada CustomDomain asociado con el sitio de alojamiento principal especificado.

patch

Actualiza el CustomDomain especificado.

undelete

Recupera el CustomDomain especificado si se ha eliminado temporalmente.