yandex_mdb_mysql_user (Resource)
Manages a MySQL user within the Yandex Cloud. For more information, see the official documentation.
Example usage
//
// Create a new MDB MySQL Database User.
//
resource "yandex_mdb_mysql_user" "my_user" {
cluster_id = yandex_mdb_mysql_cluster.my_cluster.id
name = "john"
password = "password"
permission {
database_name = yandex_mdb_mysql_database.testdb.name
roles = ["ALL"]
}
permission {
database_name = yandex_mdb_mysql_database.new_testdb.name
roles = ["ALL", "INSERT"]
}
connection_limits {
max_questions_per_hour = 10
max_updates_per_hour = 20
max_connections_per_hour = 30
max_user_connections = 40
}
global_permissions = ["PROCESS"]
authentication_plugin = "SHA256_PASSWORD"
}
resource "yandex_mdb_mysql_cluster" "my_cluster" {
name = "test"
environment = "PRESTABLE"
network_id = yandex_vpc_network.foo.id
config {
version = 14
resources {
resource_preset_id = "s2.micro"
disk_type_id = "network-ssd"
disk_size = 16
}
}
host {
zone = "ru-central1-d"
subnet_id = yandex_vpc_subnet.foo.id
}
}
// Auxiliary resources
resource "yandex_vpc_network" "foo" {}
resource "yandex_vpc_subnet" "foo" {
zone = "ru-central1-d"
network_id = yandex_vpc_network.foo.id
v4_cidr_blocks = ["10.5.0.0/24"]
}
Arguments & Attributes Reference
authentication_plugin(String). Authentication plugin. Allowed values:MYSQL_NATIVE_PASSWORD,CACHING_SHA2_PASSWORD,SHA256_PASSWORD,MYSQL_NO_LOGIN,MDB_IAMPROXY_AUTH(for version 5.7MYSQL_NATIVE_PASSWORD,SHA256_PASSWORD,MYSQL_NO_LOGIN,MDB_IAMPROXY_AUTH).cluster_id(Required)(String). The ID of the MySQL cluster.connection_manager(Read-Only) (Map Of String). Connection Manager connection configuration. Populated fromuser_connection_manager.generate_password(Bool). Generate password using Connection Manager. Allowed values:trueorfalse. It's used only during user creation and is ignored during updating.
Важно
Must specify either password or generate_password.
global_permissions(Set Of String). List user's global permissions. Allowed permissions:REPLICATION_CLIENT,REPLICATION_SLAVE,PROCESS,FLUSH_OPTIMIZER_COSTS,SHOW_ROUTINE,MDB_ADMINfor clear list use empty list. If the attribute is not specified there will be no changes.id(String).name(Required)(String). The name of the user.password(String). The password of the user.password_wo(String). The password of the user. This attribute is write-only and is not stored in state. Requirespassword_wo_versionto trigger updates. Write-only arguments are only supported in Terraform v1.11 or higherpassword_wo_version(Number). A version number for the write-only password. Increment this to trigger a password update.connection_limits[Block]. User's connection limits. If the attribute is not specified there will be no changes. Default value is-1. When these parameters are set to-1, backend default values will be actually used.max_connections_per_hour(Number). Max connections per hour.max_questions_per_hour(Number). Max questions per hour.max_updates_per_hour(Number). Max updates per hour.max_user_connections(Number). Max user connections.
permission[Block]. Set of permissions granted to the user.database_name(Required)(String). The name of the database that the permission grants access to.roles(List Of String). List user's roles in the database. Allowed roles:ALL,ALTER,ALTER_ROUTINE,CREATE,CREATE_ROUTINE,CREATE_TEMPORARY_TABLES,CREATE_VIEW,DELETE,DROP,EVENT,EXECUTE,INDEX,INSERT,LOCK_TABLES,SELECT,SHOW_VIEW,TRIGGER,UPDATE,REFERENCES.
timeouts[Block].create(String).delete(String).read(String).update(String).
user_connection_manager[Block]. Connection Manager settings for the user.connection_folder_id(String). ID of the folder where the connection is created. Defaults to the cluster's folder if not specified. Cannot be changed after user creation.connection_id(Read-Only) (String). ID of the connection manager connection for this user. Computed by the server.secret_folder_id(String). ID of the folder where the secret is created. Defaults to the cluster's folder if not specified. Cannot be changed after user creation.
Import
The resource can be imported by using their resource ID. For getting it you can use Yandex Cloud Web Console
# terraform import yandex_mdb_mysql_user.<resource Name> <resource Id>
terraform import yandex_mdb_mysql_user.my_user ...