REST Resource: projects.sites.customDomains

Ресурс: CustomDomain

CustomDomain — это объект, который связывает доменное имя с сайтом хостинга Firebase. Добавьте CustomDomain на свой сайт, чтобы позволить хостингу обслуживать содержимое сайта в ответ на запросы к вашему доменному имени.

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,
    ...
  }
}
Поля
name

string

Только вывод. Полное имя CustomDomain .

annotations

map (key: string, value: string)

Аннотации, которые вы можете добавить, чтобы оставить как человеко-, так и машиночитаемые метаданные о вашем CustomDomain .

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

createTime

string ( Timestamp format)

Только вывод. Время создания пользовательского домена.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

updateTime

string ( Timestamp format)

Только вывод. Время последнего обновления CustomDomain .

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

deleteTime

string ( Timestamp format)

Только вывод. Время удаления CustomDomain ; null для пользовательских доменов, которые не были удалены. Удаленные персональные домены сохраняются примерно 30 дней, после чего хостинг удаляет их полностью. Чтобы восстановить удаленный личный домен, выполните запрос customDomains.undelete .

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

Только вывод. Минимальное время, по истечении которого обратимое удаление CustomDomain будет полностью удалено с хостинга; null для пользовательских доменов, которые не были удалены.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

etag

string

Только вывод. Строка, которая представляет текущее состояние CustomDomain и позволяет вам подтверждать его исходное состояние в запросах, которые могут его изменить. Используйте этот тег, чтобы обеспечить согласованность при выполнении запросов customDomains.patch , customDomains.delete и customDomains.undelete .

hostState

enum ( HostState )

Только вывод. HostState доменного имени, на которое ссылается этот CustomDomain .

ownershipState

enum ( OwnershipState )

Только вывод. OwnershipState доменного имени, на которое ссылается этот CustomDomain .

requiredDnsUpdates

object ( DnsUpdates )

Только вывод. Набор обновлений, которые вам следует внести в DNS-записи доменного имени, чтобы хостинг мог обслуживать защищенный контент от его имени.

issues[]

object ( Status )

Только вывод. Набор ошибок, с которыми столкнулись хостинговые системы при попытке установить способность хостинга предоставлять безопасный контент для вашего доменного имени. Устраните эти проблемы, чтобы обеспечить правильную работу вашего CustomDomain .

certPreference

enum ( Type )

Поле, позволяющее указать, какой тип SSL-сертификата хостинг создает для вашего доменного имени. Пользовательские домены плана Spark имеют доступ только к типу сертификата GROUPED , тогда как домены плана Blaze могут выбрать любой вариант.

cert

object ( Certificate )

Только вывод. SSL-сертификат, который хостинг имеет для доменного имени этого личного домена. Для новых пользовательских доменов это часто означает намерение хостинга создать сертификат, а не реальный сертификат. Проверьте поле state для получения дополнительной информации.

redirectTarget

string

Доменное имя, на которое этот CustomDomain должен направлять трафик. Если указано, хостинг будет отвечать на запросы к этому личному домену с помощью кода HTTP 301 и вместо этого направлять трафик на указанный redirectTarget .

reconciling

boolean

Только вывод. Поле, которое, если оно истинно, указывает, что системы хостинга пытаются привести состояние личного домена в соответствие с вашим предпочтительным состоянием. Чаще всего это true при первоначальной подготовке CustomDomain после запроса customDomains.create или при создании нового сертификата SSL, соответствующего обновленному certPreference после запроса customDomains.patch .

labels

map (key: string, value: string)

Метки, используемые для дополнительных метаданных и/или фильтрации.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

ХостСтат

Состояние хоста вашего доменного имени. Состояние хоста определяется путем проверки каждого IP-адреса, связанного с вашим доменным именем, чтобы определить, обслуживает ли он контент хостинга.

Перечисления
HOST_STATE_UNSPECIFIED Статус хоста вашего личного домена не указан. Сообщение недействительно, если оно не указано.
HOST_UNHOSTED Доменное имя вашего личного домена не связано ни с какими IP-адресами.
HOST_UNREACHABLE Домен вашего личного домена недоступен. DNS-запросы служб хостинга для поиска IP-адресов вашего доменного имени привели к ошибкам. Дополнительные сведения см. в поле issues вашего объекта CustomDomain .
HOST_MISMATCH Доменное имя вашего личного домена имеет IP-адреса, которые в конечном итоге не преобразуются в хостинг.
HOST_CONFLICT Доменное имя вашего личного домена имеет IP-адреса, которые разрешаются как хостингу, так и другим службам. Чтобы обеспечить согласованность результатов, удалите записи A и AAAA , относящиеся к услугам, не связанным с хостингом.
HOST_ACTIVE Все запросы к доменному имени вашего личного домена обслуживаются хостингом. Если OwnershipState личного домена также имеет ACTIVE , хостинг размещает содержимое вашего хостинг-сайта на доменном имени.

Состояние владения

Состояние владения вашим доменом. Домен может принадлежать не более чем одному сайту хостинга Firebase. Право собственности можно определить двумя способами:

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

Если ваш CustomDomain находится в состоянии OwnershipState , отличном от OWNERSHIP_ACTIVE , более 30 дней и не обновлялся как минимум в течение 30 дней, системы владения хостингом удаляют CustomDomain . Чтобы восстановить удаленный CustomDomain , выполните запрос customDomains.undelete .

Перечисления
OWNERSHIP_STATE_UNSPECIFIED Состояние владения вашим личным доменом не указано. Это никогда не должно произойти.
OWNERSHIP_MISSING Доменное имя вашего личного домена не имеет записей о владельце, связанных с хостингом; ни один проект Firebase не имеет разрешения действовать от имени доменного имени.
OWNERSHIP_UNREACHABLE Домен вашего личного домена недоступен. DNS-запросы служб хостинга для поиска записей о владельце вашего доменного имени привели к ошибкам. Дополнительные сведения см. в поле issues вашего объекта CustomDomain .
OWNERSHIP_MISMATCH Доменное имя вашего личного домена принадлежит другому проекту Firebase. Удалите конфликтующие записи TXT и замените их записями, специфичными для вашего текущего проекта Firebase.
OWNERSHIP_CONFLICT Доменное имя вашего личного домена содержит конфликтующие записи TXT , которые указывают на то, что оно принадлежит как вашему текущему проекту Firebase, так и другому проекту. Удалите записи о владельце другого проекта, чтобы предоставить право владения текущему проекту.
OWNERSHIP_PENDING DNS-записи вашего личного домена настроены правильно. Хостинг передаст право собственности на ваш домен этому CustomDomain в течение 24 часов.
OWNERSHIP_ACTIVE Доменное имя вашего личного домена содержит записи TXT , которые предоставляют проекту разрешение действовать от его имени.

DNSОбновления

Набор обновлений DNS-записей, которые вам следует внести, чтобы разрешить хостингу обслуживать защищенный контент в ответ на запросы к вашему доменному имени. Эти обновления отображают текущее состояние DNS-записей вашего доменного имени на момент последнего запроса хостинга, а также желаемый набор записей, которые хостингу необходимо просмотреть, прежде чем ваш личный домен сможет стать полностью активным.

JSON-представление
{
  "discovered": [
    {
      object (DnsRecordSet)
    }
  ],
  "desired": [
    {
      object (DnsRecordSet)
    }
  ],
  "checkTime": string
}
Поля
discovered[]

object ( DnsRecordSet )

Набор DNS-записей, обнаруженных хостингом при проверке домена.

desired[]

object ( DnsRecordSet )

Набор записей DNS, необходимый хостингу для обслуживания безопасного контента в домене.

checkTime

string ( Timestamp format)

Последний раз, когда хостинг проверял DNS-записи вашего личного домена.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

Днсрекордсет

Набор записей DNS, относящихся к настройке и обслуживанию личного домена в хостинге Firebase.

JSON-представление
{
  "domainName": string,
  "checkError": {
    object (Status)
  },
  "records": [
    {
      object (DnsRecord)
    }
  ]
}
Поля
domainName

string

Только вывод. Доменное имя, к которому относится набор записей.

checkError

object ( Status )

Только вывод. Ошибка, обнаруженная службами хостинга при запросе DNS-записей вашего доменного имени. Примечание. Хостинг игнорирует ошибки NXDOMAIN , поскольку они обычно означают, что доменное имя еще не настроено.

records[]

object ( DnsRecord )

Только вывод. Записи на домене.

ДнсРекорд

Записи DNS — это записи ресурсов, которые определяют, как системы и службы должны вести себя при обработке запросов на доменное имя. Например, когда вы добавляете записи A в записи DNS вашего доменного имени, вы информируете другие системы (например, веб-браузеры ваших пользователей) о необходимости связаться с этими IPv4-адресами для получения ресурсов, соответствующих вашему доменному имени (например, файлов вашего хостинг-сайта). ).

JSON-представление
{
  "domainName": string,
  "type": enum (Type),
  "rdata": string,
  "requiredAction": enum (Action)
}
Поля
domainName

string

Только вывод. Доменное имя, к которому относится запись, например foo.bar.com. .

type

enum ( Type )

Только вывод. Тип записи, определяющий, какие данные содержит запись.

rdata

string

Только вывод. Данные записи. Значение значения зависит от типа записи: - A и AAAA: IP-адреса для доменного имени. - CNAME: еще один домен для проверки записей. - TXT: произвольные текстовые строки, связанные с именем домена. Хостинг использует записи TXT, чтобы определить, какие проекты Firebase имеют разрешение действовать от имени доменного имени. - CAA: флаги, тег и значение записи, например 0 issue "pki.goog" .

requiredAction

enum ( Action )

Только вывод. Перечисление, указывающее необходимое действие для этой записи.

Тип

Тип записи DNS, включая A , TXT , AAAA и CAA .

Перечисления
TYPE_UNSPECIFIED Тип записи не указан. Сообщение недействительно, если оно не указано.
A Запись A , как определено в RFC 1035 . Записи определяют, на какие IPv4-адреса доменное имя направляет трафик.
CNAME Запись CNAME , как определено в RFC 1035 . Записи CNAME или канонического имени сопоставляют доменное имя с другим каноническим именем домена. Если запись CNAME присутствует, она должна быть единственной записью доменного имени.
TXT Запись TXT , как определено в RFC 1035 . Записи TXT содержат произвольные текстовые данные о доменном имени. Хостинг использует записи TXT , чтобы определить, какой проект Firebase имеет разрешение работать с доменным именем.
AAAA Запись AAAA, как определено в RFC 3596, записи AAAA определяют, на какие адреса IPv6 доменное имя направляет трафик.
CAA

Запись CAA, как определено в RFC 6844 . Записи CAA, или авторизации центра сертификации, определяют, какие центры сертификации (организации, выпускающие сертификаты SSL) уполномочены выпускать сертификат для доменного имени. Хостинг Firebase использует pki.goog в качестве основного центра сертификации.

CAA записывает каскад. Запись CAA на foo.com также применяется к bar.foo.com , если bar.foo.com не имеет собственного набора записей CAA.

Записи CAA не являются обязательными. Если доменное имя и его родительские элементы не имеют записей CAA, все центры сертификации имеют право выпускать сертификаты от его имени. Как правило, хостинг просит вас изменить записи CAA только в том случае, если это необходимо для разблокировки создания сертификата SSL.

Действие

Действие — это тип действия, которое вы должны выполнить над этой DNS-записью, чтобы настроить свой домен для использования с хостингом Firebase.

Перечисления
NONE Никаких действий не требуется.
ADD Добавьте эту запись в свои записи DNS.
REMOVE Удалите эту запись из своих записей DNS.

Тип

Тип сертификата. Определяет, как хостинговые системы обрабатывают создание и обслуживание сертификата.

Перечисления
TYPE_UNSPECIFIED Тип сертификата не указан. Сообщение недействительно, если оно не указано.
TEMPORARY Кратковременный тип сертификата, который временно покрывает доменное имя, в то время как хостинг создает более постоянный сертификат.
GROUPED Стандартный сертификат для пользовательских доменов плана Spark.
PROJECT_GROUPED Только план «Блейз». Сертификат, охватывающий от 1 до 100 доменных имен с личными доменами в одном проекте Firebase.
DEDICATED Только план «Блейз». Сертификат, охватывающий одно доменное имя.

Сертификат

Сертификат SSL, используемый для обеспечения сквозного шифрования запросов к вашему доменному имени. Certificate может быть действительным сертификатом SSL или, для вновь созданных пользовательских доменов, намерением хостинга создать его.

JSON-представление
{
  "type": enum (Type),
  "state": enum (CertState),
  "verification": {
    object (CertVerification)
  },
  "issues": [
    {
      object (Status)
    }
  ],
  "createTime": string,
  "expireTime": string
}
Поля
type

enum ( Type )

Только вывод. Тип сертификата.

state

enum ( CertState )

Только вывод. Состояние сертификата. Только состояния CERT_ACTIVE и CERT_EXPIRING_SOON обеспечивают покрытие SSL для доменного имени. Если состояние PROPAGATING и у хостинга ранее был активный сертификат для доменного имени, этот ранее активный сертификат обеспечивает покрытие SSL для доменного имени до тех пор, пока текущий сертификат не будет распространен.

verification

object ( CertVerification )

Только вывод. Набор задач ACME, которые вы можете добавить в свои записи DNS или к существующему хостинг-провайдеру, не являющемуся хостингом, чтобы позволить хостингу создать сертификат SSL для вашего доменного имени, прежде чем направлять трафик на хостинг. Вы можете использовать эти проблемы как часть перехода с нулевым временем простоя от старого провайдера к хостингу.

issues[]

object ( Status )

Только вывод. Набор ошибок, с которыми столкнулся хостинг при попытке создать сертификат для вашего доменного имени. Решите эти проблемы, чтобы хостинг мог обеспечить безопасную связь с посетителями вашего сайта.

createTime

string ( Timestamp format)

Только вывод. Время создания сертификата. Для TEMPORARY сертификатов это время, когда хостинг впервые создает проблемы для вашего доменного имени. Для всех других типов сертификатов это время создания фактического сертификата.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

Только вывод. Срок действия сертификата. По истечении этого времени сертификат больше нельзя будет использовать для обеспечения безопасной связи между хостингом и посетителями вашего сайта.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

Сертстате

Состояние SSL-сертификата хостинга для вашего доменного имени. Это может отражать либо состояние фактического сертификата, либо, для новых пользовательских доменов, попытку хостинга создать сертификат.

Перечисления
CERT_STATE_UNSPECIFIED Состояние сертификата не указано. Сообщение недействительно, если оно не указано.
CERT_PREPARING Исходное состояние каждого сертификата отражает намерение хостинга создать сертификат до того, как будут сделаны запросы в центр сертификации.
CERT_VALIDATING Хостинг проверяет, находятся ли DNS-записи доменного имени в состоянии, позволяющем создавать сертификаты от его имени.
CERT_PROPAGATING Сертификат был недавно создан, и ему требуется время для распространения в CDN хостинга.
CERT_ACTIVE Сертификат активен и обеспечивает безопасные соединения для доменных имен, которые он представляет.
CERT_EXPIRING_SOON Срок действия сертификата истекает, всем доменным именам на нем будут присвоены новые сертификаты.
CERT_EXPIRED Срок действия сертификата истек. Хостинг больше не может предоставлять защищенный контент на вашем доменном имени.

Сертификация

Набор задач ACME, которые вы можете использовать, чтобы разрешить хостингу создать сертификат SSL для вашего доменного имени перед направлением трафика на серверы хостинга. Используйте вызов DNS или HTTP; нет необходимости предоставлять оба.

JSON-представление
{
  "dns": {
    object (DnsUpdates)
  },
  "http": {
    object (HttpUpdate)
  }
}
Поля
dns

object ( DnsUpdates )

Только вывод. Запись TXT для добавления в ваши записи DNS, подтверждающая ваше намерение разрешить хостингу создать сертификат SSL для вашего доменного имени.

http

object ( HttpUpdate )

Только вывод. Файл, добавляемый к существующей услуге хостинга, не связанной с хостингом, который подтверждает ваше намерение разрешить хостингу создать сертификат SSL для вашего доменного имени.

HttpUpdate

Файл, который вы можете добавить в существующую службу хостинга, не относящуюся к хостингу, который подтверждает ваше намерение разрешить центрам сертификации хостинга создавать сертификат SSL для вашего домена.

JSON-представление
{
  "path": string,
  "desired": string,
  "discovered": string,
  "lastCheckTime": string,
  "checkError": {
    object (Status)
  }
}
Поля
path

string

Только вывод. Путь к файлу.

desired

string

Только вывод. Текстовая строка, которая будет служить в качестве пути.

discovered

string

Только вывод. Смог ли Хостинг найти необходимое содержимое файла по указанному пути во время своей последней проверки.

lastCheckTime

string ( Timestamp format)

Только вывод. Последний раз хостинговые системы проверяли содержимое файла.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

checkError

object ( Status )

Только вывод. Произошла ошибка во время последней проверки содержимого. Если значение равно нулю, проверка завершена успешно.

Методы

create

Создает CustomDomain .

delete

Удаляет указанный CustomDomain .

get

Получает указанный CustomDomain .

list

Перечисляет каждый CustomDomain , связанный с указанным родительским сайтом хостинга.

patch

Обновляет указанный CustomDomain .

undelete

Отменяет удаление указанного CustomDomain , если он был обратимо удален.