
resource "aws_cloudwatch_log_group" "this" {
  name              = var.awslogs_group_name != "" ? var.awslogs_group_name : "/ecs/${var.name}"
  retention_in_days = var.awslogs_retention
  tags              = var.tags
}

module "this" {
  source = "github.com/borysbabii/terraform-aws-ecs-container-definition"

  container_name  = "datadog"
  container_image = var.container_image
  map_environment = var.env_vars
  map_secrets     = var.secrets
  docker_labels   = var.docker_labels

  log_configuration = {
    logDriver = "awslogs"
    options = {
      "awslogs-group"         = aws_cloudwatch_log_group.this.name
      "awslogs-region"        = var.awslogs_region
      "awslogs-stream-prefix" = var.awslogs_stream_prefix
    }
  }

}

resource "aws_ecs_task_definition" "this" {
  family                   = var.name
  task_role_arn            = var.role_arn
  execution_role_arn       = var.exec_role_arn
  network_mode             = "awsvpc"
  requires_compatibilities = ["FARGATE"]
  cpu                      = 256
  memory                   = 512
  tags                     = var.tags

  container_definitions = "[${module.this.json_map_encoded}]"

  lifecycle {
    create_before_destroy = true
  }
}
