module "cf-templates-7yozj7qbo06d-eu-central-1" {
  # checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  # checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  # checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  # checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "cf-templates-7yozj7qbo06d-eu-central-1"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-ms-sec-dev-ff-s3-logs"
    target_prefix = "sme-mc-sec-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  object_lock_enabled                   = false
  block_public_acls                     = var.block_public_acls
  ignore_public_acls                    = var.ignore_public_acls
  restrict_public_buckets               = var.restrict_public_buckets
  block_public_policy                   = var.block_public_policy
  force_destroy                         = var.force_destroy
  attach_policy                         = false
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy

  tags = { Business-Unit = "AOMA Conversion Sec"
    Environment    = "Dev"
    Name           = "cf-templates-7yozj7qbo06d-eu-central-1"
    Owner          = "Ted Gulesserian"
    Project-Code   = "SME-2000-0306C"
    Project-Name   = "AOMA Conversion"
    Terraform      = "True"
    Classification = "internal-use-only"
  Purpose = "CLOUDOPS" }
}

module "sme-mc-mcsec-msk-vpc-flowlogs" {
  # checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  # checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  # checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  # checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-mc-mcsec-msk-vpc-flowlogs"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-ms-sec-dev-ff-s3-logs"
    target_prefix = "sme-mc-sec-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  object_lock_enabled                   = false
  block_public_acls                     = var.block_public_acls
  ignore_public_acls                    = var.ignore_public_acls
  restrict_public_buckets               = var.restrict_public_buckets
  block_public_policy                   = var.block_public_policy
  force_destroy                         = var.force_destroy
  attach_policy                         = var.attach_policy
  policy                                = data.aws_iam_policy_document.sme-mc-mcsec-msk-vpc-flowlogs.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy

  tags = { Business-Unit = "AOMA-Conversion"
    Environment    = "Dev"
    Owner          = "Ted Gulesserian"
    Project-Code   = "SME-2000-0306C"
    Project-Name   = "Media Conversion"
    Terraform      = "True"
    Classification = "internal-use-only"
    Purpose        = "CLOUDOPS"
  Name = "sme-mc-mcsec-msk-vpc-flowlogs" }
}

module "sme-mc-sec-dev-athena-out" {
  # checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  # checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  # checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  # checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-mc-sec-dev-athena-out"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-ms-sec-dev-ff-s3-logs"
    target_prefix = "sme-mc-sec-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  object_lock_enabled                   = false
  block_public_acls                     = var.block_public_acls
  ignore_public_acls                    = var.ignore_public_acls
  restrict_public_buckets               = var.restrict_public_buckets
  block_public_policy                   = var.block_public_policy
  force_destroy                         = var.force_destroy
  attach_policy                         = false
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy

  tags = { Business-Unit = "AOMA-Conversion-Sec"
    Environment    = "Dev"
    Name           = "sme-mc-sec-dev-athena-out"
    Project-Code   = "SME-2000-0306C"
    Project-Name   = "AOMA-Conversion"
    Terraform      = "True"
    Classification = "internal-use-only"
    Purpose        = "CLOUDOPS"
  Owner = "Ted Gulesserian" }
}

module "sme-mc-sec-dev-awsconfig" {
  # checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  # checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  # checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  # checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-mc-sec-dev-awsconfig"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-ms-sec-dev-ff-s3-logs"
    target_prefix = "sme-mc-sec-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  object_lock_enabled                   = false
  block_public_acls                     = var.block_public_acls
  ignore_public_acls                    = var.ignore_public_acls
  restrict_public_buckets               = var.restrict_public_buckets
  block_public_policy                   = var.block_public_policy
  force_destroy                         = var.force_destroy
  attach_policy                         = var.attach_policy
  policy                                = data.aws_iam_policy_document.sme-mc-sec-dev-awsconfig.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy
  tags = {
    Business-Unit  = "AOMA Conversion Sec"
    Environment    = "Dev"
    Name           = "sme-mc-sec-dev-awsconfig"
    Owner          = "Ted Gulesserian"
    Project-Code   = "SME-2000-0306C"
    Project-Name   = "AOMA Conversion"
    Classification = "internal-use-only"
    Terraform      = "True"
    Purpose        = "CLOUDOPS"
  }
}

module "sme-mc-sec-dev-euc1-s3-inventory" {
  # checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  # checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  # checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  # checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-mc-sec-dev-euc1-s3-inventory"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-ms-sec-dev-ff-s3-logs"
    target_prefix = "sme-mc-sec-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  object_lock_enabled                   = false
  block_public_acls                     = var.block_public_acls
  ignore_public_acls                    = var.ignore_public_acls
  restrict_public_buckets               = var.restrict_public_buckets
  block_public_policy                   = var.block_public_policy
  force_destroy                         = var.force_destroy
  attach_policy                         = var.attach_policy
  policy                                = data.aws_iam_policy_document.sme-mc-sec-dev-euc1-s3-inventory.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy

  tags = { Business-Unit = "AOMA-Conversion-Sec"
    Environment    = "Dev"
    Name           = "sme-mc-sec-dev-euc1-s3-inventory"
    Project-Code   = "SME-2000-0306C"
    Project-Name   = "AOMA-Conversion"
    Classification = "internal-use-only"
    Terraform      = "True"
    Purpose        = "CLOUDOPS"
  Owner = "Ted Gulesserian" }
}

module "sme-mc-sec-dev-lambda-archived" {
  # checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  # checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  # checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  # checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-mc-sec-dev-lambda-archived"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-ms-sec-dev-ff-s3-logs"
    target_prefix = "sme-mc-sec-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  object_lock_enabled                   = false
  block_public_acls                     = var.block_public_acls
  ignore_public_acls                    = var.ignore_public_acls
  restrict_public_buckets               = var.restrict_public_buckets
  block_public_policy                   = var.block_public_policy
  force_destroy                         = var.force_destroy
  attach_policy                         = var.attach_policy
  policy                                = data.aws_iam_policy_document.sme-mc-sec-dev-lambda-archived.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy
  tags = {
    Business-Unit  = "AOMA-Conversion-Sec"
    Environment    = "Dev"
    Name           = "sme-mc-sec-dev-lambda-archived"
    Project-Code   = "SME-2000-0306C"
    Project-Name   = "AOMA-Conversion"
    Classification = "internal-use-only"
    Terraform      = "True"
    Purpose        = "APP-SUPPORT"
    Owner          = "Ted Gulesserian"
  }
}

module "sme-mc-sec-dev-rds-backups" {
  # checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  # checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  # checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  # checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-mc-sec-dev-rds-backups"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-ms-sec-dev-ff-s3-logs"
    target_prefix = "sme-mc-sec-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  object_lock_enabled                   = false
  block_public_acls                     = var.block_public_acls
  ignore_public_acls                    = var.ignore_public_acls
  restrict_public_buckets               = var.restrict_public_buckets
  block_public_policy                   = var.block_public_policy
  force_destroy                         = var.force_destroy
  attach_policy                         = var.attach_policy
  policy                                = data.aws_iam_policy_document.sme-mc-sec-dev-rds-backups.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy

  tags = {
    Business-Unit  = "AOMA-Conversion-Sec"
    Environment    = "Dev"
    Name           = "sme-mc-sec-dev-rds-backups"
    Project-Code   = "SME-2000-0306C"
    Project-Name   = "AOMA-Conversion"
    Classification = "internal-use-only"
    Terraform      = "True"
    Purpose        = "APP-SUPPORT"
    Owner          = "Ted Gulesserian"
  }
}

module "sme-mc-sec-dev-ssm-out" {
  # checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  # checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  # checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  # checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-mc-sec-dev-ssm-out"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-ms-sec-dev-ff-s3-logs"
    target_prefix = "sme-mc-sec-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  object_lock_enabled                   = false
  block_public_acls                     = var.block_public_acls
  ignore_public_acls                    = var.ignore_public_acls
  restrict_public_buckets               = var.restrict_public_buckets
  block_public_policy                   = var.block_public_policy
  force_destroy                         = var.force_destroy
  attach_policy                         = false
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy

  tags = { Business-Unit = "AOMA Conversion Sec"
    Environment    = "Dev"
    Name           = "sme-mc-sec-dev-ssm-out"
    Owner          = "Ted Gulesserian"
    Project-Code   = "SME-2000-0306C"
    Project-Name   = "AOMA Conversion"
    Classification = "internal-use-only"
    Terraform      = "True"
  Purpose = "APP-SUPPORT" }
}

module "sme-mcsec-d1-vpc-flowlogs" {
  # checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  # checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  # checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  # checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-mcsec-d1-vpc-flowlogs"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-ms-sec-dev-ff-s3-logs"
    target_prefix = "sme-mc-sec-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  object_lock_enabled                   = false
  block_public_acls                     = var.block_public_acls
  ignore_public_acls                    = var.ignore_public_acls
  restrict_public_buckets               = var.restrict_public_buckets
  block_public_policy                   = var.block_public_policy
  force_destroy                         = var.force_destroy
  attach_policy                         = var.attach_policy
  policy                                = data.aws_iam_policy_document.sme-mcsec-d1-vpc-flowlogs.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy

  tags = { Business-Unit = "AOMA Conversion Sec"
    Environment    = "Dev"
    Name           = "sme-mcsec-d1-vpc-flowlogs"
    Owner          = "Ted Gulesserian"
    Project-Code   = "SME-2000-0306C"
    Project-Name   = "AOMA Conversion"
    Classification = "internal-use-only"
    Terraform      = "True"
  Purpose = "CLOUDOPS" }
}

module "sme-mcsec-s1-vpc-flowlogs" {
  # checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  # checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  # checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  # checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-mcsec-s1-vpc-flowlogs"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-ms-sec-dev-ff-s3-logs"
    target_prefix = "sme-mc-sec-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  object_lock_enabled                   = false
  block_public_acls                     = var.block_public_acls
  ignore_public_acls                    = var.ignore_public_acls
  restrict_public_buckets               = var.restrict_public_buckets
  block_public_policy                   = var.block_public_policy
  force_destroy                         = var.force_destroy
  attach_policy                         = var.attach_policy
  policy                                = data.aws_iam_policy_document.sme-mcsec-s1-vpc-flowlogs.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy

  tags = { Business-Unit = "AOMA Conversion Sec"
    Environment    = "Dev"
    Name           = "sme-mcsec-s1-vpc-flowlogs"
    Owner          = "Ted Gulesserian"
    Project-Code   = "SME-2000-0306C"
    Project-Name   = "AOMA Conversion"
    Classification = "internal-use-only"
    Terraform      = "True"
  Purpose = "CLOUDOPS" }
}

module "sme-ms-sec-dev-ff-s3-logs" {
  # checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  # checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  # checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  # checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-ms-sec-dev-ff-s3-logs"
  versioning = {
    enabled = true
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration

  object_ownership                      = "BucketOwnerEnforced"
  object_lock_enabled                   = false
  block_public_acls                     = var.block_public_acls
  ignore_public_acls                    = var.ignore_public_acls
  restrict_public_buckets               = var.restrict_public_buckets
  block_public_policy                   = var.block_public_policy
  force_destroy                         = var.force_destroy
  attach_policy                         = var.attach_policy
  policy                                = data.aws_iam_policy_document.sme-ms-sec-dev-ff-s3-logs.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy

  tags = { Business-Unit = "AOMA Conversion Sec"
    Environment    = "Dev"
    Name           = "sme-ms-sec-dev-ff-s3-logs"
    Owner          = "Ted Gulesserian"
    Project-Code   = "SME-2000-0306C"
    Project-Name   = "AOMA Conversion"
    Classification = "internal-use-only"
    Terraform      = "True"
  Purpose = "LOGGING" }
}

