provider "aws" {
  region = "us-east-1"
}

provider "snowflake" {
  account_name = var.account_name
  preview_features_enabled = [
    "snowflake_storage_integration_resource",
    "snowflake_stage_resource",
  ]
}

terraform {
  backend "s3" {
    bucket  = "orcd-terraform-state"
    key     = "prod/snowflake/delphi/external-stages/temp-statementdb-stage/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}


resource "snowflake_storage_integration" "integration" {
  name                      = var.snowflake_storage_integration_name
  comment                   = var.snowflake_storage_integration_name
  type                      = "EXTERNAL_STAGE"
  enabled                   = true
  storage_provider          = "S3"
  storage_allowed_locations = ["s3://temp-statementdb"]
  storage_aws_role_arn      = "arn:aws:iam::437795906767:role/statementdb-storage-integration-role"
}

resource "snowflake_stage" "stage" {
  name                = "TEMP_STATEMENTDB_STAGE"
  url                 = "s3://temp-statementdb"
  database            = "TEMP_STATEMENTDB"
  schema              = "DEV"
  storage_integration = snowflake_storage_integration.integration.name
}
