REST Resource: projects.sites.customDomains

リソース: カスタムドメイン

CustomDomainドメイン名を Firebase Hosting サイトにリンクするエンティティです。 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「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 日間保持され、その後ホスティングによって完全に削除されます。削除されたカスタム ドメインを復元するには、 customDomains.undeleteリクエストを作成します。

RFC3339 UTC「Zulu」形式のタイムスタンプ。ナノ秒の分解能と最大 9 桁の小数点以下を備えています。例: "2014-10-02T15:01:23Z"および"2014-10-02T15:01:23.045123456Z"

expireTime

string ( Timestamp format)

出力のみ。論理的に削除されたCustomDomainホスティングから完全に削除されるまでの最小時間。削除されていないカスタム ドメインの場合は null。

RFC3339 UTC「Zulu」形式のタイムスタンプ。ナノ秒の分解能と最大 9 桁の小数点以下を備えています。例: "2014-10-02T15:01:23Z"および"2014-10-02T15:01:23.045123456Z"

etag

string

出力のみ。 CustomDomainの現在の状態を表す文字列。CustomDomain を変更するリクエストでその初期状態を確認できるようにします。このタグを使用して、 customDomains.patchcustomDomains.delete 、およびcustomDomains.undeleteリクエストを行う際の一貫性を確保します。

hostState

enum ( HostState )

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

ownershipState

enum ( OwnershipState )

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

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 の場合、ホスティングのシステムがカスタム ドメインの状態を希望の状態に一致させようとしていることを示すフィールド。これは、 customDomains.createリクエスト後に最初にCustomDomainプロビジョニングするとき、または、 customDomains.patchリクエスト後に更新されたcertPreferenceと一致する新しい SSL 証明書を作成するときに最も頻繁にtrue

labels

map (key: string, value: string)

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

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

ホストの状態

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

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

所有権状態

ドメインの所有権の状態。ドメインは最大 1 つの Firebase ホスティング サイトによって所有できます。所有権は次の 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.

CustomDomainが 30 日以上OWNERSHIP_ACTIVE以外のOwnershipStateにあり、少なくとも 30 日間更新されていない場合、ホスティングの所有権システムはCustomDomainを削除します。削除されたCustomDomainを復元するには、 customDomains.undeleteリクエストを作成します。

列挙型
OWNERSHIP_STATE_UNSPECIFIEDカスタム ドメインの所有権の状態は指定されていません。こんなことは決してあってはならないことです。
OWNERSHIP_MISSINGカスタム ドメインのドメイン名には、ホスティング関連の所有権レコードがありません。 Firebase プロジェクトには、ドメイン名に代わって動作する権限がありません。
OWNERSHIP_UNREACHABLEカスタム ドメインのドメイン名にアクセスできません。ドメイン名の所有権レコードを検索するためのホスティング サービスの DNS クエリでエラーが発生しました。詳細については、 CustomDomainオブジェクトのissuesフィールドを参照してください。
OWNERSHIP_MISMATCHカスタム ドメインのドメイン名は別の Firebase プロジェクトによって所有されています。競合するTXTレコードを削除し、現在の Firebase プロジェクトのプロジェクト固有のレコードに置き換えます。
OWNERSHIP_CONFLICTカスタム ドメインのドメイン名には、現在の Firebase プロジェクトと別のプロジェクトの両方による所有権を示す競合するTXTレコードがあります。他のプロジェクトの所有権レコードを削除して、現在のプロジェクトの所有権を付与します。
OWNERSHIP_PENDINGカスタム ドメインの DNS レコードは正しく構成されています。ホスティングは 24 時間以内にドメインの所有権をこのCustomDomainに移管します。
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「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 レコードをクエリするときに、ホスティング サービスでエラーが発生しました。注: NXDOMAINエラーは通常、ドメイン名がまだ設定されていないことを意味するため、ホスティングでは無視されます。

records[]

object ( DnsRecord )

出力のみ。ドメイン上のレコード。

DnsRecord

DNS レコードは、ドメイン名に対するリクエストを処理するときにシステムとサービスがどのように動作するかを定義するリソース レコードです。たとえば、 Aレコードをドメイン名の DNS レコードに追加すると、他のシステム (ユーザーの Web ブラウザなど) に、それらの 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 レコードのタイプ ( ATXTAAAACAAなど)。

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

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

CAA レコードのカスケード。 foo.comに独自の CAA レコード セットがない限り、 bar.foo.comの CAA レコードはbar.foo.comにも適用されます。

CAA レコードはオプションです。ドメイン名とその親に CAA レコードがない場合、すべての CA がそのドメインに代わって証明書を作成する権限を与えられます。一般に、ホスティングは、SSL 証明書の作成のブロックを解除するために CAA レコードの変更が必要な場合にのみ、CAA レコードの変更を要求します。

アクション

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

列挙型
NONEアクションは必要ありません。
ADDこのレコードを DNS レコードに追加します。
REMOVEこのレコードを DNS レコードから削除します。

タイプ

証明書のタイプ。ホスティング システムが証明書の作成と維持をどのように処理するかを決定します。

列挙型
TYPE_UNSPECIFIED証明書の種類は指定されていません。これが指定されていない場合、メッセージは無効です。
TEMPORARYドメイン名を一時的にカバーする有効期間の短い証明書タイプですが、ホスティングはより永続的な証明書を作成します。
GROUPED Spark プランのカスタム ドメインの標準証明書。
PROJECT_GROUPEDブレイズプランのみ。同じ Firebase プロジェクト上のカスタム ドメインを持つ 1 ~ 100 のドメイン名をカバーする証明書。
DEDICATEDブレイズプランのみ。単一のドメイン名をカバーする証明書。

証明書

ドメイン名に対するリクエストにエンドツーエンドの暗号化を提供するために使用される SSL 証明書。 Certificate 、実際の SSL 証明書、または新しく作成されたカスタム ドメインの場合は、ホスティングが作成する意図の 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 )

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

issues[]

object ( Status )

出力のみ。ドメイン名の証明書を作成しようとしたときにホスティングで発生した一連のエラー。これらの問題を解決して、ホスティングがサイトの訪問者と安全な通信を提供できるようにします。

createTime

string ( Timestamp format)

出力のみ。証明書の作成時間。 TEMPORARY証明書の場合、これはホスティングがドメイン名に対して最初に生成したチャレンジの時間です。他のすべての証明書タイプの場合は、実際の証明書が作成された時刻です。

RFC3339 UTC「Zulu」形式のタイムスタンプ。ナノ秒の分解能と最大 9 桁の小数点以下を備えています。例: "2014-10-02T15:01:23Z"および"2014-10-02T15:01:23.045123456Z"

expireTime

string ( Timestamp format)

出力のみ。証明書の有効期限。この期間を過ぎると、ホスティングとサイト訪問者の間で安全な通信を提供するために証明書を使用できなくなります。

RFC3339 UTC「Zulu」形式のタイムスタンプ。ナノ秒の分解能と最大 9 桁の小数点以下を備えています。例: "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証明書の有効期限が切れています。ホスティングでは、ドメイン名で安全なコンテンツを提供できなくなります。

証明書検証

トラフィックをホスティング サーバーに送信する前に、ホスティングがドメイン名の SSL 証明書を作成できるようにするために使用できる一連の ACME チャレンジ。 DNS または HTTP チャレンジのいずれかを使用します。両方を提供する必要はありません。

JSON表現
{
  "dns": {
    object (DnsUpdates)
  },
  "http": {
    object (HttpUpdate)
  }
}
田畑
dns

object ( DnsUpdates )

出力のみ。 DNS レコードに追加するTXTレコード。ホスティングにドメイン名の SSL 証明書を作成させる意図を確認します。

http

object ( HttpUpdate )

出力のみ。既存の非ホスティング ホスティング サービスに追加するファイル。ホスティングにドメイン名の SSL 証明書を作成させる意図を確認します。

HTTPアップデート

ホスティングの認証局がドメインの 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「Zulu」形式のタイムスタンプ。ナノ秒の分解能と最大 9 桁の小数点以下を備えています。例: "2014-10-02T15:01:23Z"および"2014-10-02T15:01:23.045123456Z"

checkError

object ( Status )

出力のみ。最後の内容チェック中にエラーが発生しました。 null の場合、チェックは正常に完了しました。

メソッド

create

CustomDomainを作成します。

delete

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

get

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

list

指定された親ホスティング サイトに関連付けられた各CustomDomainを一覧表示します。

patch

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

undelete

指定されたCustomDomain論理的に削除されている場合は、削除を取り消します。