Terraform Level-3 Task-9 Storing and Accessing Sensitive Data Securely with AWS Secrets Manager Using Terraform

Hi

Things are created as per the requirement and output also printing as expected.
Verification script is expecting something else, please advice.

Hi @suryaeshwaran

I just checked it, and it worked fine. Please share your Terraform files so I can see what went wrong.

#main.tf
# Create AWS Secrets Manager secret
resource "aws_secretsmanager_secret" "datacenter_db_password" {
  name                    = "datacenter-db-password"
  description            = "Database password for datacenter application"
  recovery_window_in_days = 7

  tags = {
    Name        = "datacenter-db-password"
    Environment = "production"
    Purpose     = "database-credentials"
  }
}

# Store the database password in the secret
resource "aws_secretsmanager_secret_version" "datacenter_db_password_version" {
  secret_id     = aws_secretsmanager_secret.datacenter_db_password.id
  secret_string = jsonencode({
    password = var.KKE_DB_PASSWORD
  })
}

#variables.tf
variable "KKE_DB_PASSWORD" {
  description = "Database password to be stored in AWS Secrets Manager"
  type        = string
  sensitive   = true

  validation {
    condition     = length(var.KKE_DB_PASSWORD) >= 8
    error_message = "Database password must be at least 8 characters long."
  }
}

#terraform.tfvars
KKE_DB_PASSWORD = "SuperSecretPassword123!"

# output.tf
output "kke_secret_arn" {
  description = "ARN of the AWS Secrets Manager secret"
  value       = aws_secretsmanager_secret.datacenter_db_password.arn
}

output "kke_secret_string" {
  description = "Database password stored in the secret"
  value       = var.KKE_DB_PASSWORD
  sensitive   = true
}

Hi @suryaeshwaran

Please try again for secret_string without jsonencode.

image

Hi @raymond.baoly

With-out jsonencode i am able to complete the Task.

Thanks for your Support.

1 Like