{ "restSchemaVersion": "1.0", "errors": [ { "error_id": "BAD REQUEST", "description": "Invalid argument", "http_status": "400" }, { "error_id": "UNAUTHORIZED", "description": "Authentication failed", "http_status": "401" }, { "error_id": "FORBIDDEN", "description": "No permission to access the requested resource", "http_status": "403" }, { "error_id": "NOT FOUND", "description": "Content not found", "http_status": "404" }, { "error_id": "METHOD NOT ALLOWED", "description": "Method not supported for the requested resource", "http_status": "405" }, { "error_id": "INTERNAL SERVER ERROR", "description": "Internal server error", "http_status": "500" }, { "error_id": "SERVICE UNAVAILABLE", "description": "Service is currently unavailable", "http_status": "503" } ], "name": "mgmt.applications", "title": "Application Mappings API", "description": "
\nThe documentation pages in this section describe the RESTful APIs included with Riverbed NetProfiler Product. It is assumed that the reader has practical knowledge of RESTful APIs, so the documentation does not go into detail about what REST is and how to use it. Instead the documentation focuses on how to create and manage application mappings.\n\n
\n\n\nApplication mappings can be based on hosts, host groups, protocols, ports, auto-recognized applications or one or more URLs.\n\n
\n\n\nThe following operations can be performed via the API:\n
\n\nDetails about REST resources can be found in the Resources section. This overview continues with how to run these APIs.\n
\n\n\nAll REST requests must be authenticated. The Authentication section of the Common API describes which authentication methods are presently supported.\n
\n\n", "version": "1.0", "schemas": [], "defaultAuthorization": "required", "servicePath": "/api/mgmt.applications/1.0", "resources": { "General Application Mappings": { "methods": { "Get General Mappings": { "description": "Get all general application mappings", "response": { "description": "Application mappings data", "type": "array", "id": "GetGeneralMappings", "items": { "description": "Application mapping data", "type": "object", "properties": { "app": { "description": "Mapping name", "required": true, "type": "string" }, "id": { "description": "Mapping identifier", "required": true, "type": "string" }, "hosts": { "description": "List of hosts. Hosts can be IP addresses, CIDR blocks or host groups.", "required": true, "type": "array", "items": { "description": "Host", "required": false, "type": "string" } }, "ports": { "description": "List of ports", "required": true, "type": "array", "items": { "description": "Port data", "required": false, "type": "object", "properties": { "proto": { "description": "Protocol", "required": true, "type": "string" }, "port": { "description": "Port", "required": true, "type": "string" } } } }, "auto_apps": { "description": "List of auto-recognized application names", "required": true, "type": "array", "items": { "description": "Auto-recognized application name", "required": false, "type": "string" } }, "enabled": { "description": "Mapping based tracking and reporting of the application is enabled/disabled", "required": true, "type": "boolean" }, "override": { "description": "Whether the general definition of the application overrides an auto-recognized definition. Always - unconditionally overrides any existing layer 7 application mapping. Unknown - applies to flows that did not match any auto-recognized applications or general rules.", "required": true, "type": "string", "enum": [ "Always", "Unknown" ] }, "priority": { "description": "Priority of the mapping", "required": true, "type": "string" }, "known_port": { "description": "Whether it is a system-defined mapping through a known protocol/port", "required": true, "type": "boolean" } } }, "example": [ { "app": "test1", "auto_apps": [], "enabled": true, "hosts": [ "0.0.0.0/0", "::/0" ], "id": "160", "known_port": false, "override": "Unknown", "ports": [ { "proto": "6", "port": "20-21" } ], "priority": "25" }, { "app": "test2", "auto_apps": [ "Google", "Facebook" ], "enabled": false, "hosts": [], "id": "102", "known_port": false, "override": "Always", "ports": [], "priority": "26" } ] }, "httpmethod": "GET", "formats": [ "json" ], "authorization_methods": [ "BASIC" ], "path": "mappings/general", "authorization": "required" }, "Get General Mapping": { "description": "Get a general application mapping", "parameters": { "map_id": { "required": true, "type": "string", "description": "Mapping identifier" } }, "response": { "description": "Application mapping data", "type": "object", "id": "GetGeneralMapping", "properties": { "app": { "description": "Mapping name", "required": true, "type": "string" }, "id": { "description": "Mapping identifier", "required": true, "type": "string" }, "hosts": { "description": "List of hosts. Hosts can be IP addresses, CIDR blocks or host groups.", "required": true, "type": "array", "items": { "description": "Host", "required": false, "type": "string" } }, "ports": { "description": "List of ports", "required": true, "type": "array", "items": { "description": "Port data", "required": false, "type": "object", "properties": { "proto": { "description": "Protocol", "required": true, "type": "string" }, "port": { "description": "Port", "required": true, "type": "string" } } } }, "auto_apps": { "description": "List of auto-recognized application names", "required": true, "type": "array", "items": { "description": "Auto-recognized application name", "required": false, "type": "string" } }, "enabled": { "description": "Mapping based tracking and reporting of the application is enabled/disabled", "required": true, "type": "boolean" }, "override": { "description": "Whether the general definition of the application overrides an auto-recognized definition. Always - unconditionally overrides any existing layer 7 application mapping. Unknown - applies to flows that did not match any auto-recognized applications or general rules.", "required": true, "type": "string", "enum": [ "Always", "Unknown" ] }, "priority": { "description": "Priority of the mapping", "required": true, "type": "string" }, "known_port": { "description": "Whether it is a system-defined mapping through a known protocol/port", "required": true, "type": "boolean" } }, "example": { "app": "test2", "auto_apps": [ "Google", "Facebook" ], "enabled": true, "hosts": [], "id": "102", "known_port": false, "override": "Always", "ports": [], "priority": "25" } }, "httpmethod": "GET", "formats": [ "json" ], "authorization_methods": [ "BASIC", "COOKIE", "OAUTH_2_0" ], "path": "mappings/general/{map_id}", "authorization": "required" }, "Create General Mapping": { "description": "Create a new general application mapping using either hosts/ports or auto-recognized applications (but not both)", "request": { "description": "Application mapping data", "type": "object", "id": "CreateGeneralMapping", "properties": { "app": { "description": "Mapping name", "required": true, "type": "string" }, "hosts": { "description": "Comma separated list of hosts formatted as a string. Hosts can be IP addresses, CIDR blocks or host groups.", "required": false, "type": "string" }, "ports": { "description": "Comma separated list of ports formatted as a string", "required": false, "type": "string" }, "auto_apps": { "description": "Comma separated list of auto-recognized application names", "required": false, "type": "string" }, "enabled": { "description": "Enable/disable mapping based tracking and reporting of the application", "required": false, "type": "boolean", "default": true }, "override": { "description": "Whether the general definition of the application should override an auto-recognized definition. Always - unconditionally override any existing layer 7 application mapping. Unknown - apply to flows that did not match any auto-recognized applications or general rules.", "required": false, "type": "string", "enum": [ "Always", "Unknown" ], "default": "Always" } }, "example": { "app": "test3", "ports": "udp/514,1024", "enabled": false, "override": "Unknown" } }, "httpmethod": "POST", "formats": [ "json" ], "authorization_methods": [ "BASIC", "COOKIE", "OAUTH_2_0" ], "path": "mappings/general", "authorization": "required" }, "Update General Mapping": { "description": "Update a general application mapping. If an app was originally created using hosts/ports, it cannot be updated using auto-recognized applications and vice versa.", "parameters": { "map_id": { "required": true, "type": "string", "description": "Mapping identifier" } }, "request": { "description": "Application mapping data", "type": "object", "id": "UpdateGeneralMapping", "properties": { "app": { "description": "New mapping name", "required": false, "type": "string" }, "hosts": { "description": "Comma separated list of hosts formatted as a string. Hosts can be IP addresses, CIDR blocks or host groups.", "required": false, "type": "string" }, "ports": { "description": "Comma separated list of ports formatted as a string", "required": false, "type": "string" }, "auto_apps": { "description": "Comma separated list of auto-recognized application names", "required": false, "type": "string" }, "enabled": { "description": "Enable/disable mapping based tracking and reporting of the application", "required": false, "type": "boolean" }, "override": { "description": "Whether the general definition of the application should override an auto-recognized definition. Always - unconditionally override any existing layer 7 application mapping. Unknown - apply to flows that did not match any auto-recognized applications or general rules.", "required": false, "type": "string", "enum": [ "Always", "Unknown" ] }, "priority": { "description": "Priority of the mapping. Must be between 1 and 2000.", "required": false, "type": "string" } }, "example": { "app": "test3new", "ports": "udp/514,1024", "enabled": true, "override": "Always", "priority": "10" } }, "httpmethod": "PUT", "formats": [ "json" ], "authorization_methods": [ "BASIC", "COOKIE", "OAUTH_2_0" ], "path": "mappings/general/{map_id}", "authorization": "required" }, "Delete General Mappings": { "description": "Delete multiple general application mappings", "parameters": { "map_ids": { "required": true, "type": "string", "description": "Comma separated list of mapping identifiers formatted as a string" } }, "httpmethod": "DELETE", "formats": [ "json" ], "authorization_methods": [ "BASIC", "COOKIE", "OAUTH_2_0" ], "path": "mappings/general/{map_ids}", "authorization": "required" }, "Import General Mappings": { "description": "Import general application mappings from XML data", "request": { "description": "Import data", "type": "object", "id": "ImportGeneralMappings", "properties": { "xml_data": { "description": "XML data to be imported, formatted as a string. Use the XML data (as string) obtained from the export API.", "required": true, "type": "string" } }, "example": { "xml_data": "\r\n