akshaykarle / terraform-provider-mongodbatlas

Terraform provider for MongoDB Atlas
Mozilla Public License 2.0
123 stars 54 forks source link

How to create database? #59

Closed holms closed 5 years ago

holms commented 5 years ago

Not sure why I got this error

resource "mongodbatlas_database_user" "whatever" {
  username = "whatever"
  password = "whatever"
  database = "mydb"
  group    = "${mongodbatlas_project.mydb.id}"

  roles {
    name     = "readWrite"
    database = "mydb" 
  }
}

Output:

mongodbatlas_database_user.whatever: Creating...
  database:         "" => "mydb"
  group:            "" => "xxx"
  password:         "<sensitive>" => "<sensitive>"
  roles.#:          "" => "1"
  roles.0.database: "" => "mydb"
  roles.0.name:     "" => "readWrite"
  username:         "" => "whatever"

Error: Error applying plan:

1 error(s) occurred:

* mongodbatlas_database_user.sharepass: 1 error(s) occurred:

* mongodbatlas_database_user.sharepass: Error creating MongoDB DatabaseUser: MongoDB Atlas: 400 Database name invalid. Users can only be created on the admin database.

Is it because database doesn't exist? I'm actually not sure, because on atlas dashboard I can create a user with readWrite@mydb even without creating database first.

holms commented 5 years ago

Ok sorry it's solved it should be like this:

resource "mongodbatlas_database_user" "whatever" {
  username = "whatever"
  password = "whatever"
  database = "admin"
  group    = "${mongodbatlas_project.mydb.id}"

  roles {
    name     = "readWrite"
    database = "mydb" 
  }
}