terraform {
  backend "s3" {
    bucket  = "qa-songwhip-terraform-state"
    key     = "qa/fivetran/songwhip-app-reporting/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}

resource "fivetran_group" "songwhip_app_reporting" {
  name = "SONGWHIP_APP_REPORTING"
}

data "aws_rds_cluster" "qa_songwhip_api" {
  cluster_identifier = "${var.environment}-${var.service_name}"
}

resource "fivetran_connector" "qa_songwhip_api_connector" {
  group_id = fivetran_group.songwhip_app_reporting.id
  service  = "aurora_postgres"

  destination_schema {
    prefix = "qa_songwhip_api"
  }

  config {
    host             = data.aws_rds_cluster.qa_songwhip_api.endpoint
    port             = data.aws_rds_cluster.qa_songwhip_api.port
    user             = "fivetran"
    database         = "songwhip_api"
    tunnel_host      = "qa-fivetran-proxy.songwhip.com"
    tunnel_port      = "2222"
    tunnel_user      = "fivetran"
    update_method    = "WAL_PGOUTPUT"
    replication_slot = "fivetran_pgoutput_slot"
    publication_name = "fivetran_pub"
  }
}

resource "fivetran_connector_schedule" "qa_ows_dmp_connector_schedule" {
  connector_id   = fivetran_connector.qa_songwhip_api_connector.id
  sync_frequency = 15
}
