Filter Resource

A filter resource represents an instance of a filter inside MaxScale. Multiple services can use the same filter and a single service can use multiple filters.

Resource Operations

Get a filter

Get a single filter. The :name in the URI must be a valid filter name with all whitespace replaced with hyphens. The filter names are case-insensitive.

GET /filters/:name

Response

Status: 200 OK

{
    "name": "Query Logging Filter",
    "module": "qlafilter",
    "parameters": {
        "filebase": {
            "value": "/var/log/maxscale/qla/log.",
            "configurable": false
        },
        "match": {
            "value": "select.*from.*t1",
            "configurable": true
        }
    },
    "services": [
        "/services/my-service",
        "/services/my-second-service"
    ]
}

Supported Request Parameter

  • fields

Get all filters

Get all filters.

GET /filters

Response

Status: 200 OK

[
    {
        "name": "Query Logging Filter",
        "module": "qlafilter",
        "parameters": {
            "filebase": {
                "value": "/var/log/maxscale/qla/log.",
                "configurable": false
            },
            "match": {
                "value": "select.*from.*t1",
                "configurable": true
            }
        },
        "services": [
            "/services/my-service",
            "/services/my-second-service
        ]
    },
    {
        "name": "DBFW Filter",
        "module": "dbfwfilter",
        "parameters": {
            {
                "name": "rules",
                "value": "/etc/maxscale-rules",
                "configurable": false
            }
        },
        "services": [
            "/services/my-second-service
        ]
    }
]

Supported Request Parameter

  • fields
  • range

Update a filter

Note: The update mechanisms described here are provisional and most likely will change in the future. This description is only for design purposes and does not yet work.

Partially update a filter. The :name in the URI must map to a filter name and the request body must be a valid JSON Patch document which is applied to the resource.

PATCH /filter/:name

Modifiable Fields

Field Type Description
parameters object Module specific filter parameters
[
    { "op": "replace", "path": "/parameters/rules/value", "value": "/etc/new-rules" },
    { "op": "add", "path": "/parameters/action/value", "value": "allow" }
]

Response

Response contains the modified resource.

Status: 200 OK

{
    "name": "DBFW Filter",
    "module": "dbfwfilter",
    "parameters": {
        "rules": {
            "value": "/etc/new-rules",
            "configurable": false
        },
        "action": {
            "value": "allow",
            "configurable": true
        }
    }
    "services": [
        "/services/my-second-service"
    ]
}