36 lines
769 B
Terraform
36 lines
769 B
Terraform
|
|
variable "prefix" {
|
||
|
|
type = string
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "domain" {
|
||
|
|
type = string
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "zones" {
|
||
|
|
type = list(string)
|
||
|
|
default = ["landing", "raw", "curated", "marts"]
|
||
|
|
}
|
||
|
|
|
||
|
|
# Placeholder resources — replace with snowflakedb/snowflake provider resources when applying to a real account.
|
||
|
|
# Sky Lattice renders these as documentation + planned object graph for v0.
|
||
|
|
|
||
|
|
locals {
|
||
|
|
database_name = "${var.prefix}_${upper(var.domain)}"
|
||
|
|
schema_names = { for z in var.zones : z => upper(z) }
|
||
|
|
}
|
||
|
|
|
||
|
|
output "database_name" {
|
||
|
|
value = local.database_name
|
||
|
|
}
|
||
|
|
|
||
|
|
output "schemas" {
|
||
|
|
value = local.schema_names
|
||
|
|
}
|
||
|
|
|
||
|
|
output "planned_objects" {
|
||
|
|
value = concat(
|
||
|
|
["database:${local.database_name}"],
|
||
|
|
[for z, s in local.schema_names : "schema:${local.database_name}.${s}"]
|
||
|
|
)
|
||
|
|
}
|