provider "snowflake" {
  account_name = "delphi"
  role         = "PROD_ATLANTIS"
}

module "database" {
  source = "../../../modules/database"

  database_name = "TERRAFORM_SNOWFLAKE_TEST"

  schemas = [
    {
      name    = "SCHEMA_A"
      managed = false
    },
  ]
}

# There is no resource for agents yet
resource "snowflake_execute" "test_agent" {
  depends_on = [module.database]

  execute = "CREATE OR REPLACE AGENT TERRAFORM_SNOWFLAKE_TEST.SCHEMA_A.TEST_AGENT"
  revert  = "DROP AGENT IF EXISTS TERRAFORM_SNOWFLAKE_TEST.SCHEMA_A.TEST_AGENT"
}

module "role" {
  depends_on = [snowflake_execute.test_agent]

  source   = "../../../modules/roles/agent_access"
  database = "TERRAFORM_SNOWFLAKE_TEST"
  schema   = "SCHEMA_A"
  agent    = "TEST_AGENT"
}
