3.5 KiB
3.5 KiB
Google Cloud BigTable Module
This module allows managing a single BigTable instance, including access configuration and tables.
TODO
- support bigtable_gc_policy
- support bigtable_app_profile
Examples
Simple instance with access configuration
module "big-table-instance" {
source = "./modules/bigtable-instance"
project_id = "my-project"
name = "instance"
cluster_id = "instance"
instance_type = "PRODUCTION"
tables = {
test1 = { table_options = null },
test2 = { table_options = {
split_keys = ["a", "b", "c"]
column_family = null
}
}
}
iam_roles = ["viewer"]
iam_members = {
viewer = ["user:viewer@testdomain.com"]
}
}
Variables
name | description | type | required | default |
---|---|---|---|---|
name | The name of the Cloud Bigtable instance. | string |
✓ | |
project_id | Id of the project where datasets will be created. | string |
✓ | |
zone | The zone to create the Cloud Bigtable cluster in. | string |
✓ | |
cluster_id | The ID of the Cloud Bigtable cluster. | string |
europe-west1 |
|
deletion_protection | Whether or not to allow Terraform to destroy the instance. Unless this field is set to false in Terraform state, a terraform destroy or terraform apply that would delete the instance will fail. |
|
true |
|
display_name | The human-readable display name of the Bigtable instance. |
|
null |
|
iam_members | Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the instance are preserved. | map(list(string)) |
{} |
|
iam_roles | Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. | list(string) |
[] |
|
instance_type | None | string |
DEVELOPMENT |
|
num_nodes | The number of nodes in your Cloud Bigtable cluster. | number |
1 |
|
storage_type | The storage type to use. | string |
SSD |
|
table_options_defaults | Default option of tables created in the BigTable instance. | object({...}) |
... |
|
tables | Tables to be created in the BigTable instance. | map(object({...})) |
{} |
Outputs
name | description | sensitive |
---|---|---|
id | An identifier for the resource with format projects/{{project}}/instances/{{name}}. | |
instance | BigTable intance. | |
table_ids | Map of fully qualified table ids keyed by table name. | |
tables | Table resources. |