Skip to content

Commit

Permalink
Merge pull request #19 from entechlog/develop
Browse files Browse the repository at this point in the history
Snowflake Example Release - 0.1.5
  • Loading branch information
entechlog authored Jun 10, 2022
2 parents 9270a79 + e74501e commit 7aaccd3
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 10 deletions.
27 changes: 19 additions & 8 deletions terraform/modules/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,20 @@ terraform {
}

locals {
create_user_map = {
create_in_dev_map = {
snowflake-dev = 1
snowflake-stg = 0
snowflake-prd = 0
}

create_schema_objects_map = {
create_in_prod_map = {
snowflake-dev = 0
snowflake-stg = 0
snowflake-prd = 1
}

enable_user_flag = local.create_user_map[terraform.workspace]
enable_schema_objects_flag = local.create_schema_objects_map[terraform.workspace]
enable_in_dev_flag = local.create_in_dev_map[terraform.workspace]
enable_in_prod_flag = local.create_in_prod_map[terraform.workspace]
}

terraform {
Expand Down Expand Up @@ -65,7 +65,7 @@ output "all_service_accounts" {

module "all_user_accounts" {
source = "./user"
count = local.enable_user_flag
count = local.enable_in_dev_flag
user_map = {
"[email protected]" : { "first_name" = "Siva", "last_name" = "Nadesan", "email" = "[email protected]" }
}
Expand Down Expand Up @@ -119,7 +119,7 @@ module "entechlog_kafka_role" {

module "entechlog_analyst_role" {
source = "./roles"
count = local.enable_user_flag
count = local.enable_in_dev_flag
role_name = "ENTECHLOG_ANALYST_ROLE"
role_comment = "Snowflake role used by Analyst"

Expand All @@ -143,6 +143,17 @@ module "entechlog_dbt_wh_xs" {
}
}

module "entechlog_query_wh_xs" {
source = "./warehouse"
count = local.enable_in_dev_flag
warehouse_name = "ALL_ENTECHLOG_QUERY_WH_XS"
warehouse_size = "XSMALL"
warehouse_grant_roles = {
"OWNERSHIP" = ["SYSADMIN"]
"USAGE" = [module.entechlog_analyst_role[0].role.name]
}
}

//***************************************************************************//
// Create Snowflake database and schema using modules
//***************************************************************************//
Expand Down Expand Up @@ -184,7 +195,7 @@ module "entechlog_raw_db" {

module "mp_encrypt_email" {
source = "./masking-policy"
count = local.enable_schema_objects_flag
count = local.enable_in_prod_flag
masking_policy_name = "MP_ENCRYPT_EMAIL"
masking_policy_database = module.entechlog_raw_db.database.name
masking_policy_schema = module.entechlog_raw_db.schema["COMPLIANCE"].name
Expand All @@ -205,7 +216,7 @@ module "mp_encrypt_email" {

module "entechlog_str_s3_intg" {
source = "./storage-integration"
count = local.enable_schema_objects_flag
count = local.enable_in_prod_flag
name = "ENTECHLOG_STR_S3_INTG"
comment = ""
storage_provider = "S3"
Expand Down
4 changes: 2 additions & 2 deletions terraform/modules/user/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ resource "snowflake_user" "user" {
first_name = title(each.value.first_name)
last_name = title(each.value.last_name)

default_warehouse = lookup(each.value, "default_warehouse", "NONE") == "NONE" ? "DEFAULT_WH" : each.value.default_warehouse
default_role = "NONE"
default_warehouse = lookup(each.value, "default_warehouse", "NONE") == "NONE" ? "ALL_ENTECHLOG_QUERY_WH_XS" : each.value.default_warehouse
default_role = "PUBLIC"

must_change_password = false
}
Expand Down

0 comments on commit 7aaccd3

Please sign in to comment.