
As all requests support the only parameter `pretty`, there's no point in documenting it separately for each resource.
9.1 KiB
Service Resource
A service resource represents a service inside MaxScale. A service is a collection of network listeners, filters, a router and a set of backend servers.
Resource Operations
Get a service
Get a single service. The :name in the URI must be a valid service name with all whitespace replaced with hyphens. The service names are case-insensitive.
GET /v1/services/:name
Response
Status: 200 OK
{
"links": {
"self": "http://localhost:8989/v1/services/Read-Connection-Router"
},
"data": {
"id": "Read-Connection-Router",
"type": "services",
"attributes": {
"router": "readconnroute",
"state": "Started",
"router_diagnostics": {
"connections": 0,
"current_connections": 1,
"queries": 0
},
"started": "Mon May 22 12:54:05 2017",
"total_connections": 1,
"connections": 1,
"parameters": { // Service parameters
"router_options": "master",
"user": "maxuser",
"password": "maxpwd",
"enable_root_user": false,
"max_retry_interval": 3600,
"max_connections": 0,
"connection_timeout": 0,
"auth_all_servers": false,
"strip_db_esc": true,
"localhost_match_wildcard_host": true,
"version_string": "",
"log_auth_warnings": true,
"retry_on_failure": true
},
"listeners": [ // Listeners that point to this service
{
"attributes": {
"parameters": {
"port": 4008,
"protocol": "MySQLClient",
"authenticator": "MySQLAuth"
}
},
"id": "Read-Connection-Listener",
"type": "listeners"
}
]
},
"relationships": {
"servers": {
"links": {
"self": "http://localhost:8989/v1/servers/"
},
"data": [ // List of servers that this service uses
{
"id": "server1",
"type": "servers"
}
]
}
},
"links": {
"self": "http://localhost:8989/v1/services/Read-Connection-Router"
}
}
}
Get all services
Get all services.
GET /v1/services
Response
Status: 200 OK
{
"links": {
"self": "http://localhost:8989/v1/services/"
},
"data": [ // Collection of service resources
{
"id": "Read-Connection-Router",
"type": "services",
"attributes": {
"router": "readconnroute",
"state": "Started",
"router_diagnostics": {
"connections": 0,
"current_connections": 1,
"queries": 0
},
"started": "Mon May 22 13:00:46 2017",
"total_connections": 1,
"connections": 1,
"parameters": {
"router_options": "master",
"user": "maxuser",
"password": "maxpwd",
"enable_root_user": false,
"max_retry_interval": 3600,
"max_connections": 0,
"connection_timeout": 0,
"auth_all_servers": false,
"strip_db_esc": true,
"localhost_match_wildcard_host": true,
"version_string": "",
"log_auth_warnings": true,
"retry_on_failure": true
},
"listeners": [
{
"attributes": {
"parameters": {
"port": 4008,
"protocol": "MySQLClient",
"authenticator": "MySQLAuth"
}
},
"id": "Read-Connection-Listener",
"type": "listeners"
}
]
},
"relationships": {
"servers": {
"links": {
"self": "http://localhost:8989/v1/servers/"
},
"data": [
{
"id": "server1",
"type": "servers"
}
]
}
},
"links": {
"self": "http://localhost:8989/v1/services/Read-Connection-Router"
}
},
{
"id": "CLI",
"type": "services",
"attributes": {
"router": "cli",
"state": "Started",
"started": "Mon May 22 13:00:46 2017",
"total_connections": 2,
"connections": 2,
"parameters": {
"router_options": "",
"user": "",
"password": "",
"enable_root_user": false,
"max_retry_interval": 3600,
"max_connections": 0,
"connection_timeout": 0,
"auth_all_servers": false,
"strip_db_esc": true,
"localhost_match_wildcard_host": true,
"version_string": "",
"log_auth_warnings": true,
"retry_on_failure": true
},
"listeners": [
{
"attributes": {
"parameters": {
"address": "default",
"port": 0,
"protocol": "maxscaled",
"authenticator": "MaxAdminAuth"
}
},
"id": "CLI-Listener",
"type": "listeners"
},
{
"attributes": {
"parameters": {
"address": "0.0.0.0",
"port": 6603,
"protocol": "maxscaled",
"authenticator": "MaxAdminAuth"
}
},
"id": "CLI-Network-Listener",
"type": "listeners"
}
]
},
"relationships": {},
"links": {
"self": "http://localhost:8989/v1/services/CLI"
}
}
]
}
Get service listeners
Get the listeners of a service. The :name in the URI must be a valid service name with all whitespace replaced with hyphens. The service names are case-insensitive.
GET /v1/services/:name/listeners
Response
Status: 200 OK
{
"links": {
"self": "http://localhost:8989/v1/services/Read-Connection-Router/listeners"
},
"data": [
{
"attributes": {
"parameters": {
"port": 4008,
"protocol": "MySQLClient",
"authenticator": "MySQLAuth"
}
},
"id": "Read-Connection-Listener",
"type": "listeners"
}
]
}
Update a service
The :name in the URI must map to a service name and the request body must be a valid JSON Patch document which is applied to the resource.
PUT /v1/services/:name
The following standard service parameters can be modified.
- user
- password
- enable_root_user
- max_retry_interval
- max_connections
- connection_timeout
- auth_all_servers
- strip_db_esc
- localhost_match_wildcard_host
- version_string
- weightby
- log_auth_warnings
- retry_on_failure
Refer to the documentation on these parameters for valid values.
Response
Service is modified.
Status: 204 No Content