data "aws_caller_identity" "current" {}
data "aws_region" "current" {}

# generate a random string
resource "random_string" "prefix" {
  length = 8
  upper = false
  special = false
}


module "s3" {
    source = "./module/s3"
    bucket_name = "bucket-${random_string.prefix.result}"
    tags_key = var.key
    tags_value = var.value
}


module "kms" {
    source = "./module/kms"
    tags_key = var.key
    tags_value = var.value
}


module "iam" {
    source = "./module/iam"
    tags_key = var.key
    tags_value = var.value
    backup_bucket_arn = module.s3.backup_bucket_arn
    pca_arn = var.pca_arn
    arn = module.kms.arn
    region = data.aws_region.current.name
    accountId = data.aws_caller_identity.current.account_id
    uniqueId = random_string.prefix.result
    external_id = var.external_id
    PingCAP = var.PingCAP
    depends_on = [random_string.prefix]
}


module "vpc" {
    source = "./module/vpc"
    id = random_string.prefix.result    
}

