This module allows to crete a firestore datatabase, fields, indexes and documents.
module "firestore" {
source = " ./fabric/modules/firestore"
project_id = " my-project"
database = {
name = " my-database"
location_id = " nam5"
type = " FIRESTORE_NATIVE"
}
}
# tftest modules=1 resources=1 inventory=new-database.yaml
New database with weekly backup
module "firestore" {
source = " ./fabric/modules/firestore"
project_id = " my-project"
database = {
name = " my-database"
location_id = " nam5"
type = " FIRESTORE_NATIVE"
}
backup_schedule = {
retention = " 86400s"
weekly_recurrence = " MONDAY"
}
}
# tftest modules=1 resources=2 inventory=new-database-with-weekly-backup.yaml
New database with document
module "firestore" {
source = " ./fabric/modules/firestore"
project_id = " my-project"
database = {
name = " my-database"
location_id = " nam5"
type = " FIRESTORE_NATIVE"
}
documents = {
my-doc-1 = {
collection = " my-coll"
document_id = " d3db1c14-e56d-4597-af1c-f95c2d2290c1"
fields = {
field1 = " value1"
field2 = " value2"
}
}
}
}
# tftest modules=1 resources=2 inventory=new-database-with-document.yaml
Existing database with document
module "firestore" {
source = " ./fabric/modules/firestore"
project_id = " my-project"
database = {
name = " my-database"
}
database_create = false
documents = {
my-doc-1 = {
collection = " my-coll"
document_id = " d3db1c14-e56d-4597-af1c-f95c2d2290c1"
fields = {
field1 = " value1"
field2 = " value2"
}
}
}
}
# tftest modules=1 resources=1 inventory=existing-database-with-document.yaml
module "firestore" {
source = " ./fabric/modules/firestore"
project_id = " my-project"
database = {
name = " my-database"
location_id = " name5"
type = " FIRESTORE_NATIVE"
}
fields = {
my-field-in-my-coll = {
collection = " my-coll"
field = " my-field"
indexes = [
{
order = " ASCENDING"
query_scope = " COLLECTION_GROUP"
},
{
array_config = " CONTAINS"
}
]
}
}
}
# tftest modules=1 resources=2 inventory=new-database-with-field.yaml
module "firestore" {
source = " ./fabric/modules/firestore"
project_id = " my-project"
database = {
name = " my-database"
location_id = " name5"
type = " FIRESTORE_NATIVE"
}
indexes = {
my-index = {
collection = " my-coll"
fields = [
{
field_path = " name"
order = " ASCENDING"
},
{
field_path = " description"
order = " DESCENDING"
}
]
}
}
}
# tftest modules=1 resources=2 inventory=new-database-with-index.yaml
name
description
type
required
default
database
Database attributes.
object({…})
✓
project_id
Project id.
string
✓
backup_schedule
Backup schedule.
object({…})
null
database_create
Flag indicating whether the database should be created of not.
string
"true"
documents
Documents.
map(object({…}))
{}
fields
Fields.
map(object({…}))
{}
indexes
Indexes.
map(object({…}))
{}