module "default_policy_template" {
  source = "../../modules/s3/bucket_policies/default_policy_template"
}

moved {
  from = aws_s3_bucket.auth0_tf_state_bucket
  to   = module.s3_auth0_tf_state_bucket.aws_s3_bucket.this
}

moved {
  from = aws_s3_bucket_ownership_controls.auth0_tf_state_bucket
  to   = module.s3_auth0_tf_state_bucket.aws_s3_bucket_ownership_controls.this
}

moved {
  from = aws_s3_bucket_policy.auth0_tf_state_bucket
  to   = module.s3_auth0_tf_state_bucket.aws_s3_bucket_policy.this[0]
}

module "s3_auth0_tf_state_bucket" {
  source = "../../modules/s3/private_bucket_with_logs_aes256_v2"

  bucket_name        = "${local.name_prefix}-auth0-tfstate"
  logs_bucket_id     = data.aws_s3_bucket.security_logs.id
  logs_object_prefix = "${local.env_prefix}/auth0-tfstate/"
  kms_master_key_id  = aws_kms_key.auth0_terraform_kms_key.arn
  versioning         = true
  default_policy     = true

  common_tags = merge(local.common_tags,
    {
      Name                     = "${local.name_prefix}-auth0-tfstate",
      service                  = "S3",
      plat_env_project_service = "${local.aggregated_tag}_S3"
    }
  )
}

moved {
  from = aws_s3_bucket.auth0_backups_bucket
  to   = module.s3_auth0_backups_bucket.aws_s3_bucket.this
}

moved {
  from = aws_s3_bucket_ownership_controls.auth0_backups_bucket
  to   = module.s3_auth0_backups_bucket.aws_s3_bucket_ownership_controls.this
}

moved {
  from = aws_s3_bucket_policy.auth0_backups_bucket
  to   = module.s3_auth0_backups_bucket.aws_s3_bucket_policy.this[0]
}

module "s3_auth0_backups_bucket" {
  source = "../../modules/s3/private_bucket_with_logs_aes256_v2"

  bucket_name        = "${local.name_prefix}-auth0-backups"
  logs_bucket_id     = data.aws_s3_bucket.security_logs.id
  logs_object_prefix = "${local.env_prefix}/auth0-backups/"
  kms_master_key_id  = aws_kms_key.auth0_backups_kms_key.arn
  default_policy     = true

  common_tags = merge(local.common_tags,
    {
      Name                     = "${local.name_prefix}-auth0-backups",
      service                  = "S3",
      plat_env_project_service = "${local.aggregated_tag}_S3"
    }
  )
}


