terraform-provider-stackit icon indicating copy to clipboard operation
terraform-provider-stackit copied to clipboard

Missing validation for username property of stackit_mongodbflex_user resource

Open gabschne opened this issue 11 months ago • 1 comments

Hi,

trying to create a MongoDB Flex user with the resource

resource "stackit_mongodbflex_user" "user_service_dev" {
  project_id  = local.stackit_project_id
  instance_id = stackit_mongodbflex_instance.mongodbflex_instance.instance_id
  username    = "user_service_dev_user"
  roles       = ["readWrite"]
  database    = "user-service-dev"
}

ends in a 500 internal server error:

╷
│ Error: Error creating user
│ 
│   with stackit_mongodbflex_user.user_service_dev_user,
│   on mongodbflex.tf line 24, in resource "stackit_mongodbflex_user" "user_service_dev":
│   24: resource "stackit_mongodbflex_user" "user_service_dev_user" {
│ 
│ Calling API: 500 Internal Server Error, status code 500, Body:
│ {"message":"internal server error - please try again
│ later","code":500,"type":"Create"}
│ 
│ 
╵

This seems to be because the username prop of stackit_mongodbflex_user resource is not validated.

As the web UI states:

Muss mit einem Buchstaben beginnen und kann Groß- und Kleinbuchstaben, Ziffern und Bindestriche enthalten, aber darf nicht mit einem Bindestrich enden.

(Must begin with a letter and may contain upper and lower case letters, numbers and hyphens, but must not end with a hyphen.)

The server/API should validate as well and also respond with a better error code (400).

gabschne avatar Feb 19 '25 10:02 gabschne

Hi @gabschne,

thanks for reporting this issue. I'll forward it to the MongoDB team.

marceljk avatar Feb 19 '25 11:02 marceljk