Admin users represent administrative users that are able to query and change MaxScale's configuration.
[TOC]
GET /v1/users/inet/:name
Get a single network user. The :name in the URI must be a valid network user name.
Status: 200 OK
{
"data": {
"attributes": {
"account": "admin",
"created": "Fri, 05 Jan 2024 07:23:54 GMT",
"last_login": "Fri, 05 Jan 2024 07:24:11 GMT",
"last_update": null,
"name": "admin"
},
"id": "admin",
"links": {
"self": "http://localhost:8989/v1/users/inet/admin/"
},
"type": "inet"
},
"links": {
"self": "http://localhost:8989/v1/users/inet/admin/"
}
}
GET /v1/users/inet
Get all network users.
Status: 200 OK
{
"data": [
{
"attributes": {
"account": "admin",
"created": "Fri, 05 Jan 2024 07:23:54 GMT",
"last_login": "Fri, 05 Jan 2024 07:24:11 GMT",
"last_update": null,
"name": "admin"
},
"id": "admin",
"links": {
"self": "http://localhost:8989/v1/users/inet/admin/"
},
"type": "inet"
}
],
"links": {
"self": "http://localhost:8989/v1/users/inet/"
}
}
GET /v1/users/unix/:name
Note: This endpoint has been deprecated and does nothing.
GET /v1/users/unix
Note: This endpoint has been deprecated and does nothing.
GET /v1/users
Get all administrative users.
Status: 200 OK
{
"data": [
{
"attributes": {
"account": "admin",
"created": "Fri, 05 Jan 2024 07:23:54 GMT",
"last_login": "Fri, 05 Jan 2024 07:24:11 GMT",
"last_update": null,
"name": "admin"
},
"id": "admin",
"links": {
"self": "http://localhost:8989/v1/users/inet/admin/"
},
"type": "inet"
}
],
"links": {
"self": "http://localhost:8989/v1/users/inet/"
}
}
POST /v1/users/inet
Create a new network user. The request body must define at least the following fields.
-
data.id
- The username
-
data.type
- Type of the object, must be
inet
- Type of the object, must be
-
data.attributes.password
- The password for this user
-
data.attributes.account
- Set to
admin
for administrative users andbasic
to read-only users
- Set to
Only admin accounts can perform POST, PUT, DELETE and PATCH requests. If a basic
account performs one of the aforementioned request, the REST API will respond
with a 401 Unauthorized
error.
Here is an example request body defining the network user my-user with the password my-password that is allowed to execute only read-only operations.
{
"data": {
"id": "my-user", // The user to create
"type": "inet", // The type of the user
"attributes": {
"password": "my-password", // The password to use for the user
"account": "basic" // The type of the account
}
}
}
Status: 204 No Content
POST /v1/users/unix
This enables an existing UNIX account on the system for administrative operations. The request body must define at least the following fields.
-
data.id
- The username
-
data.type
- Type of the object, must be
unix
- Type of the object, must be
-
data.attributes.account
- Set to
admin
for administrative users andbasic
to read-only users
- Set to
Here is an example request body enabling the UNIX account jdoe for read-only operations.
{
"data": {
"id": "jdoe", // Account name
"type": "unix" // Account type
"attributes": {
"account": "basic" // Type of the user account in MaxScale
}
}
}
Status: 204 No Content
DELETE /v1/users/inet/:name
The :name part of the URI must be a valid user name.
Status: 204 No Content
DELETE /v1/users/unix/:name
The :name part of the URI must be a valid user name.
Status: 204 No Content
PATCH /v1/users/inet/:name
Update network user. Currently, only the password can be updated. This
means that the request body must define the data.attributes.password
field.
Here is an example request body that updates the password.
{
"data": {
"attributes": {
"password": "new-password"
}
}
}
Status: 204 No Content