REST Resource: projects.sites.customDomains

Ressource : Domaine personnalisé

Un CustomDomain est une entité qui relie un nom de domaine à un site d'hébergement Firebase. Ajoutez un CustomDomain à votre site pour permettre à l'hébergement de diffuser le contenu du site en réponse aux demandes concernant votre nom de domaine.

Représentation 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,
    ...
  }
}
Des champs
name

string

Sortie uniquement. Nom complet du CustomDomain .

annotations

map (key: string, value: string)

Annotations que vous pouvez ajouter pour laisser des métadonnées lisibles par l'homme et par la machine sur votre CustomDomain .

Un objet contenant une liste de paires "key": value . Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" } .

createTime

string ( Timestamp format)

Sortie uniquement. L'heure de création du domaine personnalisé.

Un horodatage au format RFC3339 UTC "Zulu", avec une résolution en nanosecondes et jusqu'à neuf chiffres fractionnaires. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z" .

updateTime

string ( Timestamp format)

Sortie uniquement. La dernière fois que le CustomDomain a été mis à jour.

Un horodatage au format RFC3339 UTC "Zulu", avec une résolution en nanosecondes et jusqu'à neuf chiffres fractionnaires. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z" .

deleteTime

string ( Timestamp format)

Sortie uniquement. L’heure à laquelle le CustomDomain a été supprimé ; null pour les domaines personnalisés qui n'ont pas été supprimés. Les domaines personnalisés supprimés persistent pendant environ 30 jours, après quoi Hosting les supprime complètement. Pour restaurer un domaine personnalisé supprimé, effectuez une requête customDomains.undelete .

Un horodatage au format RFC3339 UTC "Zulu", avec une résolution en nanosecondes et jusqu'à neuf chiffres fractionnaires. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

Sortie uniquement. Le temps minimum avant qu'un CustomDomain supprimé de manière réversible soit complètement supprimé de l'hébergement ; null pour les domaines personnalisés qui n'ont pas été supprimés.

Un horodatage au format RFC3339 UTC "Zulu", avec une résolution en nanosecondes et jusqu'à neuf chiffres fractionnaires. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z" .

etag

string

Sortie uniquement. Chaîne qui représente l'état actuel du CustomDomain et permet de confirmer son état initial dans les requêtes qui le modifieraient. Utilisez la balise pour garantir la cohérence lors des requêtes customDomains.patch , customDomains.delete et customDomains.undelete .

hostState

enum ( HostState )

Sortie uniquement. L' HostState du nom de domaine auquel ce CustomDomain fait référence.

ownershipState

enum ( OwnershipState )

Sortie uniquement. Le OwnershipState du nom de domaine auquel ce CustomDomain fait référence.

requiredDnsUpdates

object ( DnsUpdates )

Sortie uniquement. Un ensemble de mises à jour que vous devez apporter aux enregistrements DNS du nom de domaine pour permettre à l'hébergement de diffuser du contenu sécurisé en son nom.

issues[]

object ( Status )

Sortie uniquement. Un ensemble d'erreurs rencontrées par les systèmes d'hébergement lors de la tentative d'établir la capacité de l'hébergement à proposer du contenu sécurisé pour votre nom de domaine. Résolvez ces problèmes pour garantir que votre CustomDomain se comporte correctement.

certPreference

enum ( Type )

Un champ qui vous permet de spécifier quel type de certificat SSL Hosting crée pour votre nom de domaine. Les domaines personnalisés du plan Spark n'ont accès qu'au type de certificat GROUPED , tandis que les domaines du plan Blaze peuvent sélectionner n'importe quelle option.

cert

object ( Certificate )

Sortie uniquement. Le certificat SSL que Hosting possède pour le nom de domaine de ce domaine personnalisé. Pour les nouveaux domaines personnalisés, cela représente souvent l'intention de l'hébergement de créer un certificat, plutôt qu'un véritable certificat. Vérifiez le champ state pour en savoir plus.

redirectTarget

string

Un nom de domaine vers lequel ce CustomDomain doit diriger le trafic. S'il est spécifié, l'hébergement répondra aux demandes adressées à ce domaine personnalisé avec un code HTTP 301 et acheminera le trafic vers la redirectTarget spécifiée.

reconciling

boolean

Sortie uniquement. Un champ qui, s'il est vrai, indique que les systèmes d'hébergement tentent de faire correspondre l'état du domaine personnalisé à votre état préféré. Cela est le plus souvent true lors du provisionnement initial d'un CustomDomain après une requête customDomains.create ou lors de la création d'un nouveau certificat SSL pour correspondre à une certPreference mise à jour après une requête customDomains.patch .

labels

map (key: string, value: string)

Étiquettes utilisées pour des métadonnées supplémentaires et/ou du filtrage.

Un objet contenant une liste de paires "key": value . Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" } .

État hôte

L'état hôte de votre nom de domaine. L'état de l'hôte est déterminé en vérifiant chaque adresse IP associée à votre nom de domaine pour voir si elle diffuse du contenu d'hébergement.

Énumérations
HOST_STATE_UNSPECIFIED L'état d'hôte de votre domaine personnalisé n'est pas spécifié. Le message n'est pas valide si cela n'est pas spécifié.
HOST_UNHOSTED Le nom de domaine de votre domaine personnalisé n'est associé à aucune adresse IP.
HOST_UNREACHABLE Le nom de domaine de votre domaine personnalisé n'est pas accessible. Les requêtes DNS des services d'hébergement pour trouver les adresses IP de votre nom de domaine ont entraîné des erreurs. Consultez le champ issues de votre objet CustomDomain pour plus de détails.
HOST_MISMATCH Le nom de domaine de votre domaine personnalisé possède des adresses IP qui ne sont finalement pas résolues en hébergement.
HOST_CONFLICT Le nom de domaine de votre domaine personnalisé possède des adresses IP qui correspondent à la fois à l'hébergement et à d'autres services. Pour garantir des résultats cohérents, supprimez les enregistrements A et AAAA liés aux services non-hébergement.
HOST_ACTIVE Toutes les demandes concernant le nom de domaine de votre domaine personnalisé sont traitées par l'hébergement. Si le OwnershipState du domaine personnalisé est également ACTIVE , Hosting diffuse le contenu de votre site d'hébergement sur le nom de domaine.

État de propriété

L'état de propriété de votre domaine. Un domaine peut appartenir à au plus un site d'hébergement Firebase. La propriété peut être déterminée de deux manières :

* 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 votre CustomDomain est dans un OwnershipState autre que OWNERSHIP_ACTIVE depuis plus de 30 jours et qu'il n'a pas été mis à jour depuis au moins 30 jours, les systèmes de propriété de l'hébergement suppriment le CustomDomain . Pour restaurer un CustomDomain supprimé, effectuez une requête customDomains.undelete .

Énumérations
OWNERSHIP_STATE_UNSPECIFIED L'état de propriété de votre domaine personnalisé n'est pas spécifié. Cela ne devrait jamais arriver.
OWNERSHIP_MISSING Le nom de domaine de votre domaine personnalisé n'a aucun enregistrement de propriété lié à l'hébergement ; aucun projet Firebase n'est autorisé à agir au nom du nom de domaine.
OWNERSHIP_UNREACHABLE Le nom de domaine de votre domaine personnalisé n'est pas accessible. Les requêtes DNS des services d'hébergement pour trouver les enregistrements de propriété de votre nom de domaine ont entraîné des erreurs. Consultez le champ issues de votre objet CustomDomain pour plus de détails.
OWNERSHIP_MISMATCH Le nom de domaine de votre domaine personnalisé appartient à un autre projet Firebase. Supprimez les enregistrements TXT en conflit et remplacez-les par des enregistrements spécifiques au projet pour votre projet Firebase actuel.
OWNERSHIP_CONFLICT Le nom de domaine de votre domaine personnalisé comporte des enregistrements TXT contradictoires qui indiquent la propriété de votre projet Firebase actuel et d'un autre projet. Supprimez les enregistrements de propriété de l'autre projet pour accorder la propriété actuelle du projet.
OWNERSHIP_PENDING Les enregistrements DNS de votre domaine personnalisé sont correctement configurés. L'hébergement transférera la propriété de votre domaine à ce CustomDomain dans les 24 heures.
OWNERSHIP_ACTIVE Le nom de domaine de votre domaine personnalisé comporte des enregistrements TXT qui accordent à son projet l'autorisation d'agir en son nom.

Mises à jour DNS

Un ensemble de mises à jour d'enregistrements DNS que vous devez effectuer pour permettre à l'hébergement de proposer du contenu sécurisé en réponse aux demandes concernant votre nom de domaine. Ces mises à jour présentent l'état actuel des enregistrements DNS de votre nom de domaine lors de la dernière requête de l'hébergement, ainsi que l'ensemble d'enregistrements souhaité que l'hébergement doit voir avant que votre domaine personnalisé puisse être pleinement actif.

Représentation JSON
{
  "discovered": [
    {
      object (DnsRecordSet)
    }
  ],
  "desired": [
    {
      object (DnsRecordSet)
    }
  ],
  "checkTime": string
}
Des champs
discovered[]

object ( DnsRecordSet )

L'ensemble des enregistrements DNS que l'hébergement a découverts lors de l'inspection d'un domaine.

desired[]

object ( DnsRecordSet )

L'ensemble des enregistrements DNS dont l'hébergement a besoin pour servir du contenu sécurisé sur le domaine.

checkTime

string ( Timestamp format)

La dernière fois que Hosting a vérifié les enregistrements DNS de votre domaine personnalisé.

Un horodatage au format RFC3339 UTC "Zulu", avec une résolution en nanosecondes et jusqu'à neuf chiffres fractionnaires. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z" .

DnsRecordSet

Un ensemble d'enregistrements DNS pertinents pour la configuration et la maintenance d'un domaine personnalisé dans Firebase Hosting.

Représentation JSON
{
  "domainName": string,
  "checkError": {
    object (Status)
  },
  "records": [
    {
      object (DnsRecord)
    }
  ]
}
Des champs
domainName

string

Sortie uniquement. Nom de domaine auquel appartient le jeu d'enregistrements.

checkError

object ( Status )

Sortie uniquement. Une erreur des services d'hébergement rencontrée lors de l'interrogation des enregistrements DNS de votre nom de domaine. Remarque : L'hébergement ignore les erreurs NXDOMAIN , car celles-ci signifient généralement simplement qu'un nom de domaine n'a pas encore été configuré.

records[]

object ( DnsRecord )

Sortie uniquement. Enregistrements sur le domaine.

Enregistrement DNS

Les enregistrements DNS sont des enregistrements de ressources qui définissent le comportement des systèmes et des services lors du traitement des demandes de nom de domaine. Par exemple, lorsque vous ajoutez des enregistrements A aux enregistrements DNS de votre nom de domaine, vous informez d'autres systèmes (tels que les navigateurs Web de vos utilisateurs) de contacter ces adresses IPv4 pour récupérer les ressources pertinentes pour votre nom de domaine (telles que les fichiers de votre site d'hébergement). ).

Représentation JSON
{
  "domainName": string,
  "type": enum (Type),
  "rdata": string,
  "requiredAction": enum (Action)
}
Des champs
domainName

string

Sortie uniquement. Le nom de domaine auquel l'enregistrement se rapporte, par exemple foo.bar.com. .

type

enum ( Type )

Sortie uniquement. Le type de l'enregistrement, qui détermine les données que l'enregistrement contient.

rdata

string

Sortie uniquement. Les données de l'enregistrement. La signification de la valeur dépend du type d'enregistrement : - A et AAAA : adresses IP du nom de domaine. - CNAME : Un autre domaine pour vérifier les enregistrements. - TXT : Chaînes de texte arbitraires associées au nom de domaine. L'hébergement utilise les enregistrements TXT pour déterminer quels projets Firebase sont autorisés à agir au nom du nom de domaine. - CAA : les indicateurs, la balise et la valeur de l'enregistrement, par exemple 0 issue "pki.goog" .

requiredAction

enum ( Action )

Sortie uniquement. Une énumération qui indique l'action requise pour cet enregistrement.

Taper

Type de l'enregistrement DNS, notamment A , TXT , AAAA et CAA .

Énumérations
TYPE_UNSPECIFIED Le type de l'enregistrement n'est pas spécifié. Le message n'est pas valide si cela n'est pas spécifié.
A Un enregistrement A , tel que défini dans la RFC 1035 . Un enregistrement détermine vers quelles adresses IPv4 un nom de domaine dirige le trafic.
CNAME Un enregistrement CNAME , tel que défini dans RFC 1035 . Les enregistrements CNAME ou Canonical Name mappent un nom de domaine à un autre nom de domaine canonique. Si un enregistrement CNAME est présent, il doit être le seul enregistrement sur le nom de domaine.
TXT Un enregistrement TXT , tel que défini dans la RFC 1035 . Les enregistrements TXT contiennent des données texte arbitraires sur un nom de domaine. L'hébergement utilise des enregistrements TXT pour établir quel projet Firebase est autorisé à agir sur un nom de domaine.
AAAA Un enregistrement AAAA, tel que défini dans la RFC 3596, les enregistrements AAAA déterminent vers quelles adresses IPv6 un nom de domaine dirige le trafic.
CAA

Un enregistrement CAA, tel que défini dans la RFC 6844 . Les enregistrements CAA, ou Certificate Authority Authorization, déterminent quelles autorités de certification (organisations de création de certificats SSL) sont autorisées à créer un certificat pour le nom de domaine. Firebase Hosting utilise pki.goog comme autorité de certification principale.

Cascade d’enregistrements CAA. Un enregistrement CAA sur foo.com s'applique également à bar.foo.com , sauf si bar.foo.com possède son propre ensemble d'enregistrements CAA.

Les enregistrements CAA sont facultatifs. Si un nom de domaine et ses parents n'ont pas d'enregistrement CAA, toutes les autorités de certification sont autorisées à créer des certificats en son nom. En général, l'hébergement vous demande uniquement de modifier les enregistrements CAA lorsque cela est nécessaire pour débloquer la création de certificats SSL.

Action

L'action est un type d'action que vous devez entreprendre sur cet enregistrement DNS pour configurer votre domaine à utiliser avec Firebase Hosting.

Énumérations
NONE Aucune action nécessaire.
ADD Ajoutez cet enregistrement à vos enregistrements DNS.
REMOVE Supprimez cet enregistrement de vos enregistrements DNS.

Taper

Le type du certificat. Détermine la manière dont les systèmes d’hébergement gèrent la création et la maintenance du certificat.

Énumérations
TYPE_UNSPECIFIED Le type du certificat n'est pas précisé. Le message n'est pas valide si cela n'est pas spécifié.
TEMPORARY Un type de certificat de courte durée qui couvre temporairement un nom de domaine, tandis que l'hébergement crée un certificat plus permanent.
GROUPED Le certificat standard pour les domaines personnalisés du plan Spark.
PROJECT_GROUPED Plan Blaze uniquement. Un certificat qui couvre de 1 à 100 noms de domaine avec des domaines personnalisés sur le même projet Firebase.
DEDICATED Plan Blaze uniquement. Un certificat qui couvre un seul nom de domaine.

Certificat

Un certificat SSL utilisé pour fournir un cryptage de bout en bout pour les requêtes concernant votre nom de domaine. Un Certificate peut être un véritable certificat SSL ou, pour les domaines personnalisés nouvellement créés, l'intention de l'hébergement d'en créer un.

Représentation JSON
{
  "type": enum (Type),
  "state": enum (CertState),
  "verification": {
    object (CertVerification)
  },
  "issues": [
    {
      object (Status)
    }
  ],
  "createTime": string,
  "expireTime": string
}
Des champs
type

enum ( Type )

Sortie uniquement. Le type du certificat.

state

enum ( CertState )

Sortie uniquement. L'état du certificat. Seuls les états CERT_ACTIVE et CERT_EXPIRING_SOON fournissent une couverture SSL pour un nom de domaine. Si l'état est PROPAGATING et que l'hébergement disposait auparavant d'un certificat actif pour le nom de domaine, ce certificat anciennement actif fournit une couverture SSL pour le nom de domaine jusqu'à ce que le certificat actuel se propage.

verification

object ( CertVerification )

Sortie uniquement. Un ensemble de défis ACME que vous pouvez ajouter à vos enregistrements DNS ou à votre fournisseur d'hébergement existant non-hébergeur pour permettre à Hosting de créer un certificat SSL pour votre nom de domaine avant de diriger le trafic vers l'hébergement. Vous pouvez utiliser ces défis dans le cadre d’une transition sans temps d’arrêt de votre ancien fournisseur vers l’hébergement.

issues[]

object ( Status )

Sortie uniquement. Un ensemble d'erreurs que l'hébergement a rencontrées lors de la tentative de création d'un certificat pour votre nom de domaine. Résolvez ces problèmes pour garantir que l'hébergement est capable de fournir une communication sécurisée avec les visiteurs de votre site.

createTime

string ( Timestamp format)

Sortie uniquement. L'heure de création du certificat. Pour les certificats TEMPORARY , c'est le moment où l'hébergement génère pour la première fois des défis pour votre nom de domaine. Pour tous les autres types de certificats, il s'agit de l'heure à laquelle le certificat a été créé.

Un horodatage au format RFC3339 UTC "Zulu", avec une résolution en nanosecondes et jusqu'à neuf chiffres fractionnaires. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

Sortie uniquement. L'heure d'expiration du certificat. Passé ce délai, le certificat ne peut plus être utilisé pour assurer une communication sécurisée entre l'hébergement et les visiteurs de votre site.

Un horodatage au format RFC3339 UTC "Zulu", avec une résolution en nanosecondes et jusqu'à neuf chiffres fractionnaires. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z" .

ÉtatCert

L'état du certificat SSL que Hosting possède pour votre nom de domaine. Cela peut représenter soit l'état du certificat réel, soit, pour les nouveaux domaines personnalisés, la tentative de l'hébergement de créer un certificat.

Énumérations
CERT_STATE_UNSPECIFIED L'état du certificat n'est pas précisé. Le message n'est pas valide si cela n'est pas spécifié.
CERT_PREPARING L'état initial de chaque certificat représente l'intention de l'hébergement de créer un certificat, avant que les demandes soient adressées à une autorité de certification.
CERT_VALIDATING L'hébergement consiste à vérifier si les enregistrements DNS d'un nom de domaine sont dans un état permettant la création de certificats en son nom.
CERT_PROPAGATING Le certificat a été créé récemment et a besoin de temps pour se propager dans le CDN de l'hébergement.
CERT_ACTIVE Le certificat est actif et fournit des connexions sécurisées pour les noms de domaine qu'il représente.
CERT_EXPIRING_SOON Le certificat expire, tous les noms de domaine qu'il contient recevront de nouveaux certificats.
CERT_EXPIRED Le certificat a expiré. L'hébergement ne peut plus proposer de contenu sécurisé sur votre nom de domaine.

Vérification du certificat

Un ensemble de défis ACME que vous pouvez utiliser pour permettre à l'hébergement de créer un certificat SSL pour votre nom de domaine avant de diriger le trafic vers les serveurs d'hébergement. Utilisez le défi DNS ou HTTP ; il n'est pas nécessaire de fournir les deux.

Représentation JSON
{
  "dns": {
    object (DnsUpdates)
  },
  "http": {
    object (HttpUpdate)
  }
}
Des champs
dns

object ( DnsUpdates )

Sortie uniquement. Un enregistrement TXT à ajouter à vos enregistrements DNS qui confirme votre intention de laisser Hosting créer un certificat SSL pour votre nom de domaine.

http

object ( HttpUpdate )

Sortie uniquement. Un fichier à ajouter à votre service d'hébergement existant, non-hébergement, qui confirme votre intention de laisser l'hébergement créer un certificat SSL pour votre nom de domaine.

HttpMise à jour

Un fichier que vous pouvez ajouter à votre service d'hébergement existant, non-hébergement, qui confirme votre intention d'autoriser les autorités de certification de l'hébergement à créer un certificat SSL pour votre domaine.

Représentation JSON
{
  "path": string,
  "desired": string,
  "discovered": string,
  "lastCheckTime": string,
  "checkError": {
    object (Status)
  }
}
Des champs
path

string

Sortie uniquement. Le chemin d'accès au fichier.

desired

string

Sortie uniquement. Une chaîne de texte à servir sur le chemin.

discovered

string

Sortie uniquement. Indique si l'hébergement a pu trouver le contenu du fichier requis sur le chemin spécifié lors de sa dernière vérification.

lastCheckTime

string ( Timestamp format)

Sortie uniquement. La dernière fois que les systèmes d’hébergement ont vérifié le contenu du fichier.

Un horodatage au format RFC3339 UTC "Zulu", avec une résolution en nanosecondes et jusqu'à neuf chiffres fractionnaires. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z" .

checkError

object ( Status )

Sortie uniquement. Une erreur rencontrée lors de la dernière vérification du contenu. Si nul, la vérification s'est terminée avec succès.

Méthodes

create

Crée un CustomDomain .

delete

Supprime le CustomDomain spécifié.

get

Obtient le CustomDomain spécifié.

list

Répertorie chaque CustomDomain associé au site d'hébergement parent spécifié.

patch

Met à jour le CustomDomain spécifié.

undelete

Annule la suppression du CustomDomain spécifié s'il a été supprimé de manière logicielle.