1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. firebase
  5. HostingCustomDomain
Google Cloud v8.26.0 published on Thursday, Apr 10, 2025 by Pulumi

gcp.firebase.HostingCustomDomain

Explore with Pulumi AI

Example Usage

Firebasehosting Customdomain Basic

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const _default = new gcp.firebase.HostingCustomDomain("default", {
    project: "my-project-name",
    siteId: "site-id",
    customDomain: "custom.domain.com",
});
Copy
import pulumi
import pulumi_gcp as gcp

default = gcp.firebase.HostingCustomDomain("default",
    project="my-project-name",
    site_id="site-id",
    custom_domain="custom.domain.com")
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/firebase"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := firebase.NewHostingCustomDomain(ctx, "default", &firebase.HostingCustomDomainArgs{
			Project:      pulumi.String("my-project-name"),
			SiteId:       pulumi.String("site-id"),
			CustomDomain: pulumi.String("custom.domain.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var @default = new Gcp.Firebase.HostingCustomDomain("default", new()
    {
        Project = "my-project-name",
        SiteId = "site-id",
        CustomDomain = "custom.domain.com",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.firebase.HostingCustomDomain;
import com.pulumi.gcp.firebase.HostingCustomDomainArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var default_ = new HostingCustomDomain("default", HostingCustomDomainArgs.builder()
            .project("my-project-name")
            .siteId("site-id")
            .customDomain("custom.domain.com")
            .build());

    }
}
Copy
resources:
  default:
    type: gcp:firebase:HostingCustomDomain
    properties:
      project: my-project-name
      siteId: site-id
      customDomain: custom.domain.com
Copy

Firebasehosting Customdomain Full

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const _default = new gcp.firebase.HostingSite("default", {
    project: "my-project-name",
    siteId: "site-id-full",
});
const defaultHostingCustomDomain = new gcp.firebase.HostingCustomDomain("default", {
    project: "my-project-name",
    siteId: _default.siteId,
    customDomain: "source.domain.com",
    certPreference: "GROUPED",
    redirectTarget: "destination.domain.com",
    waitDnsVerification: false,
});
Copy
import pulumi
import pulumi_gcp as gcp

default = gcp.firebase.HostingSite("default",
    project="my-project-name",
    site_id="site-id-full")
default_hosting_custom_domain = gcp.firebase.HostingCustomDomain("default",
    project="my-project-name",
    site_id=default.site_id,
    custom_domain="source.domain.com",
    cert_preference="GROUPED",
    redirect_target="destination.domain.com",
    wait_dns_verification=False)
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/firebase"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := firebase.NewHostingSite(ctx, "default", &firebase.HostingSiteArgs{
			Project: pulumi.String("my-project-name"),
			SiteId:  pulumi.String("site-id-full"),
		})
		if err != nil {
			return err
		}
		_, err = firebase.NewHostingCustomDomain(ctx, "default", &firebase.HostingCustomDomainArgs{
			Project:             pulumi.String("my-project-name"),
			SiteId:              _default.SiteId,
			CustomDomain:        pulumi.String("source.domain.com"),
			CertPreference:      pulumi.String("GROUPED"),
			RedirectTarget:      pulumi.String("destination.domain.com"),
			WaitDnsVerification: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var @default = new Gcp.Firebase.HostingSite("default", new()
    {
        Project = "my-project-name",
        SiteId = "site-id-full",
    });

    var defaultHostingCustomDomain = new Gcp.Firebase.HostingCustomDomain("default", new()
    {
        Project = "my-project-name",
        SiteId = @default.SiteId,
        CustomDomain = "source.domain.com",
        CertPreference = "GROUPED",
        RedirectTarget = "destination.domain.com",
        WaitDnsVerification = false,
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.firebase.HostingSite;
import com.pulumi.gcp.firebase.HostingSiteArgs;
import com.pulumi.gcp.firebase.HostingCustomDomain;
import com.pulumi.gcp.firebase.HostingCustomDomainArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var default_ = new HostingSite("default", HostingSiteArgs.builder()
            .project("my-project-name")
            .siteId("site-id-full")
            .build());

        var defaultHostingCustomDomain = new HostingCustomDomain("defaultHostingCustomDomain", HostingCustomDomainArgs.builder()
            .project("my-project-name")
            .siteId(default_.siteId())
            .customDomain("source.domain.com")
            .certPreference("GROUPED")
            .redirectTarget("destination.domain.com")
            .waitDnsVerification(false)
            .build());

    }
}
Copy
resources:
  default:
    type: gcp:firebase:HostingSite
    properties:
      project: my-project-name
      siteId: site-id-full
  defaultHostingCustomDomain:
    type: gcp:firebase:HostingCustomDomain
    name: default
    properties:
      project: my-project-name
      siteId: ${default.siteId}
      customDomain: source.domain.com
      certPreference: GROUPED
      redirectTarget: destination.domain.com
      waitDnsVerification: false
Copy

Firebasehosting Customdomain Cloud Run

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const _default = new gcp.firebase.HostingSite("default", {
    project: "my-project-name",
    siteId: "site-id",
});
const defaultService = new gcp.cloudrunv2.Service("default", {
    project: "my-project-name",
    name: "cloud-run-service-via-hosting",
    location: "us-central1",
    ingress: "INGRESS_TRAFFIC_ALL",
    template: {
        containers: [{
            image: "us-docker.pkg.dev/cloudrun/container/hello",
        }],
    },
    deletionProtection: true,
});
const defaultHostingVersion = new gcp.firebase.HostingVersion("default", {
    siteId: _default.siteId,
    config: {
        rewrites: [{
            glob: "/hello/**",
            run: {
                serviceId: defaultService.name,
                region: defaultService.location,
            },
        }],
    },
});
const defaultHostingRelease = new gcp.firebase.HostingRelease("default", {
    siteId: _default.siteId,
    versionName: defaultHostingVersion.name,
    message: "Cloud Run Integration",
});
const defaultHostingCustomDomain = new gcp.firebase.HostingCustomDomain("default", {
    project: "my-project-name",
    siteId: _default.siteId,
    customDomain: "run.custom.domain.com",
    waitDnsVerification: false,
});
Copy
import pulumi
import pulumi_gcp as gcp

default = gcp.firebase.HostingSite("default",
    project="my-project-name",
    site_id="site-id")
default_service = gcp.cloudrunv2.Service("default",
    project="my-project-name",
    name="cloud-run-service-via-hosting",
    location="us-central1",
    ingress="INGRESS_TRAFFIC_ALL",
    template={
        "containers": [{
            "image": "us-docker.pkg.dev/cloudrun/container/hello",
        }],
    },
    deletion_protection=True)
default_hosting_version = gcp.firebase.HostingVersion("default",
    site_id=default.site_id,
    config={
        "rewrites": [{
            "glob": "/hello/**",
            "run": {
                "service_id": default_service.name,
                "region": default_service.location,
            },
        }],
    })
default_hosting_release = gcp.firebase.HostingRelease("default",
    site_id=default.site_id,
    version_name=default_hosting_version.name,
    message="Cloud Run Integration")
default_hosting_custom_domain = gcp.firebase.HostingCustomDomain("default",
    project="my-project-name",
    site_id=default.site_id,
    custom_domain="run.custom.domain.com",
    wait_dns_verification=False)
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/cloudrunv2"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/firebase"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := firebase.NewHostingSite(ctx, "default", &firebase.HostingSiteArgs{
			Project: pulumi.String("my-project-name"),
			SiteId:  pulumi.String("site-id"),
		})
		if err != nil {
			return err
		}
		defaultService, err := cloudrunv2.NewService(ctx, "default", &cloudrunv2.ServiceArgs{
			Project:  pulumi.String("my-project-name"),
			Name:     pulumi.String("cloud-run-service-via-hosting"),
			Location: pulumi.String("us-central1"),
			Ingress:  pulumi.String("INGRESS_TRAFFIC_ALL"),
			Template: &cloudrunv2.ServiceTemplateArgs{
				Containers: cloudrunv2.ServiceTemplateContainerArray{
					&cloudrunv2.ServiceTemplateContainerArgs{
						Image: pulumi.String("us-docker.pkg.dev/cloudrun/container/hello"),
					},
				},
			},
			DeletionProtection: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		defaultHostingVersion, err := firebase.NewHostingVersion(ctx, "default", &firebase.HostingVersionArgs{
			SiteId: _default.SiteId,
			Config: &firebase.HostingVersionConfigArgs{
				Rewrites: firebase.HostingVersionConfigRewriteArray{
					&firebase.HostingVersionConfigRewriteArgs{
						Glob: pulumi.String("/hello/**"),
						Run: &firebase.HostingVersionConfigRewriteRunArgs{
							ServiceId: defaultService.Name,
							Region:    defaultService.Location,
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = firebase.NewHostingRelease(ctx, "default", &firebase.HostingReleaseArgs{
			SiteId:      _default.SiteId,
			VersionName: defaultHostingVersion.Name,
			Message:     pulumi.String("Cloud Run Integration"),
		})
		if err != nil {
			return err
		}
		_, err = firebase.NewHostingCustomDomain(ctx, "default", &firebase.HostingCustomDomainArgs{
			Project:             pulumi.String("my-project-name"),
			SiteId:              _default.SiteId,
			CustomDomain:        pulumi.String("run.custom.domain.com"),
			WaitDnsVerification: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var @default = new Gcp.Firebase.HostingSite("default", new()
    {
        Project = "my-project-name",
        SiteId = "site-id",
    });

    var defaultService = new Gcp.CloudRunV2.Service("default", new()
    {
        Project = "my-project-name",
        Name = "cloud-run-service-via-hosting",
        Location = "us-central1",
        Ingress = "INGRESS_TRAFFIC_ALL",
        Template = new Gcp.CloudRunV2.Inputs.ServiceTemplateArgs
        {
            Containers = new[]
            {
                new Gcp.CloudRunV2.Inputs.ServiceTemplateContainerArgs
                {
                    Image = "us-docker.pkg.dev/cloudrun/container/hello",
                },
            },
        },
        DeletionProtection = true,
    });

    var defaultHostingVersion = new Gcp.Firebase.HostingVersion("default", new()
    {
        SiteId = @default.SiteId,
        Config = new Gcp.Firebase.Inputs.HostingVersionConfigArgs
        {
            Rewrites = new[]
            {
                new Gcp.Firebase.Inputs.HostingVersionConfigRewriteArgs
                {
                    Glob = "/hello/**",
                    Run = new Gcp.Firebase.Inputs.HostingVersionConfigRewriteRunArgs
                    {
                        ServiceId = defaultService.Name,
                        Region = defaultService.Location,
                    },
                },
            },
        },
    });

    var defaultHostingRelease = new Gcp.Firebase.HostingRelease("default", new()
    {
        SiteId = @default.SiteId,
        VersionName = defaultHostingVersion.Name,
        Message = "Cloud Run Integration",
    });

    var defaultHostingCustomDomain = new Gcp.Firebase.HostingCustomDomain("default", new()
    {
        Project = "my-project-name",
        SiteId = @default.SiteId,
        CustomDomain = "run.custom.domain.com",
        WaitDnsVerification = false,
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.firebase.HostingSite;
import com.pulumi.gcp.firebase.HostingSiteArgs;
import com.pulumi.gcp.cloudrunv2.Service;
import com.pulumi.gcp.cloudrunv2.ServiceArgs;
import com.pulumi.gcp.cloudrunv2.inputs.ServiceTemplateArgs;
import com.pulumi.gcp.firebase.HostingVersion;
import com.pulumi.gcp.firebase.HostingVersionArgs;
import com.pulumi.gcp.firebase.inputs.HostingVersionConfigArgs;
import com.pulumi.gcp.firebase.HostingRelease;
import com.pulumi.gcp.firebase.HostingReleaseArgs;
import com.pulumi.gcp.firebase.HostingCustomDomain;
import com.pulumi.gcp.firebase.HostingCustomDomainArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var default_ = new HostingSite("default", HostingSiteArgs.builder()
            .project("my-project-name")
            .siteId("site-id")
            .build());

        var defaultService = new Service("defaultService", ServiceArgs.builder()
            .project("my-project-name")
            .name("cloud-run-service-via-hosting")
            .location("us-central1")
            .ingress("INGRESS_TRAFFIC_ALL")
            .template(ServiceTemplateArgs.builder()
                .containers(ServiceTemplateContainerArgs.builder()
                    .image("us-docker.pkg.dev/cloudrun/container/hello")
                    .build())
                .build())
            .deletionProtection(true)
            .build());

        var defaultHostingVersion = new HostingVersion("defaultHostingVersion", HostingVersionArgs.builder()
            .siteId(default_.siteId())
            .config(HostingVersionConfigArgs.builder()
                .rewrites(HostingVersionConfigRewriteArgs.builder()
                    .glob("/hello/**")
                    .run(HostingVersionConfigRewriteRunArgs.builder()
                        .serviceId(defaultService.name())
                        .region(defaultService.location())
                        .build())
                    .build())
                .build())
            .build());

        var defaultHostingRelease = new HostingRelease("defaultHostingRelease", HostingReleaseArgs.builder()
            .siteId(default_.siteId())
            .versionName(defaultHostingVersion.name())
            .message("Cloud Run Integration")
            .build());

        var defaultHostingCustomDomain = new HostingCustomDomain("defaultHostingCustomDomain", HostingCustomDomainArgs.builder()
            .project("my-project-name")
            .siteId(default_.siteId())
            .customDomain("run.custom.domain.com")
            .waitDnsVerification(false)
            .build());

    }
}
Copy
resources:
  default:
    type: gcp:firebase:HostingSite
    properties:
      project: my-project-name
      siteId: site-id
  defaultService:
    type: gcp:cloudrunv2:Service
    name: default
    properties:
      project: my-project-name
      name: cloud-run-service-via-hosting
      location: us-central1
      ingress: INGRESS_TRAFFIC_ALL
      template:
        containers:
          - image: us-docker.pkg.dev/cloudrun/container/hello
      deletionProtection: true
  defaultHostingVersion:
    type: gcp:firebase:HostingVersion
    name: default
    properties:
      siteId: ${default.siteId}
      config:
        rewrites:
          - glob: /hello/**
            run:
              serviceId: ${defaultService.name}
              region: ${defaultService.location}
  defaultHostingRelease:
    type: gcp:firebase:HostingRelease
    name: default
    properties:
      siteId: ${default.siteId}
      versionName: ${defaultHostingVersion.name}
      message: Cloud Run Integration
  defaultHostingCustomDomain:
    type: gcp:firebase:HostingCustomDomain
    name: default
    properties:
      project: my-project-name
      siteId: ${default.siteId}
      customDomain: run.custom.domain.com
      waitDnsVerification: false
Copy

Create HostingCustomDomain Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new HostingCustomDomain(name: string, args: HostingCustomDomainArgs, opts?: CustomResourceOptions);
@overload
def HostingCustomDomain(resource_name: str,
                        args: HostingCustomDomainArgs,
                        opts: Optional[ResourceOptions] = None)

@overload
def HostingCustomDomain(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        custom_domain: Optional[str] = None,
                        site_id: Optional[str] = None,
                        cert_preference: Optional[str] = None,
                        project: Optional[str] = None,
                        redirect_target: Optional[str] = None,
                        wait_dns_verification: Optional[bool] = None)
func NewHostingCustomDomain(ctx *Context, name string, args HostingCustomDomainArgs, opts ...ResourceOption) (*HostingCustomDomain, error)
public HostingCustomDomain(string name, HostingCustomDomainArgs args, CustomResourceOptions? opts = null)
public HostingCustomDomain(String name, HostingCustomDomainArgs args)
public HostingCustomDomain(String name, HostingCustomDomainArgs args, CustomResourceOptions options)
type: gcp:firebase:HostingCustomDomain
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. HostingCustomDomainArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. HostingCustomDomainArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. HostingCustomDomainArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. HostingCustomDomainArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. HostingCustomDomainArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var hostingCustomDomainResource = new Gcp.Firebase.HostingCustomDomain("hostingCustomDomainResource", new()
{
    CustomDomain = "string",
    SiteId = "string",
    CertPreference = "string",
    Project = "string",
    RedirectTarget = "string",
    WaitDnsVerification = false,
});
Copy
example, err := firebase.NewHostingCustomDomain(ctx, "hostingCustomDomainResource", &firebase.HostingCustomDomainArgs{
	CustomDomain:        pulumi.String("string"),
	SiteId:              pulumi.String("string"),
	CertPreference:      pulumi.String("string"),
	Project:             pulumi.String("string"),
	RedirectTarget:      pulumi.String("string"),
	WaitDnsVerification: pulumi.Bool(false),
})
Copy
var hostingCustomDomainResource = new HostingCustomDomain("hostingCustomDomainResource", HostingCustomDomainArgs.builder()
    .customDomain("string")
    .siteId("string")
    .certPreference("string")
    .project("string")
    .redirectTarget("string")
    .waitDnsVerification(false)
    .build());
Copy
hosting_custom_domain_resource = gcp.firebase.HostingCustomDomain("hostingCustomDomainResource",
    custom_domain="string",
    site_id="string",
    cert_preference="string",
    project="string",
    redirect_target="string",
    wait_dns_verification=False)
Copy
const hostingCustomDomainResource = new gcp.firebase.HostingCustomDomain("hostingCustomDomainResource", {
    customDomain: "string",
    siteId: "string",
    certPreference: "string",
    project: "string",
    redirectTarget: "string",
    waitDnsVerification: false,
});
Copy
type: gcp:firebase:HostingCustomDomain
properties:
    certPreference: string
    customDomain: string
    project: string
    redirectTarget: string
    siteId: string
    waitDnsVerification: false
Copy

HostingCustomDomain Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The HostingCustomDomain resource accepts the following input properties:

CustomDomain
This property is required.
Changes to this property will trigger replacement.
string
The ID of the CustomDomain, which is the domain name you'd like to use with Firebase Hosting.


SiteId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the site in which to create this custom domain association.
CertPreference string
A field that lets you specify which SSL certificate type Hosting creates for your domain name. Spark plan CustomDomains only have access to the GROUPED cert type, while Blaze plan can select any option. Possible values are: GROUPED, PROJECT_GROUPED, DEDICATED.
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
RedirectTarget string
A domain name that this CustomDomain should direct traffic towards. If specified, Hosting will respond to requests against this CustomDomain with an HTTP 301 code, and route traffic to the specified redirect_target instead.
WaitDnsVerification Changes to this property will trigger replacement. bool
CustomDomain
This property is required.
Changes to this property will trigger replacement.
string
The ID of the CustomDomain, which is the domain name you'd like to use with Firebase Hosting.


SiteId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the site in which to create this custom domain association.
CertPreference string
A field that lets you specify which SSL certificate type Hosting creates for your domain name. Spark plan CustomDomains only have access to the GROUPED cert type, while Blaze plan can select any option. Possible values are: GROUPED, PROJECT_GROUPED, DEDICATED.
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
RedirectTarget string
A domain name that this CustomDomain should direct traffic towards. If specified, Hosting will respond to requests against this CustomDomain with an HTTP 301 code, and route traffic to the specified redirect_target instead.
WaitDnsVerification Changes to this property will trigger replacement. bool
customDomain
This property is required.
Changes to this property will trigger replacement.
String
The ID of the CustomDomain, which is the domain name you'd like to use with Firebase Hosting.


siteId
This property is required.
Changes to this property will trigger replacement.
String
The ID of the site in which to create this custom domain association.
certPreference String
A field that lets you specify which SSL certificate type Hosting creates for your domain name. Spark plan CustomDomains only have access to the GROUPED cert type, while Blaze plan can select any option. Possible values are: GROUPED, PROJECT_GROUPED, DEDICATED.
project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
redirectTarget String
A domain name that this CustomDomain should direct traffic towards. If specified, Hosting will respond to requests against this CustomDomain with an HTTP 301 code, and route traffic to the specified redirect_target instead.
waitDnsVerification Changes to this property will trigger replacement. Boolean
customDomain
This property is required.
Changes to this property will trigger replacement.
string
The ID of the CustomDomain, which is the domain name you'd like to use with Firebase Hosting.


siteId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the site in which to create this custom domain association.
certPreference string
A field that lets you specify which SSL certificate type Hosting creates for your domain name. Spark plan CustomDomains only have access to the GROUPED cert type, while Blaze plan can select any option. Possible values are: GROUPED, PROJECT_GROUPED, DEDICATED.
project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
redirectTarget string
A domain name that this CustomDomain should direct traffic towards. If specified, Hosting will respond to requests against this CustomDomain with an HTTP 301 code, and route traffic to the specified redirect_target instead.
waitDnsVerification Changes to this property will trigger replacement. boolean
custom_domain
This property is required.
Changes to this property will trigger replacement.
str
The ID of the CustomDomain, which is the domain name you'd like to use with Firebase Hosting.


site_id
This property is required.
Changes to this property will trigger replacement.
str
The ID of the site in which to create this custom domain association.
cert_preference str
A field that lets you specify which SSL certificate type Hosting creates for your domain name. Spark plan CustomDomains only have access to the GROUPED cert type, while Blaze plan can select any option. Possible values are: GROUPED, PROJECT_GROUPED, DEDICATED.
project Changes to this property will trigger replacement. str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
redirect_target str
A domain name that this CustomDomain should direct traffic towards. If specified, Hosting will respond to requests against this CustomDomain with an HTTP 301 code, and route traffic to the specified redirect_target instead.
wait_dns_verification Changes to this property will trigger replacement. bool
customDomain
This property is required.
Changes to this property will trigger replacement.
String
The ID of the CustomDomain, which is the domain name you'd like to use with Firebase Hosting.


siteId
This property is required.
Changes to this property will trigger replacement.
String
The ID of the site in which to create this custom domain association.
certPreference String
A field that lets you specify which SSL certificate type Hosting creates for your domain name. Spark plan CustomDomains only have access to the GROUPED cert type, while Blaze plan can select any option. Possible values are: GROUPED, PROJECT_GROUPED, DEDICATED.
project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
redirectTarget String
A domain name that this CustomDomain should direct traffic towards. If specified, Hosting will respond to requests against this CustomDomain with an HTTP 301 code, and route traffic to the specified redirect_target instead.
waitDnsVerification Changes to this property will trigger replacement. Boolean

Outputs

All input properties are implicitly available as output properties. Additionally, the HostingCustomDomain resource produces the following output properties:

Certs List<HostingCustomDomainCert>
The SSL certificate Hosting has for this CustomDomain's domain name. For new CustomDomains, this often represents Hosting's intent to create a certificate, rather than an actual cert. Check the state field for more. Structure is documented below.
CreateTime string
The CustomDomain's create time.
DeleteTime string
The time the CustomDomain was deleted; null for CustomDomains that haven't been deleted. Deleted CustomDomains persist for approximately 30 days, after which time Hosting removes them completely.
Etag string
A string that represents the current state of the CustomDomain and allows you to confirm its initial state in requests that would modify it.
ExpireTime string
The minimum time before a soft-deleted CustomDomain is completely removed from Hosting; null for CustomDomains that haven't been deleted.
HostState string
The host state of your domain name. Host state is determined by checking each IP address associated with your domain name to see if it's serving Hosting content. HOST_UNHOSTED: Your CustomDomain's domain name isn't associated with any IP addresses. HOST_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your CustomDomain's issues field for more details. HOST_MISMATCH: Your CustomDomain's domain name has IP addresses that don't ultimately resolve to Hosting. HOST_CONFLICT: Your CustomDomain's domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove A and AAAA records related to non-Hosting services. HOST_ACTIVE: All requests against your CustomDomain's domain name are served by Hosting. If the CustomDomain's OwnershipState is also ACTIVE, Hosting serves your Hosting Site's content on the domain name.
Id string
The provider-assigned unique ID for this managed resource.
Issues List<HostingCustomDomainIssue>
A set of errors Hosting systems encountered when trying to establish Hosting's ability to serve secure content for your domain name. Resolve these issues to ensure your CustomDomain behaves properly. Structure is documented below.
Name string
The fully-qualified name of the CustomDomain.
OwnershipState string
The ownership state of your domain name. Ownership is determined at a Firebase project level, and established by adding TXT records to your domain name's DNS records. Ownership cascades to subdomains. Granting a project ownership of foo.com also grants that project ownership over bar.foo.com, unless you add specific TXT records to bar.foo.com that grant a different project ownership. If your CustomDomain is in an OwnershipState other than OWNERSHIP_ACTIVE for more than 30 days and it hasn't been updated in at least 30 days, Hosting's ownership systems delete the CustomDomain. OWNERSHIP_MISSING: Your CustomDomain's domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf. OWNERSHIP_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your CustomDomain's issues field for more details. OWNERSHIP_MISMATCH: Your CustomDomain's domain name is owned by another Firebase project. Remove the conflicting TXT records and replace them with project-specific records for your current Firebase project. OWNERSHIP_CONFLICT: Your CustomDomain's domain name has conflicting TXT records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership. OWNERSHIP_PENDING: Your CustomDomain's DNS records are configured correctly. Hosting will transfer ownership of your domain to this CustomDomain within 24 hours. OWNERSHIP_ACTIVE: Your CustomDomain's domain name has TXT records that grant its project permission to act on its behalf.
Reconciling bool
if true, indicates that Hosting's systems are attempting to make the CustomDomain's state match your preferred state. This is most frequently true when initially provisioning a CustomDomain or when creating a new SSL certificate to match an updated cert_preference
RequiredDnsUpdates List<HostingCustomDomainRequiredDnsUpdate>
A set of updates you should make to the domain name's DNS records to let Hosting serve secure content on its behalf. Structure is documented below.
UpdateTime string
The last time the CustomDomain was updated.
Certs []HostingCustomDomainCert
The SSL certificate Hosting has for this CustomDomain's domain name. For new CustomDomains, this often represents Hosting's intent to create a certificate, rather than an actual cert. Check the state field for more. Structure is documented below.
CreateTime string
The CustomDomain's create time.
DeleteTime string
The time the CustomDomain was deleted; null for CustomDomains that haven't been deleted. Deleted CustomDomains persist for approximately 30 days, after which time Hosting removes them completely.
Etag string
A string that represents the current state of the CustomDomain and allows you to confirm its initial state in requests that would modify it.
ExpireTime string
The minimum time before a soft-deleted CustomDomain is completely removed from Hosting; null for CustomDomains that haven't been deleted.
HostState string
The host state of your domain name. Host state is determined by checking each IP address associated with your domain name to see if it's serving Hosting content. HOST_UNHOSTED: Your CustomDomain's domain name isn't associated with any IP addresses. HOST_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your CustomDomain's issues field for more details. HOST_MISMATCH: Your CustomDomain's domain name has IP addresses that don't ultimately resolve to Hosting. HOST_CONFLICT: Your CustomDomain's domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove A and AAAA records related to non-Hosting services. HOST_ACTIVE: All requests against your CustomDomain's domain name are served by Hosting. If the CustomDomain's OwnershipState is also ACTIVE, Hosting serves your Hosting Site's content on the domain name.
Id string
The provider-assigned unique ID for this managed resource.
Issues []HostingCustomDomainIssue
A set of errors Hosting systems encountered when trying to establish Hosting's ability to serve secure content for your domain name. Resolve these issues to ensure your CustomDomain behaves properly. Structure is documented below.
Name string
The fully-qualified name of the CustomDomain.
OwnershipState string
The ownership state of your domain name. Ownership is determined at a Firebase project level, and established by adding TXT records to your domain name's DNS records. Ownership cascades to subdomains. Granting a project ownership of foo.com also grants that project ownership over bar.foo.com, unless you add specific TXT records to bar.foo.com that grant a different project ownership. If your CustomDomain is in an OwnershipState other than OWNERSHIP_ACTIVE for more than 30 days and it hasn't been updated in at least 30 days, Hosting's ownership systems delete the CustomDomain. OWNERSHIP_MISSING: Your CustomDomain's domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf. OWNERSHIP_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your CustomDomain's issues field for more details. OWNERSHIP_MISMATCH: Your CustomDomain's domain name is owned by another Firebase project. Remove the conflicting TXT records and replace them with project-specific records for your current Firebase project. OWNERSHIP_CONFLICT: Your CustomDomain's domain name has conflicting TXT records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership. OWNERSHIP_PENDING: Your CustomDomain's DNS records are configured correctly. Hosting will transfer ownership of your domain to this CustomDomain within 24 hours. OWNERSHIP_ACTIVE: Your CustomDomain's domain name has TXT records that grant its project permission to act on its behalf.
Reconciling bool
if true, indicates that Hosting's systems are attempting to make the CustomDomain's state match your preferred state. This is most frequently true when initially provisioning a CustomDomain or when creating a new SSL certificate to match an updated cert_preference
RequiredDnsUpdates []HostingCustomDomainRequiredDnsUpdate
A set of updates you should make to the domain name's DNS records to let Hosting serve secure content on its behalf. Structure is documented below.
UpdateTime string
The last time the CustomDomain was updated.
certs List<HostingCustomDomainCert>
The SSL certificate Hosting has for this CustomDomain's domain name. For new CustomDomains, this often represents Hosting's intent to create a certificate, rather than an actual cert. Check the state field for more. Structure is documented below.
createTime String
The CustomDomain's create time.
deleteTime String
The time the CustomDomain was deleted; null for CustomDomains that haven't been deleted. Deleted CustomDomains persist for approximately 30 days, after which time Hosting removes them completely.
etag String
A string that represents the current state of the CustomDomain and allows you to confirm its initial state in requests that would modify it.
expireTime String
The minimum time before a soft-deleted CustomDomain is completely removed from Hosting; null for CustomDomains that haven't been deleted.
hostState String
The host state of your domain name. Host state is determined by checking each IP address associated with your domain name to see if it's serving Hosting content. HOST_UNHOSTED: Your CustomDomain's domain name isn't associated with any IP addresses. HOST_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your CustomDomain's issues field for more details. HOST_MISMATCH: Your CustomDomain's domain name has IP addresses that don't ultimately resolve to Hosting. HOST_CONFLICT: Your CustomDomain's domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove A and AAAA records related to non-Hosting services. HOST_ACTIVE: All requests against your CustomDomain's domain name are served by Hosting. If the CustomDomain's OwnershipState is also ACTIVE, Hosting serves your Hosting Site's content on the domain name.
id String
The provider-assigned unique ID for this managed resource.
issues List<HostingCustomDomainIssue>
A set of errors Hosting systems encountered when trying to establish Hosting's ability to serve secure content for your domain name. Resolve these issues to ensure your CustomDomain behaves properly. Structure is documented below.
name String
The fully-qualified name of the CustomDomain.
ownershipState String
The ownership state of your domain name. Ownership is determined at a Firebase project level, and established by adding TXT records to your domain name's DNS records. Ownership cascades to subdomains. Granting a project ownership of foo.com also grants that project ownership over bar.foo.com, unless you add specific TXT records to bar.foo.com that grant a different project ownership. If your CustomDomain is in an OwnershipState other than OWNERSHIP_ACTIVE for more than 30 days and it hasn't been updated in at least 30 days, Hosting's ownership systems delete the CustomDomain. OWNERSHIP_MISSING: Your CustomDomain's domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf. OWNERSHIP_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your CustomDomain's issues field for more details. OWNERSHIP_MISMATCH: Your CustomDomain's domain name is owned by another Firebase project. Remove the conflicting TXT records and replace them with project-specific records for your current Firebase project. OWNERSHIP_CONFLICT: Your CustomDomain's domain name has conflicting TXT records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership. OWNERSHIP_PENDING: Your CustomDomain's DNS records are configured correctly. Hosting will transfer ownership of your domain to this CustomDomain within 24 hours. OWNERSHIP_ACTIVE: Your CustomDomain's domain name has TXT records that grant its project permission to act on its behalf.
reconciling Boolean
if true, indicates that Hosting's systems are attempting to make the CustomDomain's state match your preferred state. This is most frequently true when initially provisioning a CustomDomain or when creating a new SSL certificate to match an updated cert_preference
requiredDnsUpdates List<HostingCustomDomainRequiredDnsUpdate>
A set of updates you should make to the domain name's DNS records to let Hosting serve secure content on its behalf. Structure is documented below.
updateTime String
The last time the CustomDomain was updated.
certs HostingCustomDomainCert[]
The SSL certificate Hosting has for this CustomDomain's domain name. For new CustomDomains, this often represents Hosting's intent to create a certificate, rather than an actual cert. Check the state field for more. Structure is documented below.
createTime string
The CustomDomain's create time.
deleteTime string
The time the CustomDomain was deleted; null for CustomDomains that haven't been deleted. Deleted CustomDomains persist for approximately 30 days, after which time Hosting removes them completely.
etag string
A string that represents the current state of the CustomDomain and allows you to confirm its initial state in requests that would modify it.
expireTime string
The minimum time before a soft-deleted CustomDomain is completely removed from Hosting; null for CustomDomains that haven't been deleted.
hostState string
The host state of your domain name. Host state is determined by checking each IP address associated with your domain name to see if it's serving Hosting content. HOST_UNHOSTED: Your CustomDomain's domain name isn't associated with any IP addresses. HOST_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your CustomDomain's issues field for more details. HOST_MISMATCH: Your CustomDomain's domain name has IP addresses that don't ultimately resolve to Hosting. HOST_CONFLICT: Your CustomDomain's domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove A and AAAA records related to non-Hosting services. HOST_ACTIVE: All requests against your CustomDomain's domain name are served by Hosting. If the CustomDomain's OwnershipState is also ACTIVE, Hosting serves your Hosting Site's content on the domain name.
id string
The provider-assigned unique ID for this managed resource.
issues HostingCustomDomainIssue[]
A set of errors Hosting systems encountered when trying to establish Hosting's ability to serve secure content for your domain name. Resolve these issues to ensure your CustomDomain behaves properly. Structure is documented below.
name string
The fully-qualified name of the CustomDomain.
ownershipState string
The ownership state of your domain name. Ownership is determined at a Firebase project level, and established by adding TXT records to your domain name's DNS records. Ownership cascades to subdomains. Granting a project ownership of foo.com also grants that project ownership over bar.foo.com, unless you add specific TXT records to bar.foo.com that grant a different project ownership. If your CustomDomain is in an OwnershipState other than OWNERSHIP_ACTIVE for more than 30 days and it hasn't been updated in at least 30 days, Hosting's ownership systems delete the CustomDomain. OWNERSHIP_MISSING: Your CustomDomain's domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf. OWNERSHIP_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your CustomDomain's issues field for more details. OWNERSHIP_MISMATCH: Your CustomDomain's domain name is owned by another Firebase project. Remove the conflicting TXT records and replace them with project-specific records for your current Firebase project. OWNERSHIP_CONFLICT: Your CustomDomain's domain name has conflicting TXT records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership. OWNERSHIP_PENDING: Your CustomDomain's DNS records are configured correctly. Hosting will transfer ownership of your domain to this CustomDomain within 24 hours. OWNERSHIP_ACTIVE: Your CustomDomain's domain name has TXT records that grant its project permission to act on its behalf.
reconciling boolean
if true, indicates that Hosting's systems are attempting to make the CustomDomain's state match your preferred state. This is most frequently true when initially provisioning a CustomDomain or when creating a new SSL certificate to match an updated cert_preference
requiredDnsUpdates HostingCustomDomainRequiredDnsUpdate[]
A set of updates you should make to the domain name's DNS records to let Hosting serve secure content on its behalf. Structure is documented below.
updateTime string
The last time the CustomDomain was updated.
certs Sequence[HostingCustomDomainCert]
The SSL certificate Hosting has for this CustomDomain's domain name. For new CustomDomains, this often represents Hosting's intent to create a certificate, rather than an actual cert. Check the state field for more. Structure is documented below.
create_time str
The CustomDomain's create time.
delete_time str
The time the CustomDomain was deleted; null for CustomDomains that haven't been deleted. Deleted CustomDomains persist for approximately 30 days, after which time Hosting removes them completely.
etag str
A string that represents the current state of the CustomDomain and allows you to confirm its initial state in requests that would modify it.
expire_time str
The minimum time before a soft-deleted CustomDomain is completely removed from Hosting; null for CustomDomains that haven't been deleted.
host_state str
The host state of your domain name. Host state is determined by checking each IP address associated with your domain name to see if it's serving Hosting content. HOST_UNHOSTED: Your CustomDomain's domain name isn't associated with any IP addresses. HOST_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your CustomDomain's issues field for more details. HOST_MISMATCH: Your CustomDomain's domain name has IP addresses that don't ultimately resolve to Hosting. HOST_CONFLICT: Your CustomDomain's domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove A and AAAA records related to non-Hosting services. HOST_ACTIVE: All requests against your CustomDomain's domain name are served by Hosting. If the CustomDomain's OwnershipState is also ACTIVE, Hosting serves your Hosting Site's content on the domain name.
id str
The provider-assigned unique ID for this managed resource.
issues Sequence[HostingCustomDomainIssue]
A set of errors Hosting systems encountered when trying to establish Hosting's ability to serve secure content for your domain name. Resolve these issues to ensure your CustomDomain behaves properly. Structure is documented below.
name str
The fully-qualified name of the CustomDomain.
ownership_state str
The ownership state of your domain name. Ownership is determined at a Firebase project level, and established by adding TXT records to your domain name's DNS records. Ownership cascades to subdomains. Granting a project ownership of foo.com also grants that project ownership over bar.foo.com, unless you add specific TXT records to bar.foo.com that grant a different project ownership. If your CustomDomain is in an OwnershipState other than OWNERSHIP_ACTIVE for more than 30 days and it hasn't been updated in at least 30 days, Hosting's ownership systems delete the CustomDomain. OWNERSHIP_MISSING: Your CustomDomain's domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf. OWNERSHIP_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your CustomDomain's issues field for more details. OWNERSHIP_MISMATCH: Your CustomDomain's domain name is owned by another Firebase project. Remove the conflicting TXT records and replace them with project-specific records for your current Firebase project. OWNERSHIP_CONFLICT: Your CustomDomain's domain name has conflicting TXT records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership. OWNERSHIP_PENDING: Your CustomDomain's DNS records are configured correctly. Hosting will transfer ownership of your domain to this CustomDomain within 24 hours. OWNERSHIP_ACTIVE: Your CustomDomain's domain name has TXT records that grant its project permission to act on its behalf.
reconciling bool
if true, indicates that Hosting's systems are attempting to make the CustomDomain's state match your preferred state. This is most frequently true when initially provisioning a CustomDomain or when creating a new SSL certificate to match an updated cert_preference
required_dns_updates Sequence[HostingCustomDomainRequiredDnsUpdate]
A set of updates you should make to the domain name's DNS records to let Hosting serve secure content on its behalf. Structure is documented below.
update_time str
The last time the CustomDomain was updated.
certs List<Property Map>
The SSL certificate Hosting has for this CustomDomain's domain name. For new CustomDomains, this often represents Hosting's intent to create a certificate, rather than an actual cert. Check the state field for more. Structure is documented below.
createTime String
The CustomDomain's create time.
deleteTime String
The time the CustomDomain was deleted; null for CustomDomains that haven't been deleted. Deleted CustomDomains persist for approximately 30 days, after which time Hosting removes them completely.
etag String
A string that represents the current state of the CustomDomain and allows you to confirm its initial state in requests that would modify it.
expireTime String
The minimum time before a soft-deleted CustomDomain is completely removed from Hosting; null for CustomDomains that haven't been deleted.
hostState String
The host state of your domain name. Host state is determined by checking each IP address associated with your domain name to see if it's serving Hosting content. HOST_UNHOSTED: Your CustomDomain's domain name isn't associated with any IP addresses. HOST_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your CustomDomain's issues field for more details. HOST_MISMATCH: Your CustomDomain's domain name has IP addresses that don't ultimately resolve to Hosting. HOST_CONFLICT: Your CustomDomain's domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove A and AAAA records related to non-Hosting services. HOST_ACTIVE: All requests against your CustomDomain's domain name are served by Hosting. If the CustomDomain's OwnershipState is also ACTIVE, Hosting serves your Hosting Site's content on the domain name.
id String
The provider-assigned unique ID for this managed resource.
issues List<Property Map>
A set of errors Hosting systems encountered when trying to establish Hosting's ability to serve secure content for your domain name. Resolve these issues to ensure your CustomDomain behaves properly. Structure is documented below.
name String
The fully-qualified name of the CustomDomain.
ownershipState String
The ownership state of your domain name. Ownership is determined at a Firebase project level, and established by adding TXT records to your domain name's DNS records. Ownership cascades to subdomains. Granting a project ownership of foo.com also grants that project ownership over bar.foo.com, unless you add specific TXT records to bar.foo.com that grant a different project ownership. If your CustomDomain is in an OwnershipState other than OWNERSHIP_ACTIVE for more than 30 days and it hasn't been updated in at least 30 days, Hosting's ownership systems delete the CustomDomain. OWNERSHIP_MISSING: Your CustomDomain's domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf. OWNERSHIP_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your CustomDomain's issues field for more details. OWNERSHIP_MISMATCH: Your CustomDomain's domain name is owned by another Firebase project. Remove the conflicting TXT records and replace them with project-specific records for your current Firebase project. OWNERSHIP_CONFLICT: Your CustomDomain's domain name has conflicting TXT records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership. OWNERSHIP_PENDING: Your CustomDomain's DNS records are configured correctly. Hosting will transfer ownership of your domain to this CustomDomain within 24 hours. OWNERSHIP_ACTIVE: Your CustomDomain's domain name has TXT records that grant its project permission to act on its behalf.
reconciling Boolean
if true, indicates that Hosting's systems are attempting to make the CustomDomain's state match your preferred state. This is most frequently true when initially provisioning a CustomDomain or when creating a new SSL certificate to match an updated cert_preference
requiredDnsUpdates List<Property Map>
A set of updates you should make to the domain name's DNS records to let Hosting serve secure content on its behalf. Structure is documented below.
updateTime String
The last time the CustomDomain was updated.

Look up Existing HostingCustomDomain Resource

Get an existing HostingCustomDomain resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: HostingCustomDomainState, opts?: CustomResourceOptions): HostingCustomDomain
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        cert_preference: Optional[str] = None,
        certs: Optional[Sequence[HostingCustomDomainCertArgs]] = None,
        create_time: Optional[str] = None,
        custom_domain: Optional[str] = None,
        delete_time: Optional[str] = None,
        etag: Optional[str] = None,
        expire_time: Optional[str] = None,
        host_state: Optional[str] = None,
        issues: Optional[Sequence[HostingCustomDomainIssueArgs]] = None,
        name: Optional[str] = None,
        ownership_state: Optional[str] = None,
        project: Optional[str] = None,
        reconciling: Optional[bool] = None,
        redirect_target: Optional[str] = None,
        required_dns_updates: Optional[Sequence[HostingCustomDomainRequiredDnsUpdateArgs]] = None,
        site_id: Optional[str] = None,
        update_time: Optional[str] = None,
        wait_dns_verification: Optional[bool] = None) -> HostingCustomDomain
func GetHostingCustomDomain(ctx *Context, name string, id IDInput, state *HostingCustomDomainState, opts ...ResourceOption) (*HostingCustomDomain, error)
public static HostingCustomDomain Get(string name, Input<string> id, HostingCustomDomainState? state, CustomResourceOptions? opts = null)
public static HostingCustomDomain get(String name, Output<String> id, HostingCustomDomainState state, CustomResourceOptions options)
resources:  _:    type: gcp:firebase:HostingCustomDomain    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
CertPreference string
A field that lets you specify which SSL certificate type Hosting creates for your domain name. Spark plan CustomDomains only have access to the GROUPED cert type, while Blaze plan can select any option. Possible values are: GROUPED, PROJECT_GROUPED, DEDICATED.
Certs List<HostingCustomDomainCert>
The SSL certificate Hosting has for this CustomDomain's domain name. For new CustomDomains, this often represents Hosting's intent to create a certificate, rather than an actual cert. Check the state field for more. Structure is documented below.
CreateTime string
The CustomDomain's create time.
CustomDomain Changes to this property will trigger replacement. string
The ID of the CustomDomain, which is the domain name you'd like to use with Firebase Hosting.


DeleteTime string
The time the CustomDomain was deleted; null for CustomDomains that haven't been deleted. Deleted CustomDomains persist for approximately 30 days, after which time Hosting removes them completely.
Etag string
A string that represents the current state of the CustomDomain and allows you to confirm its initial state in requests that would modify it.
ExpireTime string
The minimum time before a soft-deleted CustomDomain is completely removed from Hosting; null for CustomDomains that haven't been deleted.
HostState string
The host state of your domain name. Host state is determined by checking each IP address associated with your domain name to see if it's serving Hosting content. HOST_UNHOSTED: Your CustomDomain's domain name isn't associated with any IP addresses. HOST_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your CustomDomain's issues field for more details. HOST_MISMATCH: Your CustomDomain's domain name has IP addresses that don't ultimately resolve to Hosting. HOST_CONFLICT: Your CustomDomain's domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove A and AAAA records related to non-Hosting services. HOST_ACTIVE: All requests against your CustomDomain's domain name are served by Hosting. If the CustomDomain's OwnershipState is also ACTIVE, Hosting serves your Hosting Site's content on the domain name.
Issues List<HostingCustomDomainIssue>
A set of errors Hosting systems encountered when trying to establish Hosting's ability to serve secure content for your domain name. Resolve these issues to ensure your CustomDomain behaves properly. Structure is documented below.
Name string
The fully-qualified name of the CustomDomain.
OwnershipState string
The ownership state of your domain name. Ownership is determined at a Firebase project level, and established by adding TXT records to your domain name's DNS records. Ownership cascades to subdomains. Granting a project ownership of foo.com also grants that project ownership over bar.foo.com, unless you add specific TXT records to bar.foo.com that grant a different project ownership. If your CustomDomain is in an OwnershipState other than OWNERSHIP_ACTIVE for more than 30 days and it hasn't been updated in at least 30 days, Hosting's ownership systems delete the CustomDomain. OWNERSHIP_MISSING: Your CustomDomain's domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf. OWNERSHIP_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your CustomDomain's issues field for more details. OWNERSHIP_MISMATCH: Your CustomDomain's domain name is owned by another Firebase project. Remove the conflicting TXT records and replace them with project-specific records for your current Firebase project. OWNERSHIP_CONFLICT: Your CustomDomain's domain name has conflicting TXT records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership. OWNERSHIP_PENDING: Your CustomDomain's DNS records are configured correctly. Hosting will transfer ownership of your domain to this CustomDomain within 24 hours. OWNERSHIP_ACTIVE: Your CustomDomain's domain name has TXT records that grant its project permission to act on its behalf.
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
Reconciling bool
if true, indicates that Hosting's systems are attempting to make the CustomDomain's state match your preferred state. This is most frequently true when initially provisioning a CustomDomain or when creating a new SSL certificate to match an updated cert_preference
RedirectTarget string
A domain name that this CustomDomain should direct traffic towards. If specified, Hosting will respond to requests against this CustomDomain with an HTTP 301 code, and route traffic to the specified redirect_target instead.
RequiredDnsUpdates List<HostingCustomDomainRequiredDnsUpdate>
A set of updates you should make to the domain name's DNS records to let Hosting serve secure content on its behalf. Structure is documented below.
SiteId Changes to this property will trigger replacement. string
The ID of the site in which to create this custom domain association.
UpdateTime string
The last time the CustomDomain was updated.
WaitDnsVerification Changes to this property will trigger replacement. bool
CertPreference string
A field that lets you specify which SSL certificate type Hosting creates for your domain name. Spark plan CustomDomains only have access to the GROUPED cert type, while Blaze plan can select any option. Possible values are: GROUPED, PROJECT_GROUPED, DEDICATED.
Certs []HostingCustomDomainCertArgs
The SSL certificate Hosting has for this CustomDomain's domain name. For new CustomDomains, this often represents Hosting's intent to create a certificate, rather than an actual cert. Check the state field for more. Structure is documented below.
CreateTime string
The CustomDomain's create time.
CustomDomain Changes to this property will trigger replacement. string
The ID of the CustomDomain, which is the domain name you'd like to use with Firebase Hosting.


DeleteTime string
The time the CustomDomain was deleted; null for CustomDomains that haven't been deleted. Deleted CustomDomains persist for approximately 30 days, after which time Hosting removes them completely.
Etag string
A string that represents the current state of the CustomDomain and allows you to confirm its initial state in requests that would modify it.
ExpireTime string
The minimum time before a soft-deleted CustomDomain is completely removed from Hosting; null for CustomDomains that haven't been deleted.
HostState string
The host state of your domain name. Host state is determined by checking each IP address associated with your domain name to see if it's serving Hosting content. HOST_UNHOSTED: Your CustomDomain's domain name isn't associated with any IP addresses. HOST_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your CustomDomain's issues field for more details. HOST_MISMATCH: Your CustomDomain's domain name has IP addresses that don't ultimately resolve to Hosting. HOST_CONFLICT: Your CustomDomain's domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove A and AAAA records related to non-Hosting services. HOST_ACTIVE: All requests against your CustomDomain's domain name are served by Hosting. If the CustomDomain's OwnershipState is also ACTIVE, Hosting serves your Hosting Site's content on the domain name.
Issues []HostingCustomDomainIssueArgs
A set of errors Hosting systems encountered when trying to establish Hosting's ability to serve secure content for your domain name. Resolve these issues to ensure your CustomDomain behaves properly. Structure is documented below.
Name string
The fully-qualified name of the CustomDomain.
OwnershipState string
The ownership state of your domain name. Ownership is determined at a Firebase project level, and established by adding TXT records to your domain name's DNS records. Ownership cascades to subdomains. Granting a project ownership of foo.com also grants that project ownership over bar.foo.com, unless you add specific TXT records to bar.foo.com that grant a different project ownership. If your CustomDomain is in an OwnershipState other than OWNERSHIP_ACTIVE for more than 30 days and it hasn't been updated in at least 30 days, Hosting's ownership systems delete the CustomDomain. OWNERSHIP_MISSING: Your CustomDomain's domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf. OWNERSHIP_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your CustomDomain's issues field for more details. OWNERSHIP_MISMATCH: Your CustomDomain's domain name is owned by another Firebase project. Remove the conflicting TXT records and replace them with project-specific records for your current Firebase project. OWNERSHIP_CONFLICT: Your CustomDomain's domain name has conflicting TXT records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership. OWNERSHIP_PENDING: Your CustomDomain's DNS records are configured correctly. Hosting will transfer ownership of your domain to this CustomDomain within 24 hours. OWNERSHIP_ACTIVE: Your CustomDomain's domain name has TXT records that grant its project permission to act on its behalf.
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
Reconciling bool
if true, indicates that Hosting's systems are attempting to make the CustomDomain's state match your preferred state. This is most frequently true when initially provisioning a CustomDomain or when creating a new SSL certificate to match an updated cert_preference
RedirectTarget string
A domain name that this CustomDomain should direct traffic towards. If specified, Hosting will respond to requests against this CustomDomain with an HTTP 301 code, and route traffic to the specified redirect_target instead.
RequiredDnsUpdates []HostingCustomDomainRequiredDnsUpdateArgs
A set of updates you should make to the domain name's DNS records to let Hosting serve secure content on its behalf. Structure is documented below.
SiteId Changes to this property will trigger replacement. string
The ID of the site in which to create this custom domain association.
UpdateTime string
The last time the CustomDomain was updated.
WaitDnsVerification Changes to this property will trigger replacement. bool
certPreference String
A field that lets you specify which SSL certificate type Hosting creates for your domain name. Spark plan CustomDomains only have access to the GROUPED cert type, while Blaze plan can select any option. Possible values are: GROUPED, PROJECT_GROUPED, DEDICATED.
certs List<HostingCustomDomainCert>
The SSL certificate Hosting has for this CustomDomain's domain name. For new CustomDomains, this often represents Hosting's intent to create a certificate, rather than an actual cert. Check the state field for more. Structure is documented below.
createTime String
The CustomDomain's create time.
customDomain Changes to this property will trigger replacement. String
The ID of the CustomDomain, which is the domain name you'd like to use with Firebase Hosting.


deleteTime String
The time the CustomDomain was deleted; null for CustomDomains that haven't been deleted. Deleted CustomDomains persist for approximately 30 days, after which time Hosting removes them completely.
etag String
A string that represents the current state of the CustomDomain and allows you to confirm its initial state in requests that would modify it.
expireTime String
The minimum time before a soft-deleted CustomDomain is completely removed from Hosting; null for CustomDomains that haven't been deleted.
hostState String
The host state of your domain name. Host state is determined by checking each IP address associated with your domain name to see if it's serving Hosting content. HOST_UNHOSTED: Your CustomDomain's domain name isn't associated with any IP addresses. HOST_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your CustomDomain's issues field for more details. HOST_MISMATCH: Your CustomDomain's domain name has IP addresses that don't ultimately resolve to Hosting. HOST_CONFLICT: Your CustomDomain's domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove A and AAAA records related to non-Hosting services. HOST_ACTIVE: All requests against your CustomDomain's domain name are served by Hosting. If the CustomDomain's OwnershipState is also ACTIVE, Hosting serves your Hosting Site's content on the domain name.
issues List<HostingCustomDomainIssue>
A set of errors Hosting systems encountered when trying to establish Hosting's ability to serve secure content for your domain name. Resolve these issues to ensure your CustomDomain behaves properly. Structure is documented below.
name String
The fully-qualified name of the CustomDomain.
ownershipState String
The ownership state of your domain name. Ownership is determined at a Firebase project level, and established by adding TXT records to your domain name's DNS records. Ownership cascades to subdomains. Granting a project ownership of foo.com also grants that project ownership over bar.foo.com, unless you add specific TXT records to bar.foo.com that grant a different project ownership. If your CustomDomain is in an OwnershipState other than OWNERSHIP_ACTIVE for more than 30 days and it hasn't been updated in at least 30 days, Hosting's ownership systems delete the CustomDomain. OWNERSHIP_MISSING: Your CustomDomain's domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf. OWNERSHIP_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your CustomDomain's issues field for more details. OWNERSHIP_MISMATCH: Your CustomDomain's domain name is owned by another Firebase project. Remove the conflicting TXT records and replace them with project-specific records for your current Firebase project. OWNERSHIP_CONFLICT: Your CustomDomain's domain name has conflicting TXT records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership. OWNERSHIP_PENDING: Your CustomDomain's DNS records are configured correctly. Hosting will transfer ownership of your domain to this CustomDomain within 24 hours. OWNERSHIP_ACTIVE: Your CustomDomain's domain name has TXT records that grant its project permission to act on its behalf.
project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
reconciling Boolean
if true, indicates that Hosting's systems are attempting to make the CustomDomain's state match your preferred state. This is most frequently true when initially provisioning a CustomDomain or when creating a new SSL certificate to match an updated cert_preference
redirectTarget String
A domain name that this CustomDomain should direct traffic towards. If specified, Hosting will respond to requests against this CustomDomain with an HTTP 301 code, and route traffic to the specified redirect_target instead.
requiredDnsUpdates List<HostingCustomDomainRequiredDnsUpdate>
A set of updates you should make to the domain name's DNS records to let Hosting serve secure content on its behalf. Structure is documented below.
siteId Changes to this property will trigger replacement. String
The ID of the site in which to create this custom domain association.
updateTime String
The last time the CustomDomain was updated.
waitDnsVerification Changes to this property will trigger replacement. Boolean
certPreference string
A field that lets you specify which SSL certificate type Hosting creates for your domain name. Spark plan CustomDomains only have access to the GROUPED cert type, while Blaze plan can select any option. Possible values are: GROUPED, PROJECT_GROUPED, DEDICATED.
certs HostingCustomDomainCert[]
The SSL certificate Hosting has for this CustomDomain's domain name. For new CustomDomains, this often represents Hosting's intent to create a certificate, rather than an actual cert. Check the state field for more. Structure is documented below.
createTime string
The CustomDomain's create time.
customDomain Changes to this property will trigger replacement. string
The ID of the CustomDomain, which is the domain name you'd like to use with Firebase Hosting.


deleteTime string
The time the CustomDomain was deleted; null for CustomDomains that haven't been deleted. Deleted CustomDomains persist for approximately 30 days, after which time Hosting removes them completely.
etag string
A string that represents the current state of the CustomDomain and allows you to confirm its initial state in requests that would modify it.
expireTime string
The minimum time before a soft-deleted CustomDomain is completely removed from Hosting; null for CustomDomains that haven't been deleted.
hostState string
The host state of your domain name. Host state is determined by checking each IP address associated with your domain name to see if it's serving Hosting content. HOST_UNHOSTED: Your CustomDomain's domain name isn't associated with any IP addresses. HOST_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your CustomDomain's issues field for more details. HOST_MISMATCH: Your CustomDomain's domain name has IP addresses that don't ultimately resolve to Hosting. HOST_CONFLICT: Your CustomDomain's domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove A and AAAA records related to non-Hosting services. HOST_ACTIVE: All requests against your CustomDomain's domain name are served by Hosting. If the CustomDomain's OwnershipState is also ACTIVE, Hosting serves your Hosting Site's content on the domain name.
issues HostingCustomDomainIssue[]
A set of errors Hosting systems encountered when trying to establish Hosting's ability to serve secure content for your domain name. Resolve these issues to ensure your CustomDomain behaves properly. Structure is documented below.
name string
The fully-qualified name of the CustomDomain.
ownershipState string
The ownership state of your domain name. Ownership is determined at a Firebase project level, and established by adding TXT records to your domain name's DNS records. Ownership cascades to subdomains. Granting a project ownership of foo.com also grants that project ownership over bar.foo.com, unless you add specific TXT records to bar.foo.com that grant a different project ownership. If your CustomDomain is in an OwnershipState other than OWNERSHIP_ACTIVE for more than 30 days and it hasn't been updated in at least 30 days, Hosting's ownership systems delete the CustomDomain. OWNERSHIP_MISSING: Your CustomDomain's domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf. OWNERSHIP_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your CustomDomain's issues field for more details. OWNERSHIP_MISMATCH: Your CustomDomain's domain name is owned by another Firebase project. Remove the conflicting TXT records and replace them with project-specific records for your current Firebase project. OWNERSHIP_CONFLICT: Your CustomDomain's domain name has conflicting TXT records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership. OWNERSHIP_PENDING: Your CustomDomain's DNS records are configured correctly. Hosting will transfer ownership of your domain to this CustomDomain within 24 hours. OWNERSHIP_ACTIVE: Your CustomDomain's domain name has TXT records that grant its project permission to act on its behalf.
project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
reconciling boolean
if true, indicates that Hosting's systems are attempting to make the CustomDomain's state match your preferred state. This is most frequently true when initially provisioning a CustomDomain or when creating a new SSL certificate to match an updated cert_preference
redirectTarget string
A domain name that this CustomDomain should direct traffic towards. If specified, Hosting will respond to requests against this CustomDomain with an HTTP 301 code, and route traffic to the specified redirect_target instead.
requiredDnsUpdates HostingCustomDomainRequiredDnsUpdate[]
A set of updates you should make to the domain name's DNS records to let Hosting serve secure content on its behalf. Structure is documented below.
siteId Changes to this property will trigger replacement. string
The ID of the site in which to create this custom domain association.
updateTime string
The last time the CustomDomain was updated.
waitDnsVerification Changes to this property will trigger replacement. boolean
cert_preference str
A field that lets you specify which SSL certificate type Hosting creates for your domain name. Spark plan CustomDomains only have access to the GROUPED cert type, while Blaze plan can select any option. Possible values are: GROUPED, PROJECT_GROUPED, DEDICATED.
certs Sequence[HostingCustomDomainCertArgs]
The SSL certificate Hosting has for this CustomDomain's domain name. For new CustomDomains, this often represents Hosting's intent to create a certificate, rather than an actual cert. Check the state field for more. Structure is documented below.
create_time str
The CustomDomain's create time.
custom_domain Changes to this property will trigger replacement. str
The ID of the CustomDomain, which is the domain name you'd like to use with Firebase Hosting.


delete_time str
The time the CustomDomain was deleted; null for CustomDomains that haven't been deleted. Deleted CustomDomains persist for approximately 30 days, after which time Hosting removes them completely.
etag str
A string that represents the current state of the CustomDomain and allows you to confirm its initial state in requests that would modify it.
expire_time str
The minimum time before a soft-deleted CustomDomain is completely removed from Hosting; null for CustomDomains that haven't been deleted.
host_state str
The host state of your domain name. Host state is determined by checking each IP address associated with your domain name to see if it's serving Hosting content. HOST_UNHOSTED: Your CustomDomain's domain name isn't associated with any IP addresses. HOST_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your CustomDomain's issues field for more details. HOST_MISMATCH: Your CustomDomain's domain name has IP addresses that don't ultimately resolve to Hosting. HOST_CONFLICT: Your CustomDomain's domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove A and AAAA records related to non-Hosting services. HOST_ACTIVE: All requests against your CustomDomain's domain name are served by Hosting. If the CustomDomain's OwnershipState is also ACTIVE, Hosting serves your Hosting Site's content on the domain name.
issues Sequence[HostingCustomDomainIssueArgs]
A set of errors Hosting systems encountered when trying to establish Hosting's ability to serve secure content for your domain name. Resolve these issues to ensure your CustomDomain behaves properly. Structure is documented below.
name str
The fully-qualified name of the CustomDomain.
ownership_state str
The ownership state of your domain name. Ownership is determined at a Firebase project level, and established by adding TXT records to your domain name's DNS records. Ownership cascades to subdomains. Granting a project ownership of foo.com also grants that project ownership over bar.foo.com, unless you add specific TXT records to bar.foo.com that grant a different project ownership. If your CustomDomain is in an OwnershipState other than OWNERSHIP_ACTIVE for more than 30 days and it hasn't been updated in at least 30 days, Hosting's ownership systems delete the CustomDomain. OWNERSHIP_MISSING: Your CustomDomain's domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf. OWNERSHIP_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your CustomDomain's issues field for more details. OWNERSHIP_MISMATCH: Your CustomDomain's domain name is owned by another Firebase project. Remove the conflicting TXT records and replace them with project-specific records for your current Firebase project. OWNERSHIP_CONFLICT: Your CustomDomain's domain name has conflicting TXT records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership. OWNERSHIP_PENDING: Your CustomDomain's DNS records are configured correctly. Hosting will transfer ownership of your domain to this CustomDomain within 24 hours. OWNERSHIP_ACTIVE: Your CustomDomain's domain name has TXT records that grant its project permission to act on its behalf.
project Changes to this property will trigger replacement. str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
reconciling bool
if true, indicates that Hosting's systems are attempting to make the CustomDomain's state match your preferred state. This is most frequently true when initially provisioning a CustomDomain or when creating a new SSL certificate to match an updated cert_preference
redirect_target str
A domain name that this CustomDomain should direct traffic towards. If specified, Hosting will respond to requests against this CustomDomain with an HTTP 301 code, and route traffic to the specified redirect_target instead.
required_dns_updates Sequence[HostingCustomDomainRequiredDnsUpdateArgs]
A set of updates you should make to the domain name's DNS records to let Hosting serve secure content on its behalf. Structure is documented below.
site_id Changes to this property will trigger replacement. str
The ID of the site in which to create this custom domain association.
update_time str
The last time the CustomDomain was updated.
wait_dns_verification Changes to this property will trigger replacement. bool
certPreference String
A field that lets you specify which SSL certificate type Hosting creates for your domain name. Spark plan CustomDomains only have access to the GROUPED cert type, while Blaze plan can select any option. Possible values are: GROUPED, PROJECT_GROUPED, DEDICATED.
certs List<Property Map>
The SSL certificate Hosting has for this CustomDomain's domain name. For new CustomDomains, this often represents Hosting's intent to create a certificate, rather than an actual cert. Check the state field for more. Structure is documented below.
createTime String
The CustomDomain's create time.
customDomain Changes to this property will trigger replacement. String
The ID of the CustomDomain, which is the domain name you'd like to use with Firebase Hosting.


deleteTime String
The time the CustomDomain was deleted; null for CustomDomains that haven't been deleted. Deleted CustomDomains persist for approximately 30 days, after which time Hosting removes them completely.
etag String
A string that represents the current state of the CustomDomain and allows you to confirm its initial state in requests that would modify it.
expireTime String
The minimum time before a soft-deleted CustomDomain is completely removed from Hosting; null for CustomDomains that haven't been deleted.
hostState String
The host state of your domain name. Host state is determined by checking each IP address associated with your domain name to see if it's serving Hosting content. HOST_UNHOSTED: Your CustomDomain's domain name isn't associated with any IP addresses. HOST_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your CustomDomain's issues field for more details. HOST_MISMATCH: Your CustomDomain's domain name has IP addresses that don't ultimately resolve to Hosting. HOST_CONFLICT: Your CustomDomain's domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove A and AAAA records related to non-Hosting services. HOST_ACTIVE: All requests against your CustomDomain's domain name are served by Hosting. If the CustomDomain's OwnershipState is also ACTIVE, Hosting serves your Hosting Site's content on the domain name.
issues List<Property Map>
A set of errors Hosting systems encountered when trying to establish Hosting's ability to serve secure content for your domain name. Resolve these issues to ensure your CustomDomain behaves properly. Structure is documented below.
name String
The fully-qualified name of the CustomDomain.
ownershipState String
The ownership state of your domain name. Ownership is determined at a Firebase project level, and established by adding TXT records to your domain name's DNS records. Ownership cascades to subdomains. Granting a project ownership of foo.com also grants that project ownership over bar.foo.com, unless you add specific TXT records to bar.foo.com that grant a different project ownership. If your CustomDomain is in an OwnershipState other than OWNERSHIP_ACTIVE for more than 30 days and it hasn't been updated in at least 30 days, Hosting's ownership systems delete the CustomDomain. OWNERSHIP_MISSING: Your CustomDomain's domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf. OWNERSHIP_UNREACHABLE: Your CustomDomain's domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your CustomDomain's issues field for more details. OWNERSHIP_MISMATCH: Your CustomDomain's domain name is owned by another Firebase project. Remove the conflicting TXT records and replace them with project-specific records for your current Firebase project. OWNERSHIP_CONFLICT: Your CustomDomain's domain name has conflicting TXT records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership. OWNERSHIP_PENDING: Your CustomDomain's DNS records are configured correctly. Hosting will transfer ownership of your domain to this CustomDomain within 24 hours. OWNERSHIP_ACTIVE: Your CustomDomain's domain name has TXT records that grant its project permission to act on its behalf.
project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
reconciling Boolean
if true, indicates that Hosting's systems are attempting to make the CustomDomain's state match your preferred state. This is most frequently true when initially provisioning a CustomDomain or when creating a new SSL certificate to match an updated cert_preference
redirectTarget String
A domain name that this CustomDomain should direct traffic towards. If specified, Hosting will respond to requests against this CustomDomain with an HTTP 301 code, and route traffic to the specified redirect_target instead.
requiredDnsUpdates List<Property Map>
A set of updates you should make to the domain name's DNS records to let Hosting serve secure content on its behalf. Structure is documented below.
siteId Changes to this property will trigger replacement. String
The ID of the site in which to create this custom domain association.
updateTime String
The last time the CustomDomain was updated.
waitDnsVerification Changes to this property will trigger replacement. Boolean

Supporting Types

HostingCustomDomainCert
, HostingCustomDomainCertArgs

State string
The state of the certificate. Only the CERT_ACTIVE and CERT_EXPIRING_SOON states provide SSL coverage for a domain name. If the state is PROPAGATING and Hosting had an active cert for the domain name before, that formerly-active cert provides SSL coverage for the domain name until the current cert propagates.
Type string
The record's type, which determines what data the record contains.
Verification HostingCustomDomainCertVerification
A set of ACME challenges you can add to your DNS records or existing, non-Hosting hosting provider to allow Hosting to create an SSL certificate for your domain name before you point traffic toward hosting. You can use thse challenges as part of a zero downtime transition from your old provider to Hosting. Structure is documented below.
State string
The state of the certificate. Only the CERT_ACTIVE and CERT_EXPIRING_SOON states provide SSL coverage for a domain name. If the state is PROPAGATING and Hosting had an active cert for the domain name before, that formerly-active cert provides SSL coverage for the domain name until the current cert propagates.
Type string
The record's type, which determines what data the record contains.
Verification HostingCustomDomainCertVerification
A set of ACME challenges you can add to your DNS records or existing, non-Hosting hosting provider to allow Hosting to create an SSL certificate for your domain name before you point traffic toward hosting. You can use thse challenges as part of a zero downtime transition from your old provider to Hosting. Structure is documented below.
state String
The state of the certificate. Only the CERT_ACTIVE and CERT_EXPIRING_SOON states provide SSL coverage for a domain name. If the state is PROPAGATING and Hosting had an active cert for the domain name before, that formerly-active cert provides SSL coverage for the domain name until the current cert propagates.
type String
The record's type, which determines what data the record contains.
verification HostingCustomDomainCertVerification
A set of ACME challenges you can add to your DNS records or existing, non-Hosting hosting provider to allow Hosting to create an SSL certificate for your domain name before you point traffic toward hosting. You can use thse challenges as part of a zero downtime transition from your old provider to Hosting. Structure is documented below.
state string
The state of the certificate. Only the CERT_ACTIVE and CERT_EXPIRING_SOON states provide SSL coverage for a domain name. If the state is PROPAGATING and Hosting had an active cert for the domain name before, that formerly-active cert provides SSL coverage for the domain name until the current cert propagates.
type string
The record's type, which determines what data the record contains.
verification HostingCustomDomainCertVerification
A set of ACME challenges you can add to your DNS records or existing, non-Hosting hosting provider to allow Hosting to create an SSL certificate for your domain name before you point traffic toward hosting. You can use thse challenges as part of a zero downtime transition from your old provider to Hosting. Structure is documented below.
state str
The state of the certificate. Only the CERT_ACTIVE and CERT_EXPIRING_SOON states provide SSL coverage for a domain name. If the state is PROPAGATING and Hosting had an active cert for the domain name before, that formerly-active cert provides SSL coverage for the domain name until the current cert propagates.
type str
The record's type, which determines what data the record contains.
verification HostingCustomDomainCertVerification
A set of ACME challenges you can add to your DNS records or existing, non-Hosting hosting provider to allow Hosting to create an SSL certificate for your domain name before you point traffic toward hosting. You can use thse challenges as part of a zero downtime transition from your old provider to Hosting. Structure is documented below.
state String
The state of the certificate. Only the CERT_ACTIVE and CERT_EXPIRING_SOON states provide SSL coverage for a domain name. If the state is PROPAGATING and Hosting had an active cert for the domain name before, that formerly-active cert provides SSL coverage for the domain name until the current cert propagates.
type String
The record's type, which determines what data the record contains.
verification Property Map
A set of ACME challenges you can add to your DNS records or existing, non-Hosting hosting provider to allow Hosting to create an SSL certificate for your domain name before you point traffic toward hosting. You can use thse challenges as part of a zero downtime transition from your old provider to Hosting. Structure is documented below.

HostingCustomDomainCertVerification
, HostingCustomDomainCertVerificationArgs

Dns HostingCustomDomainCertVerificationDns
A TXT record to add to your DNS records that confirms your intent to let Hosting create an SSL cert for your domain name. Structure is documented below.
Http HostingCustomDomainCertVerificationHttp
A file to add to your existing, non-Hosting hosting service that confirms your intent to let Hosting create an SSL cert for your domain name. Structure is documented below.
Dns HostingCustomDomainCertVerificationDns
A TXT record to add to your DNS records that confirms your intent to let Hosting create an SSL cert for your domain name. Structure is documented below.
Http HostingCustomDomainCertVerificationHttp
A file to add to your existing, non-Hosting hosting service that confirms your intent to let Hosting create an SSL cert for your domain name. Structure is documented below.
dns HostingCustomDomainCertVerificationDns
A TXT record to add to your DNS records that confirms your intent to let Hosting create an SSL cert for your domain name. Structure is documented below.
http HostingCustomDomainCertVerificationHttp
A file to add to your existing, non-Hosting hosting service that confirms your intent to let Hosting create an SSL cert for your domain name. Structure is documented below.
dns HostingCustomDomainCertVerificationDns
A TXT record to add to your DNS records that confirms your intent to let Hosting create an SSL cert for your domain name. Structure is documented below.
http HostingCustomDomainCertVerificationHttp
A file to add to your existing, non-Hosting hosting service that confirms your intent to let Hosting create an SSL cert for your domain name. Structure is documented below.
dns HostingCustomDomainCertVerificationDns
A TXT record to add to your DNS records that confirms your intent to let Hosting create an SSL cert for your domain name. Structure is documented below.
http HostingCustomDomainCertVerificationHttp
A file to add to your existing, non-Hosting hosting service that confirms your intent to let Hosting create an SSL cert for your domain name. Structure is documented below.
dns Property Map
A TXT record to add to your DNS records that confirms your intent to let Hosting create an SSL cert for your domain name. Structure is documented below.
http Property Map
A file to add to your existing, non-Hosting hosting service that confirms your intent to let Hosting create an SSL cert for your domain name. Structure is documented below.

HostingCustomDomainCertVerificationDns
, HostingCustomDomainCertVerificationDnsArgs

CheckTime string
(Output) The last time Hosting checked your CustomDomain's DNS records.
Desireds List<HostingCustomDomainCertVerificationDnsDesired>
A text string to serve at the path.
Discovereds List<HostingCustomDomainCertVerificationDnsDiscovered>
Whether Hosting was able to find the required file contents on the specified path during its last check.
CheckTime string
(Output) The last time Hosting checked your CustomDomain's DNS records.
Desireds []HostingCustomDomainCertVerificationDnsDesired
A text string to serve at the path.
Discovereds []HostingCustomDomainCertVerificationDnsDiscovered
Whether Hosting was able to find the required file contents on the specified path during its last check.
checkTime String
(Output) The last time Hosting checked your CustomDomain's DNS records.
desireds List<HostingCustomDomainCertVerificationDnsDesired>
A text string to serve at the path.
discovereds List<HostingCustomDomainCertVerificationDnsDiscovered>
Whether Hosting was able to find the required file contents on the specified path during its last check.
checkTime string
(Output) The last time Hosting checked your CustomDomain's DNS records.
desireds HostingCustomDomainCertVerificationDnsDesired[]
A text string to serve at the path.
discovereds HostingCustomDomainCertVerificationDnsDiscovered[]
Whether Hosting was able to find the required file contents on the specified path during its last check.
check_time str
(Output) The last time Hosting checked your CustomDomain's DNS records.
desireds Sequence[HostingCustomDomainCertVerificationDnsDesired]
A text string to serve at the path.
discovereds Sequence[HostingCustomDomainCertVerificationDnsDiscovered]
Whether Hosting was able to find the required file contents on the specified path during its last check.
checkTime String
(Output) The last time Hosting checked your CustomDomain's DNS records.
desireds List<Property Map>
A text string to serve at the path.
discovereds List<Property Map>
Whether Hosting was able to find the required file contents on the specified path during its last check.

HostingCustomDomainCertVerificationDnsDesired
, HostingCustomDomainCertVerificationDnsDesiredArgs

DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Records List<HostingCustomDomainCertVerificationDnsDesiredRecord>
Records on the domain Structure is documented below.
DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Records []HostingCustomDomainCertVerificationDnsDesiredRecord
Records on the domain Structure is documented below.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
records List<HostingCustomDomainCertVerificationDnsDesiredRecord>
Records on the domain Structure is documented below.
domainName string
The domain name the record pertains to, e.g. foo.bar.com..
records HostingCustomDomainCertVerificationDnsDesiredRecord[]
Records on the domain Structure is documented below.
domain_name str
The domain name the record pertains to, e.g. foo.bar.com..
records Sequence[HostingCustomDomainCertVerificationDnsDesiredRecord]
Records on the domain Structure is documented below.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
records List<Property Map>
Records on the domain Structure is documented below.

HostingCustomDomainCertVerificationDnsDesiredRecord
, HostingCustomDomainCertVerificationDnsDesiredRecordArgs

DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Rdata string
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
RequiredAction string
Indicates the a required action for this record.
Type string
The record's type, which determines what data the record contains.
DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Rdata string
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
RequiredAction string
Indicates the a required action for this record.
Type string
The record's type, which determines what data the record contains.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
rdata String
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
requiredAction String
Indicates the a required action for this record.
type String
The record's type, which determines what data the record contains.
domainName string
The domain name the record pertains to, e.g. foo.bar.com..
rdata string
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
requiredAction string
Indicates the a required action for this record.
type string
The record's type, which determines what data the record contains.
domain_name str
The domain name the record pertains to, e.g. foo.bar.com..
rdata str
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
required_action str
Indicates the a required action for this record.
type str
The record's type, which determines what data the record contains.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
rdata String
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
requiredAction String
Indicates the a required action for this record.
type String
The record's type, which determines what data the record contains.

HostingCustomDomainCertVerificationDnsDiscovered
, HostingCustomDomainCertVerificationDnsDiscoveredArgs

DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Records List<HostingCustomDomainCertVerificationDnsDiscoveredRecord>
Records on the domain Structure is documented below.
DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Records []HostingCustomDomainCertVerificationDnsDiscoveredRecord
Records on the domain Structure is documented below.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
records List<HostingCustomDomainCertVerificationDnsDiscoveredRecord>
Records on the domain Structure is documented below.
domainName string
The domain name the record pertains to, e.g. foo.bar.com..
records HostingCustomDomainCertVerificationDnsDiscoveredRecord[]
Records on the domain Structure is documented below.
domain_name str
The domain name the record pertains to, e.g. foo.bar.com..
records Sequence[HostingCustomDomainCertVerificationDnsDiscoveredRecord]
Records on the domain Structure is documented below.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
records List<Property Map>
Records on the domain Structure is documented below.

HostingCustomDomainCertVerificationDnsDiscoveredRecord
, HostingCustomDomainCertVerificationDnsDiscoveredRecordArgs

DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Rdata string
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
RequiredAction string
Indicates the a required action for this record.
Type string
The record's type, which determines what data the record contains.
DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Rdata string
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
RequiredAction string
Indicates the a required action for this record.
Type string
The record's type, which determines what data the record contains.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
rdata String
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
requiredAction String
Indicates the a required action for this record.
type String
The record's type, which determines what data the record contains.
domainName string
The domain name the record pertains to, e.g. foo.bar.com..
rdata string
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
requiredAction string
Indicates the a required action for this record.
type string
The record's type, which determines what data the record contains.
domain_name str
The domain name the record pertains to, e.g. foo.bar.com..
rdata str
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
required_action str
Indicates the a required action for this record.
type str
The record's type, which determines what data the record contains.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
rdata String
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
requiredAction String
Indicates the a required action for this record.
type String
The record's type, which determines what data the record contains.

HostingCustomDomainCertVerificationHttp
, HostingCustomDomainCertVerificationHttpArgs

Desired string
A text string to serve at the path.
Discovered string
Whether Hosting was able to find the required file contents on the specified path during its last check.
LastCheckTime string
(Output) The last time Hosting systems checked for the file contents.
Path string
The path to the file.
Desired string
A text string to serve at the path.
Discovered string
Whether Hosting was able to find the required file contents on the specified path during its last check.
LastCheckTime string
(Output) The last time Hosting systems checked for the file contents.
Path string
The path to the file.
desired String
A text string to serve at the path.
discovered String
Whether Hosting was able to find the required file contents on the specified path during its last check.
lastCheckTime String
(Output) The last time Hosting systems checked for the file contents.
path String
The path to the file.
desired string
A text string to serve at the path.
discovered string
Whether Hosting was able to find the required file contents on the specified path during its last check.
lastCheckTime string
(Output) The last time Hosting systems checked for the file contents.
path string
The path to the file.
desired str
A text string to serve at the path.
discovered str
Whether Hosting was able to find the required file contents on the specified path during its last check.
last_check_time str
(Output) The last time Hosting systems checked for the file contents.
path str
The path to the file.
desired String
A text string to serve at the path.
discovered String
Whether Hosting was able to find the required file contents on the specified path during its last check.
lastCheckTime String
(Output) The last time Hosting systems checked for the file contents.
path String
The path to the file.

HostingCustomDomainIssue
, HostingCustomDomainIssueArgs

Code int
The status code, which should be an enum value of google.rpc.Code
Details string
A list of messages that carry the error details.
Message string
Error message
Code int
The status code, which should be an enum value of google.rpc.Code
Details string
A list of messages that carry the error details.
Message string
Error message
code Integer
The status code, which should be an enum value of google.rpc.Code
details String
A list of messages that carry the error details.
message String
Error message
code number
The status code, which should be an enum value of google.rpc.Code
details string
A list of messages that carry the error details.
message string
Error message
code int
The status code, which should be an enum value of google.rpc.Code
details str
A list of messages that carry the error details.
message str
Error message
code Number
The status code, which should be an enum value of google.rpc.Code
details String
A list of messages that carry the error details.
message String
Error message

HostingCustomDomainRequiredDnsUpdate
, HostingCustomDomainRequiredDnsUpdateArgs

CheckTime string
(Output) The last time Hosting checked your CustomDomain's DNS records.
Desireds List<HostingCustomDomainRequiredDnsUpdateDesired>
A text string to serve at the path.
Discovereds List<HostingCustomDomainRequiredDnsUpdateDiscovered>
Whether Hosting was able to find the required file contents on the specified path during its last check.
CheckTime string
(Output) The last time Hosting checked your CustomDomain's DNS records.
Desireds []HostingCustomDomainRequiredDnsUpdateDesired
A text string to serve at the path.
Discovereds []HostingCustomDomainRequiredDnsUpdateDiscovered
Whether Hosting was able to find the required file contents on the specified path during its last check.
checkTime String
(Output) The last time Hosting checked your CustomDomain's DNS records.
desireds List<HostingCustomDomainRequiredDnsUpdateDesired>
A text string to serve at the path.
discovereds List<HostingCustomDomainRequiredDnsUpdateDiscovered>
Whether Hosting was able to find the required file contents on the specified path during its last check.
checkTime string
(Output) The last time Hosting checked your CustomDomain's DNS records.
desireds HostingCustomDomainRequiredDnsUpdateDesired[]
A text string to serve at the path.
discovereds HostingCustomDomainRequiredDnsUpdateDiscovered[]
Whether Hosting was able to find the required file contents on the specified path during its last check.
check_time str
(Output) The last time Hosting checked your CustomDomain's DNS records.
desireds Sequence[HostingCustomDomainRequiredDnsUpdateDesired]
A text string to serve at the path.
discovereds Sequence[HostingCustomDomainRequiredDnsUpdateDiscovered]
Whether Hosting was able to find the required file contents on the specified path during its last check.
checkTime String
(Output) The last time Hosting checked your CustomDomain's DNS records.
desireds List<Property Map>
A text string to serve at the path.
discovereds List<Property Map>
Whether Hosting was able to find the required file contents on the specified path during its last check.

HostingCustomDomainRequiredDnsUpdateDesired
, HostingCustomDomainRequiredDnsUpdateDesiredArgs

DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Records List<HostingCustomDomainRequiredDnsUpdateDesiredRecord>
Records on the domain Structure is documented below.
DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Records []HostingCustomDomainRequiredDnsUpdateDesiredRecord
Records on the domain Structure is documented below.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
records List<HostingCustomDomainRequiredDnsUpdateDesiredRecord>
Records on the domain Structure is documented below.
domainName string
The domain name the record pertains to, e.g. foo.bar.com..
records HostingCustomDomainRequiredDnsUpdateDesiredRecord[]
Records on the domain Structure is documented below.
domain_name str
The domain name the record pertains to, e.g. foo.bar.com..
records Sequence[HostingCustomDomainRequiredDnsUpdateDesiredRecord]
Records on the domain Structure is documented below.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
records List<Property Map>
Records on the domain Structure is documented below.

HostingCustomDomainRequiredDnsUpdateDesiredRecord
, HostingCustomDomainRequiredDnsUpdateDesiredRecordArgs

DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Rdata string
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
RequiredAction string
Indicates the a required action for this record.
Type string
The record's type, which determines what data the record contains.
DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Rdata string
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
RequiredAction string
Indicates the a required action for this record.
Type string
The record's type, which determines what data the record contains.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
rdata String
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
requiredAction String
Indicates the a required action for this record.
type String
The record's type, which determines what data the record contains.
domainName string
The domain name the record pertains to, e.g. foo.bar.com..
rdata string
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
requiredAction string
Indicates the a required action for this record.
type string
The record's type, which determines what data the record contains.
domain_name str
The domain name the record pertains to, e.g. foo.bar.com..
rdata str
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
required_action str
Indicates the a required action for this record.
type str
The record's type, which determines what data the record contains.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
rdata String
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
requiredAction String
Indicates the a required action for this record.
type String
The record's type, which determines what data the record contains.

HostingCustomDomainRequiredDnsUpdateDiscovered
, HostingCustomDomainRequiredDnsUpdateDiscoveredArgs

DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Records List<HostingCustomDomainRequiredDnsUpdateDiscoveredRecord>
Records on the domain Structure is documented below.
DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Records []HostingCustomDomainRequiredDnsUpdateDiscoveredRecord
Records on the domain Structure is documented below.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
records List<HostingCustomDomainRequiredDnsUpdateDiscoveredRecord>
Records on the domain Structure is documented below.
domainName string
The domain name the record pertains to, e.g. foo.bar.com..
records HostingCustomDomainRequiredDnsUpdateDiscoveredRecord[]
Records on the domain Structure is documented below.
domain_name str
The domain name the record pertains to, e.g. foo.bar.com..
records Sequence[HostingCustomDomainRequiredDnsUpdateDiscoveredRecord]
Records on the domain Structure is documented below.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
records List<Property Map>
Records on the domain Structure is documented below.

HostingCustomDomainRequiredDnsUpdateDiscoveredRecord
, HostingCustomDomainRequiredDnsUpdateDiscoveredRecordArgs

DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Rdata string
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
RequiredAction string
Indicates the a required action for this record.
Type string
The record's type, which determines what data the record contains.
DomainName string
The domain name the record pertains to, e.g. foo.bar.com..
Rdata string
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
RequiredAction string
Indicates the a required action for this record.
Type string
The record's type, which determines what data the record contains.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
rdata String
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
requiredAction String
Indicates the a required action for this record.
type String
The record's type, which determines what data the record contains.
domainName string
The domain name the record pertains to, e.g. foo.bar.com..
rdata string
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
requiredAction string
Indicates the a required action for this record.
type string
The record's type, which determines what data the record contains.
domain_name str
The domain name the record pertains to, e.g. foo.bar.com..
rdata str
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
required_action str
Indicates the a required action for this record.
type str
The record's type, which determines what data the record contains.
domainName String
The domain name the record pertains to, e.g. foo.bar.com..
rdata String
The data of the record. The meaning of the value depends on record type:

  • A and AAAA: IP addresses for the domain name.
  • CNAME: Another domain to check for records.
  • TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf.
  • CAA: The record's flags, tag, and value, e.g. 0 issue "pki.goog".
requiredAction String
Indicates the a required action for this record.
type String
The record's type, which determines what data the record contains.

Import

CustomDomain can be imported using any of these accepted formats:

  • projects/{{project}}/sites/{{site_id}}/customDomains/{{custom_domain}}

  • sites/{{site_id}}/customDomains/{{custom_domain}}

  • {{project}}/{{site_id}}/{{custom_domain}}

  • {{site_id}}/{{custom_domain}}

When using the pulumi import command, CustomDomain can be imported using one of the formats above. For example:

$ pulumi import gcp:firebase/hostingCustomDomain:HostingCustomDomain default projects/{{project}}/sites/{{site_id}}/customDomains/{{custom_domain}}
Copy
$ pulumi import gcp:firebase/hostingCustomDomain:HostingCustomDomain default sites/{{site_id}}/customDomains/{{custom_domain}}
Copy
$ pulumi import gcp:firebase/hostingCustomDomain:HostingCustomDomain default {{project}}/{{site_id}}/{{custom_domain}}
Copy
$ pulumi import gcp:firebase/hostingCustomDomain:HostingCustomDomain default {{site_id}}/{{custom_domain}}
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Google Cloud (GCP) Classic pulumi/pulumi-gcp
License
Apache-2.0
Notes
This Pulumi package is based on the google-beta Terraform Provider.