Experiment Feedback: Optional attribute keys should not be included in variable value unless specified

I really like the 2nd idea you proposed. It made it easier to increase the amount of services we’re supporting in our module. I also added validation for “like a region” for the key :

  type = map(map(string))
  validation {
    condition = alltrue([for _, k in keys(var.cells_definition): can(regex("[a-z][a-z]-[a-z]+-[1-9]", k))]) && alltrue(flatten([
      for arns in var.cells_definition : [
        for service, arn in arns : contains(["elasticloadbalancing", "autoscaling", "lambda", "apigateway", "kafka", "rds", "ec2", "route53", "sns", "sqs"], service)
      ]
    ]))
    error_message = "Supported service names are elasticloadbalancing, autoscaling, lambda, apigateway, kafka, rds, ec2, route53, sns, or sqs."
  }

Thanks a ton, Martin!