provider "aws" {
  region = var.aws_region

  default_tags {
    tags = module.default_tags.tags
  }
}

module "default_tags" {
  source             = "git@github.com:theorchard/terraform-default-tags.git//?ref=2.0.0"
  environment        = var.environment
  application_family = var.application_family
  service_name       = var.service_name
  team_name          = var.team_name
}

# Create the kinesis stream
resource "aws_kinesis_stream" "kinesis_stream" {
  name                = "${var.environment}-${var.service_name}-stream"
  shard_count         = var.shard_count
  retention_period    = var.retention_period
  encryption_type     = "KMS"
  kms_key_id          = var.kms_key_id
  shard_level_metrics = var.shard_level_metrics

  tags = merge(
    {
      environment        = var.environment
      service_name       = var.service_name
      terraformed        = "true"
      application_family = var.application_family
    },
    var.additional_tags
  )
}

