Database Instance
Example Usage
Firebase Database Instance Basic
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.firebase.DatabaseInstance;
import com.pulumi.gcp.firebase.DatabaseInstanceArgs;
import com.pulumi.resources.CustomResourceOptions;
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 basic = new DatabaseInstance("basic", DatabaseInstanceArgs.builder()
.project("my-project-name")
.region("us-central1")
.instanceId("active-db")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}
Firebase Database Instance Full
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.firebase.DatabaseInstance;
import com.pulumi.gcp.firebase.DatabaseInstanceArgs;
import com.pulumi.resources.CustomResourceOptions;
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 full = new DatabaseInstance("full", DatabaseInstanceArgs.builder()
.project("my-project-name")
.region("europe-west1")
.instanceId("disabled-db")
.type("USER_DATABASE")
.desiredState("DISABLED")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}
Firebase Database Instance Default Database
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 com.pulumi.gcp.projects.Service;
import com.pulumi.gcp.projects.ServiceArgs;
import com.pulumi.gcp.firebase.DatabaseInstance;
import com.pulumi.gcp.firebase.DatabaseInstanceArgs;
import com.pulumi.resources.CustomResourceOptions;
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 defaultProject = new Project("defaultProject", ProjectArgs.builder()
.projectId("rtdb-project")
.orgId("123456789")
.labels(Map.of("firebase", "enabled"))
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var defaultFirebase_projectProject = new Project("defaultFirebase/projectProject", ProjectArgs.builder()
.project(defaultProject.projectId())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var firebaseDatabase = new Service("firebaseDatabase", ServiceArgs.builder()
.project(defaultFirebase / projectProject.project())
.service("firebasedatabase.googleapis.com")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var defaultDatabaseInstance = new DatabaseInstance("defaultDatabaseInstance", DatabaseInstanceArgs.builder()
.project(defaultFirebase / projectProject.project())
.region("us-central1")
.instanceId("rtdb-project-default-rtdb")
.type("DEFAULT_DATABASE")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.dependsOn(firebaseDatabase)
.build());
}
}
Import
Instance can be imported using any of these accepted formats
$ pulumi import gcp:firebase/databaseInstance:DatabaseInstance default projects/{{project}}/locations/{{region}}/instances/{{instance_id}}
$ pulumi import gcp:firebase/databaseInstance:DatabaseInstance default {{project}}/{{region}}/{{instance_id}}
$ pulumi import gcp:firebase/databaseInstance:DatabaseInstance default {{region}}/{{instance_id}}
$ pulumi import gcp:firebase/databaseInstance:DatabaseInstance default {{instance_id}}
Properties
The database URL in the form of https://{instance-id}.firebaseio.com for us-central1 instances or https://{instance-id}.{region}.firebasedatabase.app in other regions.
The intended database state.
The globally unique identifier of the Firebase Realtime Database instance. Instance IDs cannot be reused after deletion.
The fully-qualified resource name of the Firebase Realtime Database, in the format: projects/PROJECT_NUMBER/locations/REGION_IDENTIFIER/instances/INSTANCE_ID PROJECT_NUMBER: The Firebase project's ProjectNumber
Learn more about using project identifiers in Google's AIP 2510 standard.
A reference to the region where the Firebase Realtime database resides. Check all available regions
The database type. Each project can create one default Firebase Realtime Database, which cannot be deleted once created. Creating user Databases is only available for projects on the Blaze plan. Projects can be upgraded using the Cloud Billing API https://cloud.google.com/billing/reference/rest/v1/projects/updateBillingInfo. Default value is USER_DATABASE
. Possible values are: DEFAULT_DATABASE
, USER_DATABASE
.