Project
A Google Cloud Firebase instance. This enables Firebase resources on a given google project. Since a FirebaseProject is actually also a GCP Project, a FirebaseProject uses underlying GCP identifiers (most importantly, the projectId) as its own for easy interop with GCP APIs. Once Firebase has been added to a Google Project it cannot be removed. To get more information about Project, see:
How-to Guides
Official Documentation
Note: This resource should usually be used with a provider configuration with
user_project_override = true
unless you wish for your quota project to be different from the Firebase project.
Example Usage
Firebase Project Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.organizations.Project("default", {
projectId: "my-project",
name: "my-project",
orgId: "123456789",
labels: {
firebase: "enabled",
},
});
const defaultProject = new gcp.firebase.Project("default", {project: _default.projectId});
import pulumi
import pulumi_gcp as gcp
default = gcp.organizations.Project("default",
project_id="my-project",
name="my-project",
org_id="123456789",
labels={
"firebase": "enabled",
})
default_project = gcp.firebase.Project("default", project=default.project_id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var @default = new Gcp.Organizations.Project("default", new()
{
ProjectId = "my-project",
Name = "my-project",
OrgId = "123456789",
Labels =
{
{ "firebase", "enabled" },
},
});
var defaultProject = new Gcp.Firebase.Project("default", new()
{
ProjectID = @default.ProjectId,
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/firebase"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := organizations.NewProject(ctx, "default", &organizations.ProjectArgs{
ProjectId: pulumi.String("my-project"),
Name: pulumi.String("my-project"),
OrgId: pulumi.String("123456789"),
Labels: pulumi.StringMap{
"firebase": pulumi.String("enabled"),
},
})
if err != nil {
return err
}
_, err = firebase.NewProject(ctx, "default", &firebase.ProjectArgs{
Project: _default.ProjectId,
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.Project;
import com.pulumi.gcp.organizations.ProjectArgs;
import com.pulumi.gcp.firebase.Project;
import com.pulumi.gcp.firebase.ProjectArgs;
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 Project("default", ProjectArgs.builder()
.projectId("my-project")
.name("my-project")
.orgId("123456789")
.labels(Map.of("firebase", "enabled"))
.build());
var defaultProject = new Project("defaultProject", ProjectArgs.builder()
.project(default_.projectId())
.build());
}
}
resources:
default:
type: gcp:organizations:Project
properties:
projectId: my-project
name: my-project
orgId: '123456789'
labels:
firebase: enabled
defaultProject:
type: gcp:firebase:Project
name: default
properties:
project: ${default.projectId}
Import
Project can be imported using any of these accepted formats:
projects/{{project}}
{{project}}
When using thepulumi import
command, Project can be imported using one of the formats above. For example:
$ pulumi import gcp:firebase/project:Project default projects/{{project}}
$ pulumi import gcp:firebase/project:Project default {{project}}