Managed Service for MySQL API, gRPC: UserService.Create
Creates a user in a cluster.
gRPC request
rpc Create (CreateUserRequest) returns (operation.Operation)
CreateUserRequest
{
"clusterId": "string",
"userSpec": {
"name": "string",
"password": "string",
"permissions": [
{
"databaseName": "string",
"roles": [
"Privilege"
]
}
],
"globalPermissions": [
"GlobalPermission"
],
"connectionLimits": {
"maxQuestionsPerHour": "google.protobuf.Int64Value",
"maxUpdatesPerHour": "google.protobuf.Int64Value",
"maxConnectionsPerHour": "google.protobuf.Int64Value",
"maxUserConnections": "google.protobuf.Int64Value"
},
"authenticationPlugin": "AuthPlugin"
}
}
Field |
Description |
clusterId |
string Required field. ID of the cluster to create the user in. To get this ID, make a ClusterService.List request. |
userSpec |
Required field. Configuration of the user. |
UserSpec
Field |
Description |
name |
string Required field. Name of the user. |
password |
string Required field. Password of the user. |
permissions[] |
Set of permissions granted to the user to access specific databases. When a permission for a database is set, the user will have access to the database. |
globalPermissions[] |
enum GlobalPermission Set of global permissions to grant to the user.
|
connectionLimits |
Set of user connection limits. |
authenticationPlugin |
enum AuthPlugin User authentication plugin.
|
Permission
Field |
Description |
databaseName |
string Name of the database that the permission grants access to. |
roles[] |
enum Privilege Roles granted to the user within the database. See the documentation for details.
|
ConnectionLimits
Field |
Description |
maxQuestionsPerHour |
The maximum permitted number of user questions per hour. |
maxUpdatesPerHour |
The maximum permitted number of user updates per hour. |
maxConnectionsPerHour |
The maximum permitted number of simultaneous client connections per hour. |
maxUserConnections |
The maximum number of simultaneous connections permitted to any given MySQL user account. |
operation.Operation
{
"id": "string",
"description": "string",
"createdAt": "google.protobuf.Timestamp",
"createdBy": "string",
"modifiedAt": "google.protobuf.Timestamp",
"done": "bool",
"metadata": {
"clusterId": "string",
"userName": "string"
},
// Includes only one of the fields `error`, `response`
"error": "google.rpc.Status",
"response": {
"name": "string",
"clusterId": "string",
"permissions": [
{
"databaseName": "string",
"roles": [
"Privilege"
]
}
],
"globalPermissions": [
"GlobalPermission"
],
"connectionLimits": {
"maxQuestionsPerHour": "google.protobuf.Int64Value",
"maxUpdatesPerHour": "google.protobuf.Int64Value",
"maxConnectionsPerHour": "google.protobuf.Int64Value",
"maxUserConnections": "google.protobuf.Int64Value"
},
"authenticationPlugin": "AuthPlugin"
}
// end of the list of possible fields
}
An Operation resource. For more information, see Operation.
Field |
Description |
id |
string ID of the operation. |
description |
string Description of the operation. 0-256 characters long. |
createdAt |
Creation timestamp. |
createdBy |
string ID of the user or service account who initiated the operation. |
modifiedAt |
The time when the Operation resource was last modified. |
done |
bool If the value is |
metadata |
Service-specific metadata associated with the operation. |
error |
The error result of the operation in case of failure or cancellation. Includes only one of the fields The operation result. |
response |
The normal response of the operation in case of success. Includes only one of the fields The operation result. |
CreateUserMetadata
Field |
Description |
clusterId |
string ID of the cluster the user is being created in. |
userName |
string Name of the user that is being created. |
User
An object that represents MySQL user.
See the documentation for details.
Field |
Description |
name |
string Name of the user. |
clusterId |
string ID of the cluster the user belongs to. |
permissions[] |
Set of permissions granted to the user. |
globalPermissions[] |
enum GlobalPermission Set of global permissions to grant to the user.
|
connectionLimits |
Set of user connection limits. |
authenticationPlugin |
enum AuthPlugin User authentication plugin.
|
Permission
Field |
Description |
databaseName |
string Name of the database that the permission grants access to. |
roles[] |
enum Privilege Roles granted to the user within the database. See the documentation for details.
|
ConnectionLimits
Field |
Description |
maxQuestionsPerHour |
The maximum permitted number of user questions per hour. |
maxUpdatesPerHour |
The maximum permitted number of user updates per hour. |
maxConnectionsPerHour |
The maximum permitted number of simultaneous client connections per hour. |
maxUserConnections |
The maximum number of simultaneous connections permitted to any given MySQL user account. |