3.0 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	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-sensitive.
GET /v1/filters/:name
Response
Status: 200 OK
{
    "links": {
        "self": "http://localhost:8989/v1/filters/Hint-Filter"
    },
    "data": {
        "id": "Hint-Filter",
        "type": "filters",
        "relationships": {
            "services": { // All serices that use this filter
                "links": {
                    "self": "http://localhost:8989/v1/services/"
                },
                "data": [] // No service is using this filter
            }
        },
        "attributes": {
            "module": "hintfilter",
            "parameters": {} // Filter parameters
        },
        "links": {
            "self": "http://localhost:8989/v1/filters/Hint-Filter"
        }
    }
}
Get all filters
Get all filters.
GET /v1/filters
Response
Status: 200 OK
{
    "links": {
        "self": "http://localhost:8989/v1/filters/"
    },
    "data": [ // Array of filter resources
        {
            "id": "Hint-Filter",
            "type": "filters",
            "relationships": {
                "services": {
                    "links": {
                        "self": "http://localhost:8989/v1/services/"
                    },
                    "data": []
                }
            },
            "attributes": {
                "module": "hintfilter",
                "parameters": {}
            },
            "links": {
                "self": "http://localhost:8989/v1/filters/Hint-Filter"
            }
        }
    ]
}
Create a filter
Create a new filter. The request body must define the /data/id
field with the name of the filter, the /data/type field with the
value of filters and the /data/attributes/module field with the
filter module for this filter. All of the filter parameters should
be defined at creation time.
POST /v1/filters
The following example defines a request body which creates the new filter, test-filter, and assigns it to a service.
{
    data: {
        "id": "test-filter", // Name of the filter
        "type": "filters",
        "attributes": {
            "module": "qlafilter", // The filter uses the qlafilter module
            "parameters": { // Filter parameters
                "filebase": "/tmp/qla.log"
            }
        },
        "relationships": { // List of services that use this filter
            "services": {
                "data": [ // This filter is used by one service
                    {
                        "id": "service-1",
                        "type": "services"
                    }
                ]
            }
        }
    }
}
Response
Filter is created:
Status: 204 No Content