provider "aws" {
  region = var.aws_region
}

# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket  = "prod-aoma-core-terraform-state"
    key     = "prod/datadog/account-integration/terraform.tfstate"
    region  = "eu-central-1"
    encrypt = "true"
  }
}

module "datadog_aws_integration" {
  source = "git@github.com:theorchard/terraform-datadog-aws-integration.git?ref=2.1.0"

  environment = var.environment

  metrics_config = {
    tag_filters = [
      {
        namespace = "AWS/EC2",
        tags      = ["datadog:monitored"]
      }
    ]

    excluded_namespaces = [
      "AWS/AppRunner",
      "AWS/AppStream",
      "AWS/AppSync",
      "AWS/Budgeting",
      "AWS/Cassandra",
      "AWS/CloudHSM",
      "AWS/CodeBuild",
      "AWS/CodeWhisperer",
      "AWS/Cognito",
      "AWS/Connect",
      "AWS/DMS",
      "AWS/DX",
      "AWS/DocDB",
      "AWS/ElasticBeanstalk",
      "AWS/ElasticInference",
      "AWS/ElasticTranscoder",
      "AWS/MediaConnect",
      "AWS/MediaLive",
      "AWS/MediaPackage",
      "AWS/MediaStore",
      "AWS/MediaTailor",
      "AWS/FSx",
      "AWS/GameLift",
      "AWS/GlobalAccelerator",
      "AWS/IoT",
      "AWS/KinesisAnalytics",
      "AWS/Lex",
      "AWS/ML",
      "AWS/MemoryDB",
      "AWS/Neptune",
      "AWS/Network Manager",
      "AWS/NetworkMonitor",
      "AWS/PCS",
      "AWS/Polly",
      "AWS/PrivateLinkServices",
      "AWS/Redshift",
      "AWS/Rekognition",
      "AWS/StorageGateway",
      "AWS/Textract",
      "AWS/Translate",
      "AWS/WorkSpaces",
      "AWS/X-Ray",
    ]
  }
}
