REST Resource: projects.sites.customDomains

リソース: CustomDomain

CustomDomain は、ドメイン名を Firebase Hosting サイトにリンクするエンティティです。サイトに CustomDomain を追加して、ドメイン名に対するリクエストに応じて Hosting がサイトのコンテンツを提供できるようにします。

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「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

出力専用。CustomDomain が最後に更新された時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

deleteTime

string (Timestamp format)

出力専用。CustomDomain が削除された時刻。null を返します。削除したカスタム ドメインは約 30 日間保持され、その後は Hosting によって完全に削除されます。削除したカスタム ドメインを復元するには、customDomains.undelete リクエストを行います。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

expireTime

string (Timestamp format)

出力専用。削除済み(復元可能)CustomDomain が Hosting から完全に削除されるまでの最小期間。null を返します。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

etag

string

出力専用。CustomDomain の現在の状態を表す文字列。変更するリクエストでその初期状態を確認できます。customDomains.patchcustomDomains.deletecustomDomains.undelete リクエストを行う際の一貫性を保つために、タグを使用してください。

hostState

enum (HostState)

出力専用。この CustomDomain が参照するドメイン名の HostState

ownershipState

enum (OwnershipState)

出力専用。この CustomDomain が参照するドメイン名の OwnershipState

requiredDnsUpdates

object (DnsUpdates)

出力専用。Hosting から安全なコンテンツを提供できるよう、ドメイン名の DNS レコードを更新する必要があります。

issues[]

object (Status)

出力専用。ドメイン名に保護されたコンテンツを提供するための Hosting の能力を確立しようとしたときに Hosting システムで発生した一連のエラー。CustomDomain が正しく動作するよう、これらの問題を解決してください。

certPreference

enum (Type)

Hosting がドメイン名用に作成する SSL 証明書のタイプを指定するためのフィールド。Spark プランのカスタム ドメインは GROUPED 証明書タイプにのみアクセスできますが、Blaze プランのドメインは任意のオプションを選択できます。

cert

object (Certificate)

出力専用。このカスタム ドメインのドメイン名に対する Hosting の SSL 証明書。新しいカスタム ドメインの場合、これは多くの場合、実際の証明書ではなく、Hosting が証明書を作成する意図を表しています。詳しくは、state フィールドをご確認ください。

redirectTarget

string

この CustomDomain がトラフィックの転送先となるドメイン名。指定すると、Hosting はこのカスタム ドメインに対するリクエストに HTTP 301 コードで応答し、指定された redirectTarget にトラフィックをルーティングします。

reconciling

boolean

出力専用。true の場合、カスタム ドメインの状態を優先の状態にするために、Hosting のシステムが待機していることを示すフィールド。customDomains.create リクエストの後で CustomDomain を最初にプロビジョニングする場合や、customDomains.patch リクエストの後で更新された certPreference に合わせて新しい SSL 証明書を作成する場合に、最も頻繁に true になります。

labels

map (key: string, value: string)

追加のメタデータやフィルタリングに使用されるラベル。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

ホスト状態

ドメイン名のホストの状態。ホストの状態を把握するには、ドメイン名に関連付けられた各 IP アドレスをチェックして、Hosting のコンテンツを提供しているかどうかを確認します。

列挙型
HOST_STATE_UNSPECIFIED カスタム ドメインのホストの状態が指定されていません。指定しない場合、メッセージは無効です。
HOST_UNHOSTED カスタム ドメインのドメイン名は IP アドレスに関連付けられていません。
HOST_UNREACHABLE カスタム ドメインのドメイン名にアクセスできません。ホスティング サービスドメイン名の IP アドレスを検索するための DNS クエリでエラーが発生しました。詳しくは、CustomDomain オブジェクトの issues フィールドをご覧ください。
HOST_MISMATCH カスタム ドメインのドメイン名に、最終的に Hosting に解決されない IP アドレスがあります。
HOST_CONFLICT カスタム ドメインのドメイン名には、Hosting と他のサービスの両方に解決される IP アドレスがあります。一貫性のある結果を得るには、Hosting 以外のサービスに関連する A レコードと AAAA レコードを削除してください。
HOST_ACTIVE カスタム ドメインのドメイン名に対するすべてのリクエストは、Hosting によって処理されます。カスタム ドメインの OwnershipStateACTIVE の場合、Hosting はドメイン名で Hosting サイトのコンテンツを提供します。

所有権の状態

ドメインの所有権の状態。ドメインは、最大で 1 つの Firebase Hosting サイトで所有できます。所有権は次の 2 つの方法で判断できます。

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

CustomDomainOWNERSHIP_ACTIVE 以外の OwnershipState になってから 30 日以上経過し、少なくとも 30 日間更新されていない場合は、Hosting の所有権システムによって CustomDomain が削除されます。削除された CustomDomain を復元するには、customDomains.undelete リクエストを行います。

列挙型
OWNERSHIP_STATE_UNSPECIFIED カスタム ドメインの所有権の状態が指定されていません。絶対にはなりません。
OWNERSHIP_MISSING カスタム ドメインのドメイン名に Hosting 関連の所有権レコードがありません。ドメイン名を代理する権限がある Firebase プロジェクトはありません。
OWNERSHIP_UNREACHABLE カスタム ドメインのドメイン名にアクセスできません。ホスティング サービスドメイン名の所有権レコードを調べる DNS クエリの結果、エラーが発生しました。詳しくは、CustomDomain オブジェクトの issues フィールドをご覧ください。
OWNERSHIP_MISMATCH カスタム ドメインのドメイン名が別の Firebase プロジェクトで所有されています。競合する TXT レコードを削除し、現在の Firebase プロジェクトのプロジェクト固有のレコードに置き換えます。
OWNERSHIP_CONFLICT カスタム ドメインのドメイン名に、現在の Firebase プロジェクトと別のプロジェクトの両方の所有権を示す競合する TXT レコードがあります。他のプロジェクトの所有権レコードを削除して、現在のプロジェクト所有権を付与します。
OWNERSHIP_PENDING カスタム ドメインの DNS レコードは正しく構成されています。Hosting は 24 時間以内にドメインの所有権をこの CustomDomain に移行します。
OWNERSHIP_ACTIVE カスタム ドメインのドメイン名には、プロジェクトに代わって操作を行う権限を付与する TXT レコードがあります。

DnsUpdates

ドメイン名に対するリクエストに応じて Hosting が安全なコンテンツを提供できるようにするために必要な、一連の DNS レコードの更新。これらの更新には、ドメイン名の DNS レコードの現在の状態(Hosting が最後にクエリを実施したとき)と、カスタム ドメインを完全にアクティブにする前に Hosting が確認する必要がある一連のレコードが表示されます。

JSON 表現
{
  "discovered": [
    {
      object (DnsRecordSet)
    }
  ],
  "desired": [
    {
      object (DnsRecordSet)
    }
  ],
  "checkTime": string
}
フィールド
discovered[]

object (DnsRecordSet)

ドメインの検査時に Hosting によって検出された DNS レコードのセット。

desired[]

object (DnsRecordSet)

Hosting はドメイン上で安全なコンテンツを提供する必要があります。

checkTime

string (Timestamp format)

Hosting がカスタム ドメインの DNS レコードを最後にチェックした時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

DnsRecordSet

Firebase Hosting のカスタム ドメインの設定とメンテナンスに関連する一連の DNS レコード。

JSON 表現
{
  "domainName": string,
  "checkError": {
    object (Status)
  },
  "records": [
    {
      object (DnsRecord)
    }
  ]
}
フィールド
domainName

string

出力専用。レコードセットが関係するドメイン名。

checkError

object (Status)

出力専用。ドメイン名の DNS レコードのクエリ中に Hosting サービスでエラーが発生しました。注: Hosting では NXDOMAIN エラーは無視されます。これは通常、ドメイン名がまだ設定されていないことを意味します。

records[]

object (DnsRecord)

出力専用。ドメインのレコード。

DnsRecord

DNS レコードは、ドメイン名のリクエストを処理する際のシステムとサービスの動作を定義するリソース レコードです。たとえば、ドメイン名の DNS レコードに A レコードを追加すると、他のシステム(ユーザーのウェブブラウザなど)に IPv4 アドレスに連絡してドメイン名に関連するリソース(Hosting サイトのファイルなど)を取得するよう通知することになります。

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: ドメイン名に関連付けられた任意のテキスト文字列。Hosting は TXT レコードを使用して、どの Firebase プロジェクトがドメイン名の代理を務める権限を持っているかを判断します。- CAA: レコードのフラグ、タグ、値。例:0 issue "pki.goog"

requiredAction

enum (Action)

出力専用。このレコードに必要なアクションを示す列挙型。

タイプ

DNS レコードのタイプ(ATXTAAAACAA など)。

列挙型
TYPE_UNSPECIFIED レコードの型は指定されていません。指定しない場合、メッセージは無効です。
A RFC 1035 で定義されている A レコード。レコードは、ドメイン名がトラフィックの送信先の IPv4 アドレスを決定します。
CNAME RFC 1035 で定義されている CNAME レコード。CNAME(正規名)レコードは、ドメイン名を別の正規ドメイン名にマッピングします。CNAME レコードが存在する場合、それがドメイン名の唯一のレコードになります。
TXT RFC 1035 で定義されている TXT レコード。TXT レコードは、ドメイン名の任意のテキストデータを保持します。Hosting は TXT レコードを使用して、ドメイン名を操作する権限を持つ Firebase プロジェクトを決定します。
AAAA RFC 3596 で定義されている AAAA レコードは、ドメイン名からトラフィックを転送する IPv6 アドレスを決定します。
CAA

RFC 6844 で定義されている CAA レコード。CAA(Certificate Authority Authorization)レコードは、ドメイン名の証明書を作成する権限を持つ認証局(SSL 証明書作成組織)を決定します。Firebase Hosting は、プライマリ CA として pki.goog を使用します。

CAA レコードはカスケードされます。foo.com の CAA レコードは、bar.foo.com に独自の CAA レコードセットがある場合を除き、bar.foo.com にも適用されます。

CAA レコードは省略可能です。ドメイン名とその親に CAA レコードがない場合、すべての CA が代理で証明書を作成します。一般に Hosting は CAA レコードの変更を要求されるのは、SSL 証明書の作成をブロック解除するために変更が必要な場合のみです。

アクション

アクションは、Firebase Hosting で使用できるようにドメインを構成するために、この DNS レコードに対して行う必要があるアクションの一種です。

列挙型
NONE 特別なご対応は不要です。
ADD このレコードを DNS レコードに追加します。
REMOVE このレコードを DNS レコードから削除します。

タイプ

証明書のタイプ。Hosting システムでの証明書の作成と管理の処理方法を指定します。

列挙型
TYPE_UNSPECIFIED 証明書のタイプは指定されていません。指定しない場合、メッセージは無効です。
TEMPORARY 有効期間の短い証明書で、ドメイン名を一時的に使用します。Hosting では、より永続的な証明書が作成されます。
GROUPED Spark プランのカスタム ドメインの標準証明書。
PROJECT_GROUPED Blaze プランのみが対象です。1 ~ 100 個のドメイン名と、同じ Firebase プロジェクト内にあるカスタム ドメインを含む証明書。
DEDICATED Blaze プランのみが対象です。単一のドメイン名を対象とする証明書。

証明書

SSL 証明書。ドメイン名に対するリクエストにエンドツーエンドの暗号化を提供するために使用します。Certificate は、実際の SSL 証明書にすることも、新しく作成されたカスタム ドメインの場合は Hosting がそれを作成するインテントにすることもできます。

JSON 表現
{
  "type": enum (Type),
  "state": enum (CertState),
  "verification": {
    object (CertVerification)
  },
  "issues": [
    {
      object (Status)
    }
  ],
  "createTime": string,
  "expireTime": string
}
フィールド
type

enum (Type)

出力専用。証明書のタイプ。

state

enum (CertState)

出力専用。証明書の状態。ドメイン名の SSL カバレッジは CERT_ACTIVE 州と CERT_EXPIRING_SOON 州のみです。状態が PROPAGATING で、Hosting にドメイン名の有効な証明書が以前に存在していた場合、現在の証明書が伝播されるまでは、以前有効だった証明書でドメイン名の SSL カバレッジが提供されます。

verification

object (CertVerification)

出力専用。DNS レコードまたは既存の非 Hosting ホスティング プロバイダに一連の ACME チャレンジを追加して、トラフィックをホスティングに誘導する前に、Hosting がドメイン名の SSL 証明書を作成できるようにします。これらの課題は、古いプロバイダから Hosting にダウンタイムなしで移行する要素として利用できます。

issues[]

object (Status)

出力専用。Hosting がドメイン名の証明書を作成しようとしたときに発生した一連のエラー。Hosting がサイトの訪問者と安全に通信できるように、これらの問題を解決してください。

createTime

string (Timestamp format)

出力専用。証明書の作成時刻。TEMPORARY 証明書の場合、これは Hosting がドメイン名に対して最初に生成したチャレンジ時間です。他のすべての証明書タイプの場合は、実際の証明書が作成された時刻になります。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

expireTime

string (Timestamp format)

出力専用。証明書の有効期限。この日を過ぎると、証明書は Hosting とサイト訪問者間の安全な通信に使用できなくなります。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

CertState

ドメイン名に対する Hosting の SSL 証明書の状態。これは、実際の証明書の状態、または新しいカスタム ドメインの場合は Hosting による証明書作成の試行のいずれかを表します。

列挙型
CERT_STATE_UNSPECIFIED 証明書の状態が指定されていません。指定しない場合、メッセージは無効です。
CERT_PREPARING すべての証明書の初期状態は、認証局へのリクエストが行われる前に、Hosting が証明書を作成するという意図を表しています。
CERT_VALIDATING Hosting は、ドメイン名の DNS レコードが代理で証明書を作成できる状態かどうかを検証しています。
CERT_PROPAGATING この証明書は最近作成されたため、Hosting の CDN に反映されるまでに時間が必要です。
CERT_ACTIVE 証明書は有効で、証明書が表すドメイン名への安全な接続を提供しています。
CERT_EXPIRING_SOON 証明書の有効期限が近づいています。証明書に記載されているすべてのドメイン名に新しい証明書が割り当てられます。
CERT_EXPIRED 証明書の有効期限が切れています。Hosting はドメイン名で安全なコンテンツを配信できなくなります。

証明書の検証

Hosting サーバーにトラフィックを転送する前に、ドメイン名の SSL 証明書を Hosting が作成できるようにするために使用できる一連の ACME チャレンジ。DNS または HTTP による確認を使用します。両方を指定する必要はありません。

JSON 表現
{
  "dns": {
    object (DnsUpdates)
  },
  "http": {
    object (HttpUpdate)
  }
}
フィールド
dns

object (DnsUpdates)

出力専用。DNS レコードに追加する TXT レコード。これにより、Hosting がドメイン名の SSL 証明書を作成できるようにする。

http

object (HttpUpdate)

出力専用。Hosting にドメイン名の SSL 証明書を作成させる意思を確認する、Hosting 以外の既存のホスティング サービスに追加するファイル。

HTTPUpdate

Hosting の認証局がドメインの SSL 証明書を作成できるようにする意思があることを確認する、Hosting 以外の既存のホスティング サービスに追加できるファイル。

JSON 表現
{
  "path": string,
  "desired": string,
  "discovered": string,
  "lastCheckTime": string,
  "checkError": {
    object (Status)
  }
}
フィールド
path

string

出力専用。ファイルへのパス。

desired

string

出力専用。パスに提供するテキスト文字列。

discovered

string

出力専用。前回のチェックで、指定されたパスで必要なファイル コンテンツを Hosting が見つけられたかどうか。

lastCheckTime

string (Timestamp format)

出力専用。Hosting システムがファイルの内容を最後にチェックした時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

checkError

object (Status)

出力専用。前回のコンテンツ チェック中にエラーが発生しました。null の場合、チェックは正常に完了しています。

メソッド

create

CustomDomain を作成します。

delete

指定された CustomDomain を削除します。

get

指定された CustomDomain を取得します。

list

指定された親 Hosting サイトに関連付けられている各 CustomDomain を一覧表示します。

patch

指定された CustomDomain を更新します。

undelete

指定された CustomDomain が削除済み(復元可能)の場合は、削除を取り消します。