# Topics used in this project https://github.com/theorchard/swf-feed-ingestion


# chartmetric_charts

resource "kafka_topic" "etl_chartmetric_charts_globalsoundrecording_relations" {
  name               = "etl.chartmetric.charts.globalsoundrecording.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_soundrecording_noisrc_nodes" {
  name               = "etl.chartmetric.charts.soundrecording.noisrc.nodes"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_amazon_trackandparticipant_relations" {
  name               = "etl.chartmetric.charts.amazon.trackandparticipant.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_applemusic_trackandparticipant_relations" {
  name               = "etl.chartmetric.charts.applemusic.trackandparticipant.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_deezer_trackandparticipant_relations" {
  name               = "etl.chartmetric.charts.deezer.trackandparticipant.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_linemusic_trackandparticipant_relations" {
  name               = "etl.chartmetric.charts.linemusic.trackandparticipant.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_recochoku_trackandparticipant_relations" {
  name               = "etl.chartmetric.charts.recochoku.trackandparticipant.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_shazam_trackandparticipant_relations" {
  name               = "etl.chartmetric.charts.shazam.trackandparticipant.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_soundcloud_trackandparticipant_relations" {
  name               = "etl.chartmetric.charts.soundcloud.trackandparticipant.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_spotify_trackandparticipant_relations" {
  name               = "etl.chartmetric.charts.spotify.trackandparticipant.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_tiktok_trackandparticipant_relations" {
  name               = "etl.chartmetric.charts.tiktok.trackandparticipant.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_youtube_trackandparticipant_relations" {
  name               = "etl.chartmetric.charts.youtube.trackandparticipant.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_itunes_trackandparticipant_relations" {
  name               = "etl.chartmetric.charts.itunes.trackandparticipant.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_amazon_productandlabel_relations" {
  name               = "etl.chartmetric.charts.amazon.productandlabel.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_applemusic_productandlabel_relations" {
  name               = "etl.chartmetric.charts.applemusic.productandlabel.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_deezer_productandlabel_relations" {
  name               = "etl.chartmetric.charts.deezer.productandlabel.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_shazam_productandlabel_relations" {
  name               = "etl.chartmetric.charts.shazam.productandlabel.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_spotify_productandlabel_relations" {
  name               = "etl.chartmetric.charts.spotify.productandlabel.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_charts_itunes_productandlabel_relations" {
  name               = "etl.chartmetric.charts.itunes.productandlabel.relations"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 10
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "dlq_chartmetric_charts_neo4jsink_status" {
  name               = "dlq.chartmetric.charts.neo4jsink.status"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 1
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}


# chartmetric_tracks

resource "kafka_topic" "etl_chartmetric_tracks_amazon" {
  name               = "etl.chartmetric.tracks.amazon"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 1
  config = {
    "retention.ms" = "86400000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_tracks_deezer" {
  name               = "etl.chartmetric.tracks.deezer"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 1
  config = {
    "retention.ms" = "86400000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_tracks_shazam" {
  name               = "etl.chartmetric.tracks.shazam"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 1
  config = {
    "retention.ms" = "86400000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_tracks_soundcloud" {
  name               = "etl.chartmetric.tracks.soundcloud"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 1
  config = {
    "retention.ms" = "86400000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_tracks_spotify" {
  name               = "etl.chartmetric.tracks.spotify"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 1
  config = {
    "retention.ms" = "86400000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_tracks_tiktok" {
  name               = "etl.chartmetric.tracks.tiktok"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 1
  config = {
    "retention.ms" = "86400000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "etl_chartmetric_tracks_apple_music" {
    name               = "etl.chartmetric.tracks.apple_music"
    partitions         = 1
    replication_factor = var.kafka_minimum_replication_factor
    config = {
        "compression.type" = "producer"
        "min.insync.replicas" = "2"
        "cleanup.policy" = "delete"
        "segment.bytes" = "1073741824"
        "retention.ms" = "86400000"
        "max.compaction.lag.ms" = "9223372036854775807"
        "file.delete.delay.ms" = "60000"
        "max.message.bytes" = "1048588"
        "message.timestamp.type" = "CreateTime"
        "unclean.leader.election.enable" = "false"
        "retention.bytes" = "-1"
        "delete.retention.ms" = "86400000"
        "segment.ms" = "604800000"
    }
}

resource "kafka_topic" "etl_chartmetric_tracks_tiktok_weekly" {
    name               = "etl.chartmetric.tracks.tiktok_weekly"
    partitions         = 1
    replication_factor = var.kafka_minimum_replication_factor
    config = {
        "compression.type" = "producer"
        "min.insync.replicas" = "2"
        "cleanup.policy" = "delete"
        "segment.bytes" = "1073741824"
        "retention.ms" = "86400000"
        "max.compaction.lag.ms" = "9223372036854775807"
        "file.delete.delay.ms" = "60000"
        "max.message.bytes" = "1048588"
        "message.timestamp.type" = "CreateTime"
        "unclean.leader.election.enable" = "false"
        "retention.bytes" = "-1"
        "delete.retention.ms" = "86400000"
        "segment.ms" = "604800000"
    }
}

resource "kafka_topic" "etl_chartmetric_tracks_defunctparticipations_delete" {
  name               = "etl.chartmetric.tracks.defunctparticipations.delete"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 1
  config = {
    "retention.ms" = "86400000"
    "min.insync.replicas" = "2"
  }
}

resource "kafka_topic" "dlq_chartmetric_tracks_neo4jsink_status" {
  name               = "dlq.chartmetric.tracks.neo4jsink.status"
  replication_factor = var.kafka_minimum_replication_factor
  partitions         = 1
  config = {
    "retention.ms" = "7200000"
    "min.insync.replicas" = "2"
  }
}

