ionoscloud_mongo_user
Creates and manages DbaaS MongoDB users.
Manages a DbaaS Mongo User. .
Example Usage
# Basic example
resource "ionoscloud_datacenter" "datacenter_example" {
name = "example"
location = "de/txl"
description = "Datacenter for testing dbaas cluster"
}
resource "ionoscloud_lan" "lan_example" {
datacenter_id = ionoscloud_datacenter.datacenter_example.id
public = false
name = "example"
}
resource "ionoscloud_mongo_cluster" "example_mongo_cluster" {
maintenance_window {
day_of_the_week = "Sunday"
time = "09:00:00"
}
mongodb_version = "5.0"
instances = 1
display_name = "example_mongo_cluster"
location = ionoscloud_datacenter.datacenter_example.location
connections {
datacenter_id = ionoscloud_datacenter.datacenter_example.id
lan_id = ionoscloud_lan.lan_example.id
cidr_list = ["192.168.1.108/24"]
}
template_id = "6b78ea06-ee0e-4689-998c-fc9c46e781f6"
}
resource "ionoscloud_mongo_user" "example_mongo_user" {
cluster_id = ionoscloud_mongo_cluster.example_mongo_cluster.id
username = "myUser"
password = "strongPassword"
roles {
role = "read"
database = "db1"
}
roles {
role = "readWrite"
database = "db2"
}
}
# Complete example
resource "ionoscloud_datacenter" "datacenter_example" {
name = "example"
location = "de/txl"
description = "Datacenter for testing dbaas cluster"
}
resource "ionoscloud_lan" "lan_example" {
datacenter_id = ionoscloud_datacenter.datacenter_example.id
public = false
name = "example"
}
resource "ionoscloud_mongo_cluster" "example_mongo_cluster" {
maintenance_window {
day_of_the_week = "Sunday"
time = "09:00:00"
}
mongodb_version = "5.0"
instances = 1
display_name = "example_mongo_cluster"
location = ionoscloud_datacenter.datacenter_example.location
connections {
datacenter_id = ionoscloud_datacenter.datacenter_example.id
lan_id = ionoscloud_lan.lan_example.id
cidr_list = ["192.168.1.108/24"]
}
template_id = "6b78ea06-ee0e-4689-998c-fc9c46e781f6"
}
resource "random_password" "cluster_password" {
length = 16
special = true
override_special = "!#$%&*()-_=+[]{}<>:?"
}
resource "random_password" "user_password" {
length = 16
special = true
override_special = "!#$%&*()-_=+[]{}<>:?"
}
resource "ionoscloud_mongo_user" "example_mongo_user" {
cluster_id = ionoscloud_mongo_cluster.example_mongo_cluster.id
username = "myUser"
password = random_password.user_password.result
roles {
role = "read"
database = "db1"
}
roles {
role = "readWrite"
database = "db2"
}
}
Argument reference
cluster_id
- (Required)[string] The unique ID of the cluster. Updates to the value of the field force the cluster to be re-created.username
- (Required)[string] Used for authentication. Updates to the value of the field force the cluster to be re-created.database
- (Required)[string] The user database to use for authentication. Updates to the value of the field force the cluster to be re-created.password
- (Required)[string] User password. Updates to the value of the field force the cluster to be re-created.roles
- (Required)[string] a list of mongodb user roles. Updates to the value of the field force the cluster to be re-created.role
- (Required)[true] Mongodb user role. Examples: read, readWrite, readAnyDatabase, readWriteAnyDatabase, dbAdmin, dbAdminAnyDatabase, clusterMonitor.database
- (Required)[true] Database on which to apply the role.
NOTE: MongoDb users do not support update at the moment. Changing any attribute will result in the user being re-created.
Import
Resource DBaaS MongoDB User can be imported using the clusterID
and the username
. First, define an empty resource in the plan:
resource "ionoscloud_mongo_user" "importeduser" {
}
Then you can import the user using the following command:
terraform import ionoscloud_mongo_user.mycluser clusterid/username
Last updated