UNPKG

@itentialopensource/adapter-kentik_v5

Version:

This adapter integrates with system described as: kentikV5Api.

1,415 lines (1,414 loc) 275 kB
{ "id": "@itentialopensource/adapter-kentik_v5", "type": "Adapter", "export": "KentikV5", "title": "Kentik_v5", "src": "adapter.js", "roles": [ "admin" ], "methods": [ { "name": "iapUpdateAdapterConfiguration", "summary": "Updates the adapter configuration", "description": "Updates the adapter configuration file with the provided changes", "input": [ { "name": "configFile", "type": "string", "info": "The name of the file to change", "required": true, "schema": { "title": "configFile", "type": "string" } }, { "name": "changes", "type": "object", "info": "JSON object containing the configuration changes", "required": true, "schema": { "title": "changes", "type": "object" } }, { "name": "entity", "type": "string", "info": "The entity in which the changes are being made", "required": false, "schema": { "title": "entity", "type": "string" } }, { "name": "type", "type": "string", "info": "The type of file to change - action, schema, or mock", "required": false, "schema": { "title": "type", "type": "string" } }, { "name": "action", "type": "string", "info": "The action to be changed", "required": false, "schema": { "title": "action", "type": "string" } }, { "name" : "replace", "type": "boolean", "info": "True to replace entire mock data, false to merge/append", "required": false, "schema": { "title": "replace", "type" : "boolean" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapUpdateAdapterConfiguration" }, "task": true }, { "name": "iapSuspendAdapter", "summary": "Suspends the adapter", "description": "Suspends the adapter", "input": [ { "name": "mode", "type": "enum", "enumerals": [ "pause", "error" ], "info": "How incoming requests are handled. Defaults to 'pause'", "description": "How incoming requests are handled. Defaults to 'pause'", "schema": { "title": "mode", "type": "string" }, "required": false } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the adapter suspended status", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapSuspendAdapter" }, "task": true }, { "name": "iapUnsuspendAdapter", "summary": "Unsuspends the adapter", "description": "Unsuspends the adapter", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the adapter suspended status", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapUnsuspendAdapter" }, "task": true }, { "name": "iapGetAdapterQueue", "summary": "Return the requests that are waiting in the queue if throttling is enabled", "description": "Return the requests that are waiting in the queue if throttling is enabled", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the adapter queue", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapGetAdapterQueue" }, "task": true }, { "name": "iapFindAdapterPath", "summary": "Provides the ability to see if a particular API path is supported by the adapter", "description": "Provides the ability to see if a particular API path is supported by the adapter", "input": [ { "name": "apiPath", "type": "string", "info": "The API Path you want to check - make sure to not include base path and version", "description": "The API Path you want to check - make sure to not include base path and version", "schema": { "title": "apiPath", "type": "string" }, "required": true } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapFindAdapterPath" }, "task": true }, { "name": "iapTroubleshootAdapter", "summary": "Runs troubleshoot script for adapter", "description": "Runs troubleshoot script for adapter", "input": [ { "name": "props", "type": "object", "info": "Object containing configuration, healthcheck and auth properties {'connProps':{'host': 'api.service.com', 'base_path': '/', 'protocol': 'http', 'port': 443, 'version': 'v1'},'healthCheckEndpoint': '/healthcheck', 'auth': {'auth_method': 'no authentication', 'username': 'username', 'password': 'password'}}", "required": true, "schema": { "title": "props", "type": "object" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the test results", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapTroubleshootAdapter" }, "task": true }, { "name": "iapRunAdapterHealthcheck", "summary": "Runs healthcheck script for adapter", "description": "Runs healthcheck script for adapter", "input": [], "output": { "name": "result", "type": "boolean", "description": "Whether healthcheck passed or failed", "schema": { "title": "result", "type": "boolean" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapRunAdapterHealthcheck" }, "task": true }, { "name": "iapRunAdapterConnectivity", "summary": "Runs connectivity check script for adapter", "description": "Runs connectivity check script for adapter", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the test results", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapRunAdapterConnectivity" }, "task": true }, { "name": "iapRunAdapterBasicGet", "summary": "Runs basicGet script for adapter", "description": "Runs basicGet script for adapter", "input": [ { "name": "maxCalls", "required": false, "type": "number", "info": "How many GET endpoints to test (defaults to 5)", "schema": { "title": "maxCalls", "type": "number", "default": 5 } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the test results", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapRunAdapterBasicGet" }, "task": true }, { "name": "iapMoveAdapterEntitiesToDB", "summary": "Moves entities from an adapter into the Itential Platform database", "description": "Moves entities from an adapter into the Itential Platform database", "input": [], "output": { "name": "res", "type": "object", "description": "A JSON Object containing status, code and the response from the mongo transaction", "schema": { "title": "res", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapMoveAdapterEntitiesToDB" }, "task": true }, { "name": "iapDeactivateTasks", "summary": "Deactivate the inputted tasks", "description": "Deactivate the inputted tasks", "input": [ { "name": "tasks", "type": "array", "description": "Tasks to deactivate", "schema": { "title": "tasks", "type": "array" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing success status", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapDeactivateTasks" }, "task": true }, { "name": "iapActivateTasks", "summary": "Activate the inputted tasks", "description": "activate the inputted tasks", "input": [ { "name": "tasks", "type": "array", "description": "Tasks to activate", "schema": { "title": "tasks", "type": "array" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing success status", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapActivateTasks" }, "task": true }, { "name": "iapPopulateEntityCache", "summary": "Populate the cache for the given entities", "description": "Populate the cache for the given entities", "input": [ { "name": "entityTypes", "type": "array", "info": "the entity type(s) to populate", "required": true, "schema": { "title": "entityTypes", "type": "array" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapPopulateEntityCache" }, "task": true }, { "name": "iapRetrieveEntitiesCache", "summary": "Retrieves data from cache for specified entity type", "description": "Retrieves data from cache for specified entity type", "input": [ { "name": "entityType", "type": "string", "info": "entity of which to retrieve", "required": true, "schema": { "title": "entityType", "type": "string" } }, { "name": "options", "type": "object", "info": "settings of which data to return and how to return it", "required": false, "schema": { "title": "options", "type": "object" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapRetrieveEntitiesCache" }, "task": true }, { "name": "getDevice", "summary": "Get the Appliance", "description": "Get the Appliance", "input": [ { "name": "deviceName", "type": "string", "info": "An Appliance Device Name", "required": true, "schema": { "title": "deviceName", "type": "string" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/getDevice" }, "task": false }, { "name": "getDevicesFiltered", "summary": "Get Appliances that match the filter", "description": "Get Appliances that match the filter", "input": [ { "name": "options", "type": "object", "info": "options - e.g. { 'start': 1, 'limit': 20, 'filter': { 'name': 'abc123' } }", "required": true, "schema": { "title": "options", "type": "object" } } ], "output": { "name": "result", "type": "array", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "array" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/getDevicesFiltered" }, "task": false }, { "name": "isAlive", "summary": "Checks the status for the provided Appliance", "description": "Checks the status for the provided Appliance", "input": [ { "name": "deviceName", "type": "string", "info": "An Appliance Device Name", "required": true, "schema": { "title": "deviceName", "type": "string" } } ], "output": { "name": "result", "type": "boolean", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "boolean" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/isAlive" }, "task": false }, { "name": "getConfig", "summary": "Gets a config for the provided Appliance", "description": "Gets a config for the provided Appliance", "input": [ { "name": "deviceName", "type": "string", "info": "An Appliance Device Name", "required": true, "schema": { "title": "deviceName", "type": "string" } }, { "name": "format", "type": "string", "info": "The format to be returned - this is ignored as we always return json", "required": false, "schema": { "title": "format", "type": "string" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/getConfig" }, "task": false }, { "name": "iapGetDeviceCount", "summary": "Gets a device count from the system", "description": "Gets a device count from the system", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapGetDeviceCount" }, "task": false }, { "name": "iapExpandedGenericAdapterRequest", "summary": "Makes the requested generic call with additional options", "description": "Makes the requested generic call with additional options via metadata", "input": [ { "name": "metadata", "type": "object", "info": "metadata for the call (optional)", "description": "metadata for the call - allows for many enhancements (optional)", "schema": { "title": "metadata", "type": "object" }, "required": false }, { "name": "uriPath", "type": "string", "info": "the path of the api call - do not include the host, port, base path or version", "description": "the path of the api call", "schema": { "title": "uriPath", "type": "string" }, "required": false }, { "name": "restMethod", "type": "string", "info": "the rest method (GET, POST, PUT, PATCH, DELETE)", "description": "the rest method (GET, POST, PUT, PATCH, DELETE)", "schema": { "title": "restMethod", "type": "string" }, "required": false }, { "name": "pathVars", "type": "object", "info": "the parameters to be put within the url path (optional)", "description": "the parameters to be put within the url path (optional)", "schema": { "title": "pathVars", "type": "object" }, "required": false }, { "name": "queryData", "type": "object", "info": "the query parameters to be put on the url (optional)", "description": "the query parameters to be put on the url (optional)", "schema": { "title": "queryData", "type": "object" }, "required": false }, { "name": "requestBody", "type": "object", "info": "the payload to be sent with the request (optional)", "description": "the payload to be sent with the request (optional)", "schema": { "title": "requestBody", "type": "object" }, "required": false }, { "name": "addlHeaders", "type": "object", "info": "additional headers to be put on the call (optional)", "description": "additional headers to be put on the call (optional)", "schema": { "title": "addlHeaders", "type": "object" }, "required": false } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapExpandedGenericAdapterRequest" }, "task": true }, { "name": "genericAdapterRequest", "summary": "Makes the requested generic call", "description": "Makes the requested generic call", "input": [ { "name": "uriPath", "type": "string", "info": "the path of the api call - do not include the host, port, base path or version", "description": "the path of the api call", "schema": { "title": "uriPath", "type": "string" }, "required": true }, { "name": "restMethod", "type": "string", "info": "the rest method (GET, POST, PUT, PATCH, DELETE)", "description": "the rest method (GET, POST, PUT, PATCH, DELETE)", "schema": { "title": "restMethod", "type": "string" }, "required": true }, { "name": "queryData", "type": "object", "info": "the query parameters to be put on the url (optional)", "description": "the query parameters to be put on the url (optional)", "schema": { "title": "queryData", "type": "object" }, "required": false }, { "name": "requestBody", "type": "object", "info": "the payload to be sent with the request (optional)", "description": "the payload to be sent with the request (optional)", "schema": { "title": "requestBody", "type": "object" }, "required": false }, { "name": "addlHeaders", "type": "object", "info": "additional headers to be put on the call (optional)", "description": "additional headers to be put on the call (optional)", "schema": { "title": "addlHeaders", "type": "object" }, "required": false } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/genericAdapterRequest" }, "task": true }, { "name": "genericAdapterRequestNoBasePath", "summary": "Makes the requested generic call", "description": "Makes the requested generic call", "input": [ { "name": "uriPath", "type": "string", "info": "the path of the api call - do not include the host, port, base path or version", "description": "the path of the api call", "schema": { "title": "uriPath", "type": "string" }, "required": true }, { "name": "restMethod", "type": "string", "info": "the rest method (GET, POST, PUT, PATCH, DELETE)", "description": "the rest method (GET, POST, PUT, PATCH, DELETE)", "schema": { "title": "restMethod", "type": "string" }, "required": true }, { "name": "queryData", "type": "object", "info": "the query parameters to be put on the url (optional)", "description": "the query parameters to be put on the url (optional)", "schema": { "title": "queryData", "type": "object" }, "required": false }, { "name": "requestBody", "type": "object", "info": "the payload to be sent with the request (optional)", "description": "the payload to be sent with the request (optional)", "schema": { "title": "requestBody", "type": "object" }, "required": false }, { "name": "addlHeaders", "type": "object", "info": "additional headers to be put on the call (optional)", "description": "additional headers to be put on the call (optional)", "schema": { "title": "addlHeaders", "type": "object" }, "required": false } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/genericAdapterRequestNoBasePath" }, "task": true }, { "name": "iapRunAdapterLint", "summary": "Run the adapter lint script to return the results", "description": "Run the adapter lint script to return the results", "input": [], "output": { "name": "result", "type": "string", "description": "A string containing the run results", "schema": { "title": "result", "type": "string" } }, "roles": [ "admin" ], "route": { "verb": "GET", "path": "/iapRunAdapterLint" }, "task": true }, { "name": "iapRunAdapterTests", "summary": "Run the adapter test scripts (baseunit and unit) to return the results", "description": "Run the adapter test scripts (baseunit and unit) to return the results", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "GET", "path": "/iapRunAdapterTests" }, "task": true }, { "name": "iapGetAdapterInventory", "summary": "Provide inventory information abbout the adapter", "description": "Provide inventory information abbout the adapter", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "GET", "path": "/iapGetAdapterInventory" }, "task": true }, { "name": "runQuery", "summary": "runQuery", "description": "This method allows you to run a SQL command against all configured devices. Documentation .", "input": [ { "name": "body", "type": "object", "info": ": {\"query\": \"string\"}", "required": true, "schema": { "title": "runQuery", "type": "object", "properties": { "query": { "type": "string", "description": "SQL query to run." } }, "definitions": {} } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/runQuery" }, "task": true }, { "name": "queryUrl", "summary": "queryUrl", "description": "Returns a URL to view a given query in Data Explorer. Documentation .", "input": [ { "name": "body", "type": "object", "info": ": {\"version\": \"undefined\", \"queries\": [{\"query\": \"undefined\", \"bucket\": \"string\", \"bucketIndex\": 123}]}", "required": true, "schema": { "title": "queryUrl", "type": "object", "properties": { "version": { "allOf": [ { "title": "KentikPortalVersion", "enum": [ 2, 3, 4 ], "type": "integer", "description": "Generates a URL for a particular version of Kentik" }, { "description": "Generates a URL for a particular version of Kentik" } ] }, "queries": { "type": "array", "items": { "title": "query", "type": "object", "properties": { "query": { "allOf": [ { "title": "query1", "required": [ "dimension", "metric", "topx", "depth", "fastData", "outsort", "lookback_seconds", "time_format", "device_name" ], "type": "object", "properties": { "dimension": { "type": "array", "items": { "title": "dimension", "enum": [ "AS_src", "Geography_src", "InterfaceID_src", "Port_src", "src_eth_mac", "VLAN_src", "IP_src", "AS_dst", "Geography_dst", "InterfaceID_dst", "Port_dst", "dst_eth_mac", "VLAN_dst", "IP_dst", "TopFlow", "Proto", "Traffic", "ASTopTalkers", "InterfaceTopTalkers", "PortPortTalkers", "TopFlowsIP", "src_geo_region", "src_geo_city", "dst_geo_region", "dst_geo_city", "RegionTopTalkers", "i_device_id", "i_device_site_name", "src_route_prefix_len", "src_route_length", "src_bgp_community", "src_bgp_aspath", "src_nexthop_ip", "src_nexthop_asn", "src_second_asn", "src_third_asn", "src_proto_port", "dst_route_prefix_len", "dst_route_length", "dst_bgp_community", "dst_bgp_aspath", "dst_nexthop_ip", "dst_nexthop_asn", "dst_second_asn", "dst_third_asn", "dst_proto_port", "inet_family", "TOS", "tcp_flags" ], "type": "string", "description": "dimension - A field by which to aggregate results. (NOTE: you may also use a custom dimension name here -- but not available in this tester)." }, "description": "" }, "cidr": { "type": "number", "description": "cidr - A CIDR filter to use on IP queries, such as when grouping by dest_ip/24. See https://www.kentik.com/KB/?Eb02.htm#Eb02-CIDRrelated_Subqueries. Valid values: digit between 0 and 32." }, "cidr6": { "type": "number", "description": "cidr6 - A CIDR6 filter to use on IP queries. Valid values: digit between 0 and 128." }, "pps_threshold": { "type": "number", "description": "pps_threshold - The minimum packets per second required to match flow (used in conjunction with metrics like retransmits, out of order, etc). Valid value: digit greater than 0." }, "metric": { "allOf": [ { "title": "metric", "enum": [ "bytes", "in_bytes", "out_bytes", "packets", "in_packets", "out_packets", "tcp_retransmit", "perc_retransmit", "retransmits_in", "perc_retransmits_in", "out_of_order_in", "perc_out_of_order_in", "fragments", "perc_fragments", "client_latency", "server_latency", "appl_latency", "fps", "unique_src_ip", "unique_dst_ip" ], "type": "string", "description": "metric - Unit of measure, e.g. bytes, packets, etc." }, { "description": "metric - Unit of measure, e.g. bytes, packets, etc." } ] }, "topx": { "type": "number", "description": "topx - The number of results you want to see on your chart / get chart data for. Valid value: digit between 1 and 40." }, "depth": { "type": "number", "description": "depth - The number of rows you want to retrieve (topX but aggregates only). Valid value: digit between 25 and 250." }, "fastData": { "allOf": [ { "title": "fastData", "enum": [ "Auto", "Fast", "Full" ], "type": "string", "description": "fastData - Overrides the default setting for the dataset on which to run the query. See https://www.kentik.com/KB/?Ab04.htm#Ab04-Query_Dataset_Selection." }, { "description": "fastData - Overrides the default setting for the dataset on which to run the query. See https://www.kentik.com/KB/?Ab04.htm#Ab04-Query_Dataset_Selection." } ] }, "outsort": { "type": "string", "description": "outsort - This maps to an aggregate name (see aggregates below). Common ones are: 'avg', 'sum', 'max', 'p95th'; what aggregate column to sort the results by to produce a topx/depth." }, "lookback_seconds": { "type": "number", "description": "lookback_seconds - The time period to look back from present, e.g. for time span of last 2 hours, set to 7200. If you want starting_time/ending_time to take effect, you MUST set lookback_seconds to zero." }, "time_format": { "allOf": [ { "title": "timeformat", "enum": [ "UTC", "Local" ], "type": "string", "description": "time_format - The time zone in which times are expressed, either UTC or local." }, { "description": "time_format - The time zone in which times are expressed, either UTC or local." } ] }, "hostname_lookup": { "type": "boolean", "description": "hostname_lookup - Allow DNS lookup when checked (true). Queries against IP dimensions will run faster without allowing DNS lookup.", "default": true }, "starting_time": { "type": "string", "description": "starting_time - The fixed start time of the query time-span, e.g. 'YYYY-MM-DD HH:mm:00'. If you want starting_time/ending_time to take effect, you MUST set lookback_seconds to zero." }, "ending_time": { "type": "string", "description": "ending_time - The fixed ending time of the query time-span, e.g. 'YYYY-MM-DD HH:mm:00'. If you want starting_time/ending_time to take effect, you MUST set lookback_seconds to zero." }, "device_name": { "type": "string", "description": "device_name - Sets the device against which to query. Multiple devices can be set using comma delimited string." }, "all_selected": { "type": "boolean", "description": "all_selected - Whether or not you want us to query against all of your devices (if true, we ignore device_name)", "default": false }, "filters_obj": { "allOf": [ { "title": "filters_obj", "required": [ "connector", "filterGroups" ], "type": "object", "properties": { "connector": { "allOf": [ { "title": "connector", "enum": [ "All", "Any" ], "type": "string", "description": "connector - An AND/OR switch." }, { "description": "connector - An AND/OR switch." } ] }, "filterGroups": { "type": "array", "items": { "title": "filtergroup", "required": [ "connector" ], "type": "object", "properties": { "connector": { "allOf": [ { "title": "connector", "enum": [ "All", "Any" ], "type": "string", "description": "connector - An AND/OR switch." }, { "description": "connector - An AND/OR switch." } ] }, "filters": { "type": "array", "items": { "title": "filter", "required": [ "filterField", "operator" ], "type": "object", "properties": { "filterField": { "allOf": [ { "title": "filterField", "enum": [ "src_geo", "src_geo_region", "src_geo_city", "src_as", "src_flow_tags", "l4_src_port", "vlan_in", "src_eth_mac", "inet_src_addr", "input_port", "i_input_snmp_alias", "i_input_interface_description", "ipv4_src_route_prefix", "src_route_length", "src_bgp_aspath", "src_bgp_community", "ipv4_src_next_hop", "src_nexthop_as", "src_second_asn", "src_third_asn", "dst_geo", "dst_geo_region", "dst_geo_city", "dst_as", "dst_flow_tags", "l4_dst_port", "vlan_out", "dst_eth_mac", "inet_dst_addr", "output_port", "i_output_snmp_alias", "i_output_interface_description", "ipv4_dst_route_prefix", "dst_route_length", "dst_bgp_aspath", "dst_bgp_community", "ipv4_dst_next_hop", "dst_nexthop_as", "dst_second_asn", "dst_third_asn", "tcp_flags", "tcp_flags_raw", "protocol", "i_device_name", "both_pkts", "tcp_retransmit", "tos" ], "type": "string", "description": "filterField - A field operand." }, { "description": "filterField - A field operand." } ] }, "operator": { "allOf": [ { "title": "operator", "enum": [ "=", "<>", "ILIKE", "NOT ILIKE", "~", "!~", ">", "<", "&" ], "type": "string", "description": "operator - An operator." }, { "description": "operator - An operator." } ] }, "filterValue": { "type": "string", "description": "filterValue - An operand input by the user." }