data "aws_iam_role" "config_role" {
  name = "deld-aws-config-role"
}

resource "aws_config_configuration_recorder" "this" {
  name     = "default"
  role_arn = data.aws_iam_role.config_role.arn

  recording_group {
    all_supported = false

    recording_strategy {
      use_only = "EXCLUSION_BY_RESOURCE_TYPES"
    }

    exclusion_by_resource_types {
      resource_types = [
        "AWS::Config::ResourceCompliance",
        "AWS::EC2::VPC",
        "AWS::EC2::NetworkInterface",
      ]
    }
  }

  recording_mode {
    recording_frequency = "CONTINUOUS"

    recording_mode_override {
      recording_frequency = "DAILY"
      resource_types = [
        "AWS::ElasticLoadBalancingV2::TargetGroup",
        "AWS::EC2::SecurityGroup",
        "AWS::EC2::Subnet",
      ]
    }
  }
}

resource "aws_config_configuration_recorder_status" "this" {
  name       = aws_config_configuration_recorder.this.name
  is_enabled = true

  depends_on = [aws_config_delivery_channel.this]
}

resource "aws_config_delivery_channel" "this" {
  name           = "default"
  s3_bucket_name = "sme-aoma-delivery-dev-awsconfig"

  snapshot_delivery_properties {
    delivery_frequency = "TwentyFour_Hours"
  }
}
