resource "snowflake_warehouse" "decibel_pbi_wh" {
  auto_resume                  = true
  auto_suspend                 = 60
  comment                      = "DEXP-3417"
  name                         = "DECIBEL_PBI_WH"
  statement_timeout_in_seconds = 604800
  warehouse_size               = "Medium"

  provider = snowflake.sysadmin
}
/*
resource "snowflake_warehouse_grant" "decibel_pbi_wh_ownership_grant" {
  warehouse_name = snowflake_warehouse.decibel_pbi_wh.name
  privilege      = "OWNERSHIP"

  roles = ["SYSADMIN"]

  with_grant_option = true

  provider = snowflake.sysadmin
}

resource "snowflake_warehouse_grant" "decibel_pbi_wh_usage_grant" {
  warehouse_name = snowflake_warehouse.decibel_pbi_wh.name
  privilege      = "USAGE"

  roles = ["EXPLORATION_AD_PLUS", "EXPLORATION_USER", "SME_GERMANY_READ"]

  with_grant_option = false

  provider = snowflake.sysadmin
}

resource "snowflake_warehouse_grant" "decibel_pbi_wh_operate_grant" {
  warehouse_name = snowflake_warehouse.decibel_pbi_wh.name
  privilege      = "OPERATE"

  roles = ["EXPLORATION_AD_PLUS", "EXPLORATION_USER", "SME_GERMANY_READ"]

  with_grant_option = false

  provider = snowflake.sysadmin
}
*/
resource "snowflake_warehouse" "poc_dynamic_tables_wh" {
  auto_resume                  = true
  auto_suspend                 = 60
  name                         = "POC_DYNAMIC_TABLE_WH"
  comment                      = "DEXP-3420"
  statement_timeout_in_seconds = 604800
  warehouse_size               = "Large"

  provider = snowflake.sysadmin
}
/*
resource "snowflake_warehouse_grant" "poc_dynamic_tables_wh_ownership_grant" {
  warehouse_name = snowflake_warehouse.poc_dynamic_tables_wh.name
  privilege      = "OWNERSHIP"

  roles = ["SYSADMIN"]

  with_grant_option = true

  provider = snowflake.sysadmin
}

resource "snowflake_warehouse_grant" "poc_dynamic_tables_wh_usage_grant" {
  warehouse_name = snowflake_warehouse.poc_dynamic_tables_wh.name
  privilege      = "USAGE"

  roles = ["EXPLORATION_AD_PLUS", "EXPLORATION_USER", "SME_GERMANY_READ"]

  with_grant_option = false

  provider = snowflake.sysadmin
}

resource "snowflake_warehouse_grant" "poc_dynamic_tables_wh_operate_grant" {
  warehouse_name = snowflake_warehouse.poc_dynamic_tables_wh.name
  privilege      = "OPERATE"

  roles = ["EXPLORATION_AD_PLUS", "EXPLORATION_USER", "SME_GERMANY_READ"]

  with_grant_option = false

  provider = snowflake.sysadmin
}
*/
resource "snowflake_warehouse" "apollo_prod_jobs" {
  auto_resume                         = true
  auto_suspend                        = 60
  initially_suspended                 = true
  max_cluster_count                   = 2
  max_concurrency_level               = 3
  statement_queued_timeout_in_seconds = 600
  statement_timeout_in_seconds        = 3600
  name                                = "APOLLO_PROD_JOBS_WH"
  comment                             = "APM-416"
  warehouse_size                      = "Small"

  provider = snowflake.sysadmin
}

resource "snowflake_warehouse_grant" "apollo_prod_jobs_wh_operate_grant" {
  warehouse_name = snowflake_warehouse.apollo_prod_jobs.name
  privilege      = "OPERATE"

  roles = ["APOLLO_TEAM_ROLE"]

  with_grant_option = false

  provider = snowflake.sysadmin
}

resource "snowflake_warehouse_grant" "apollo_prod_jobs_wh_usage_grant" {
  warehouse_name = snowflake_warehouse.apollo_prod_jobs.name
  privilege      = "USAGE"

  roles = ["APOLLO_TEAM_ROLE"]

  with_grant_option = false

  provider = snowflake.sysadmin
}

resource "snowflake_warehouse_grant" "apollo_prod_jobs_wh_monitor_grant" {
  warehouse_name = snowflake_warehouse.apollo_prod_jobs.name
  privilege      = "MONITOR"

  roles = ["BILLING_ROLE"]

  with_grant_option = false

  provider = snowflake.sysadmin
}

resource "snowflake_warehouse" "apollo_dev_jobs" {
  auto_resume                         = true
  auto_suspend                        = 60
  initially_suspended                 = true
  max_cluster_count                   = 2
  max_concurrency_level               = 3
  statement_queued_timeout_in_seconds = 600
  statement_timeout_in_seconds        = 3600
  name                                = "APOLLO_DEV_JOBS_WH"
  comment                             = "APM-416"
  warehouse_size                      = "Small"

  provider = snowflake.sysadmin
}

resource "snowflake_warehouse_grant" "apollo_dev_jobs_wh_operate_grant" {
  warehouse_name = snowflake_warehouse.apollo_dev_jobs.name
  privilege      = "OPERATE"

  roles = ["APOLLO_TEAM_ROLE"]

  with_grant_option = false

  provider = snowflake.sysadmin
}

resource "snowflake_warehouse_grant" "apollo_dev_jobs_wh_usage_grant" {
  warehouse_name = snowflake_warehouse.apollo_dev_jobs.name
  privilege      = "USAGE"

  roles = ["APOLLO_TEAM_ROLE"]

  with_grant_option = false

  provider = snowflake.sysadmin
}

resource "snowflake_warehouse_grant" "apollo_dev_jobs_wh_monitor_grant" {
  warehouse_name = snowflake_warehouse.apollo_dev_jobs.name
  privilege      = "MONITOR"

  roles = ["BILLING_ROLE"]

  with_grant_option = false

  provider = snowflake.sysadmin
}
