module "cf-templates-ih8itwzfhdak-us-east-1" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "cf-templates-ih8itwzfhdak-us-east-1"
  versioning = {
    enabled = false
  }

  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-us-east-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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.cf-templates-ih8itwzfhdak-us-east-1.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy
  tags = merge(var.tags,
    {
      Name           = "sme-aoma-delivery-dev-us-east-1-logs",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "LOGGING"
  })
}

module "deld-lambdas-state" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "deld-lambdas-state"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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.deld-lambdas-state.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy
  tags = merge(var.tags,
    {
      Name           = "deld-lambdas-state",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "APP-SUPPORT"
    }

  )
}


module "sme-delivery-dev-aoma-upload" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-delivery-dev-aoma-upload"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-delivery-dev-aoma-upload.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = false
  tags = merge(var.tags,
    {
      Name           = "sme-delivery-dev-aoma-upload",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "APP-SUPPORT"
    }

  )
}

module "sme-delivery-dev-user-upload" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-delivery-dev-user-upload"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy
  tags = merge(var.tags,
    {
      Name           = "sme-delivery-dev-user-upload",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "APP-SUPPORT"
    }

  )
}
module "del-d-vpc-flow-logs" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "del-d-vpc-flow-logs"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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.del-d-vpc-flow-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 = merge(var.tags,
    {
      Name           = "del-d-vpc-flow-logs",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"
  })
}

module "del-s2-vpc-flow-logs" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "del-s2-vpc-flow-logs"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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.del-s2-vpc-flow-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 = merge(var.tags,
    {
      Name           = "del-s2-vpc-flow-logs",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"
  })
}

module "deld-frankfurt-alb-logs" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "deld-frankfurt-alb-logs"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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.deld-frankfurt-alb-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 = merge(var.tags,

    {
      Name           = "deld-frankfurt-alb-logs",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"

  })
}

module "deld-frankfurt-cfn-logs" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "deld-frankfurt-cfn-logs"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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 = merge(var.tags,

    {
      Name           = "deld-frankfurt-cfn-logs",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"

  })
}

module "deld-waf-logs" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "deld-waf-logs"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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.deld-waf-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 = merge(var.tags,
    {
      Name           = "deld-waf-logs",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"
  })
}

module "sme-aoma-delivery-dev-awsconfig" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-aoma-delivery-dev-awsconfig"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-aoma-delivery-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 = merge(var.tags,
    {
      Name           = "sme-aoma-delivery-dev-awsconfig",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"
  })
}

module "sme-aoma-delivery-dev-db-team" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-aoma-delivery-dev-db-team"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-aoma-delivery-dev-db-team.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy
  tags = merge(var.tags,
    {
      Name           = "sme-aoma-delivery-dev-db-team",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"
    }

  )
}

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

  object_ownership                      = "BucketOwnerEnforced"
  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-aoma-delivery-dev-eu-central-1-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                                  = merge(var.tags, { Name = "sme-aoma-delivery-dev-eu-central-1-logs" }, { Purpose = "LOGGING" })
}

module "sme-aoma-delivery-dev-euc1-s3-inventory" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-aoma-delivery-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-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-aoma-delivery-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 = merge(var.tags,
    {
      Name           = "sme-aoma-delivery-dev-euc1-s3-inventory",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"
  })
}

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

  object_ownership                      = "BucketOwnerEnforced"
  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-aoma-delivery-dev-euw2-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 = merge(var.tags,
    {
      Name           = "sme-aoma-delivery-dev-euw2-s3-inventory",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"
  })
}

module "sme-aoma-delivery-dev-rds-backups" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-aoma-delivery-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-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-aoma-delivery-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 = merge(var.tags,
    {
      Name           = "sme-aoma-delivery-dev-rds-backups",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"
    }

  )
}

module "sme-aoma-delivery-dev-ssm-out" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-aoma-delivery-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-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-aoma-delivery-dev-ssm-out.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy
  tags = merge(var.tags,

    {

      Name           = "sme-aoma-delivery-dev-ssm-out",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"

  })
}

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

  server_side_encryption_configuration = var.server_side_encryption_configuration

  object_ownership                      = "BucketOwnerEnforced"
  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-aoma-delivery-dev-us-east-1-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                                  = merge(var.tags, { Name = "sme-aoma-delivery-dev-us-east-1-logs" }, { Purpose = "LOGGING" })
}

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

  object_ownership                      = "BucketOwnerEnforced"
  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-aoma-delivery-dev-us-west-1-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 = merge(var.tags, {

    Name           = "sme-aoma-delivery-dev-us-west-1-logs",
    Environment    = "Dev",
    Terraform      = "True",
    Business-Unit  = "Delivery-Services",
    Classification = "internal-use-only",
    Project-Name   = "Delivery",
    Project-Code   = "SME-2000-0306B",
    Owner          = "Vijay Subramaniam",
    map-migrated   = "migKNBMDMW06I",
    Purpose        = "LOGGING"
  })
}

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

  object_ownership                      = "BucketOwnerEnforced"
  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-aoma-delivery-dev-us-west-2-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 = merge(var.tags,
    {
      Name           = "sme-aoma-delivery-dev-us-west-2-logs",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "LOGGING"
  })
}

module "sme-aoma-delivery-dev-use1-s3-inventory" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-aoma-delivery-dev-use1-s3-inventory"
  versioning = {
    enabled = false
  }

  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-us-east-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-aoma-delivery-dev-use1-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 = merge(var.tags,
    {
      Name           = "sme-aoma-delivery-dev-use1-s3-inventory",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"
  })
}

module "sme-aoma-delivery-dev-usw1-s3-inventory" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-aoma-delivery-dev-usw1-s3-inventory"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.us-west-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-us-west-1-logs"
    target_prefix = "sme-aoma-delivery-dev-usw1-s3-inventory/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-aoma-delivery-dev-usw1-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 = merge(var.tags,

    {
      Name           = "sme-aoma-delivery-dev-usw1-s3-inventory",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"

  })
}

module "sme-aoma-delivery-dev-usw2-s3-inventory" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-aoma-delivery-dev-usw2-s3-inventory"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.us-west-2
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-us-west-2-logs"
    target_prefix = "sme-aoma-delivery-dev-usw2-s3-inventory/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-aoma-delivery-dev-usw2-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 = merge(var.tags,
    {
      Name           = "sme-aoma-delivery-dev-usw2-s3-inventory",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"
  })
}

module "sme-deld-redshift-euc1" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-deld-redshift-euc1"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-deld-redshift-euc1.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy
  tags = merge(var.tags,
    {
      Name           = "sme-deld-redshift-euc1",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"

  })
}

module "sme-delivery-dev-shelf" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-delivery-dev-shelf"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-delivery-dev-shelf.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy
  tags = merge(var.tags,

    {
      Name           = "sme-delivery-dev-shelf",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "APP-SUPPORT"
  })
}

module "sme-delivery-dev-target" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-delivery-dev-target"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-delivery-dev-target.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy
  tags = merge(var.tags,
    {
      Name           = "sme-delivery-dev-target",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "APP-SUPPORT"
    }

  )
}

module "sme-delivery-messages" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-delivery-messages"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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 = merge(var.tags,
    {
      Name           = "sme-delivery-messages",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "APP-SUPPORT"
    }

  )
}

module "sme-delivery-scratch" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-delivery-scratch"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-delivery-scratch.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy
  tags = merge(var.tags,
    {
      Name           = "sme-delivery-scratch",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "APP-SUPPORT"
  })
}

module "sme-delivery-uat-shelf" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-delivery-uat-shelf"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-delivery-uat-shelf.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy
  tags = merge(var.tags,

    {

      Name           = "sme-delivery-uat-shelf",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "APP-SUPPORT"

  })
}


module "sme-delivery-uat-target" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-delivery-uat-target"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-delivery-uat-target.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy
  tags = merge(var.tags,
    {

      Name           = "sme-delivery-uat-target",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "APP-SUPPORT"

  })
}

module "sme-pitch-content-dropoff-uat" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-pitch-content-dropoff-uat"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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-pitch-content-dropoff-uat.json
  attach_deny_insecure_transport_policy = var.attach_deny_insecure_transport_policy
  attach_require_latest_tls_policy      = var.attach_require_latest_tls_policy
  tags = merge(var.tags,
    {
      Name           = "sme-pitch-content-dropoff-uat",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "APP-SUPPORT"
  })
}

module "dev-eks-pv" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "dev-eks-pv"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = {
    rule = {
      bucket_key_enabled = true
      apply_server_side_encryption_by_default = {
        kms_master_key_id = ""
        sse_algorithm     = "AES256"
      }
    }
  }
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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 = {
    Name           = "dev-eks-pv",
    Environment    = "Dev",
    Terraform      = "False",
    Business-Unit  = "Delivery-Services",
    Classification = "internal-use-only",
    Project-Name   = "Delivery",
    Project-Code   = "SME-2000-0306B",
    Owner          = "Vijay Subramaniam",
    Purpose        = "CLOUDOPS"
  }
}

module "sme_netezza_data" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme.netezza.data"
  versioning = {
    enabled = false
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-us-east-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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_netezza_data.json
  attach_public_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 = merge(var.tags,
    {
      Name           = "sme.netezza.data",
      Environment    = "Dev",
      Terraform      = "True",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Robert Dewilder",
      Purpose        = "CLOUDOPS"
    }

  )
}

module "sme_netezza_data_load" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme.netezza.data.load"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = var.server_side_encryption_configuration
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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_public_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 = merge(var.tags,
    {
      Name           = "sme.netezza.data.load",
      Environment    = "Dev",
      Terraform      = "False",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "CLOUDOPS"
    }

  )
}

module "vev_s3_dropoff" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "vev.s3.dropoff"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = {
    rule = {
      bucket_key_enabled = true
      apply_server_side_encryption_by_default = {
        kms_master_key_id = ""
        sse_algorithm     = "AES256"
      }
    }
  }
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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_public_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 = merge(var.tags,
    {
      Name           = "vev.s3.dropoff",
      Environment    = "Dev",
      Terraform      = "False",
      Business-Unit  = "Delivery-Services",
      Classification = "internal-use-only",
      Project-Name   = "Delivery",
      Project-Code   = "SME-2000-0306B",
      Owner          = "Vijay Subramaniam",
      map-migrated   = "migKNBMDMW06I",
      Purpose        = "APP-SUPPORT"
    }

  )
}

module "sme-delivery-uat-aoma-upload" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-delivery-uat-aoma-upload"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = {
    rule = {
      bucket_key_enabled = false
      apply_server_side_encryption_by_default = {
        kms_master_key_id = ""
        sse_algorithm     = "AES256"
      }
    }
  }
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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                         = true
  policy                                = data.aws_iam_policy_document.sme-delivery-uat-aoma-upload.json
  attach_public_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                                  = { Purpose = "CLOUDOPS" }
}


module "sme-delivery-uat-user-upload" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-delivery-uat-user-upload"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws.eu-central-1
  }
  server_side_encryption_configuration = {
    rule = {
      bucket_key_enabled = false
      apply_server_side_encryption_by_default = {
        kms_master_key_id = ""
        sse_algorithm     = "AES256"
      }
    }
  }
  logging = {
    target_bucket = "sme-aoma-delivery-dev-eu-central-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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                         = true
  policy                                = data.aws_iam_policy_document.sme-delivery-uat-user-upload.json
  attach_public_policy                  = false
  attach_deny_insecure_transport_policy = false
  attach_require_latest_tls_policy      = false
  tags                                  = { Purpose = "CLOUDOPS" }
}

module "sme-deld-watermarking-us-east-1" {
  #checkov:skip=CKV_AWS_19: Ensure all data stored in the S3 bucket is securely encrypted at rest
  #checkov:skip=CKV_AWS_21: Ensure all data stored in the S3 bucket have versioning enabled
  #checkov:skip=CKV_AWS_145: Ensure that S3 buckets are encrypted with KMS by default
  #checkov:skip=CKV_AWS_300: Ensure S3 lifecycle configuration sets period for aborting failed uploads
  source  = "terraform-aws-modules/s3-bucket/aws"
  version = "~> 3.11.0"
  bucket  = "sme-deld-watermarking-us-east-1"
  versioning = {
    enabled = false
  }
  providers = {
    aws = aws
  }
  server_side_encryption_configuration = {
    rule = {
      bucket_key_enabled = false
      apply_server_side_encryption_by_default = {
        kms_master_key_id = ""
        sse_algorithm     = "AES256"
      }
    }
  }
  logging = {
    target_bucket = "sme-aoma-delivery-dev-us-east-1-logs"
    target_prefix = "sme-aoma-delivery-dev/"
  }
  object_ownership                      = "BucketOwnerEnforced"
  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                         = true
  policy                                = data.aws_iam_policy_document.sme-deld-watermarking-us-east-1.json
  attach_public_policy                  = false
  attach_deny_insecure_transport_policy = false
  attach_require_latest_tls_policy      = false
}
