{ "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.interface_groups", "title": "Interface Groups API", "description": "

Overview

\n\n

\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 interface groups.\n\n

\n\n

\nInterface groups are maintained in a hierarchical form and are identified by their group path, similar to files in a Linux file system. Each interface group can contain interfaces, devices and interface sub-groups within itself.\n

\n\n

\nThe following operations can be performed via the API:\n

\n\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

Authentication

\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.interface_groups/1.0", "resources": { "Interface Groups": { "methods": { "Get Groups": { "description": "Get all interface groups", "response": { "description": "Interface groups data", "type": "array", "id": "GetGroups", "items": { "description": "Interface group data", "type": "object", "properties": { "name": { "description": "Group name", "required": true, "type": "string" }, "description": { "description": "Group description", "required": true, "type": "string" }, "group_path": { "description": "Group path", "required": true, "type": "string" }, "parent_group_path": { "description": "Parent group path", "required": true, "type": "string" }, "member_type": { "description": "Type of member", "required": true, "type": "string", "enum": [ "Interface Group", "Device", "Interface" ] }, "members": { "description": "List of all sub-groups and member devices and interfaces", "required": true, "type": "array", "items": { "description": "Sub-group / device / interface data", "required": false, "type": "object" } } } }, "example": [ { "name": "WAN", "description": "All WAN interfaces known to Profiler, both optimized and non-optimized", "members": [ { "name": "Non-optimized", "description": "WAN interfaces of non-optimizing WAN devices", "members": [], "group_path": "/WAN/Non-optimized", "parent_group_path": "/WAN", "member_type": "Interface Group" }, { "name": "Optimized", "description": "WAN interfaces of Steelhead and other WAN optimization devices", "members": [], "group_path": "/WAN/Optimized", "parent_group_path": "/WAN", "member_type": "Interface Group" } ], "group_path": "/WAN", "parent_group_path": "/", "member_type": "Interface Group" }, { "name": "Deployment", "description": "Layout of deployed Cascade data flow products", "members": [ { "ipaddr": "10.1.102.23", "member_type": "Device", "device_type": "Cascade Gateway Virtual Edition", "version": "M19.0", "interface": [] } ], "group_path": "/Deployment", "parent_group_path": "/", "member_type": "Interface Group" }, { "name": "dummy1", "description": "Dummy 1", "members": [ { "ipaddr": "10.33.131.198", "ifindex": "1", "member_type": "Interface" }, { "ipaddr": "10.33.131.198", "ifindex": "2", "member_type": "Interface" }, { "ipaddr": "10.1.11.175", "member_type": "Device", "device_type": "Riverbed SteelFlow", "version": "CascadeFlow", "interface": [ { "ipaddr": "10.1.11.175", "ifindex": "2" } ] }, { "ipaddr": "10.44.112.7", "member_type": "Device", "device_type": "SteelCentral AWS VPC Flow Exporter", "version": "1.0", "interface": [ { "ipaddr": "10.44.112.7", "ifindex": "1" } ] }, { "ipaddr": "40.71.236.158", "member_type": "Device", "device_type": "SteelCentral Azure NSG Flow Exporter", "version": "1.1", "interface": [ { "ipaddr": "40.71.236.158", "ifindex": "1", "label": "40.71.236.158:AZURE_NSG_Flow" } ] }, { "ipaddr": "177.217.207.71", "member_type": "Device", "device_type": "NetFlow", "version": "9", "interface": [ { "ipaddr": "177.217.207.71", "ifindex": "271", "label": "71.207.217.177.isp.timbrasil.com.br:271" }, { "ipaddr": "177.217.207.71", "ifindex": "2571", "label": "71.207.217.177.isp.timbrasil.com.br:2571" } ] }, { "name": "WAN", "description": "All WAN interfaces known to Profiler, both optimized and non-optimized", "members": [ { "name": "Non-optimized", "description": "WAN interfaces of non-optimizing WAN devices", "members": [], "group_path": "/dummy1/WAN/Non-optimized", "parent_group_path": "/dummy1/WAN", "member_type": "Interface Group" }, { "name": "Optimized", "description": "WAN interfaces of Steelhead and other WAN optimization devices", "members": [], "group_path": "/dummy1/WAN/Optimized", "parent_group_path": "/dummy1/WAN", "member_type": "Interface Group" } ], "group_path": "/dummy1/WAN", "parent_group_path": "/dummy1", "member_type": "Interface Group" } ], "group_path": "/dummy1", "parent_group_path": "/", "member_type": "Interface Group" } ] }, "httpmethod": "GET", "formats": [ "json" ], "authorization_methods": [ "BASIC" ], "path": "groups/all", "authorization": "required" }, "Get Group": { "description": "Get an interface group", "request": { "description": "Group identifier", "type": "object", "id": "GetGroupRequest", "properties": { "group_path": { "description": "Group path", "required": true, "type": "string" } }, "example": { "group_path": "/mygroup1/mygroup2" } }, "response": { "description": "Interface group data", "type": "object", "id": "GetGroupResponse", "properties": { "name": { "description": "Group name", "required": true, "type": "string" }, "description": { "description": "Group description", "required": true, "type": "string" }, "group_path": { "description": "Group path", "required": true, "type": "string" }, "parent_group_path": { "description": "Parent group path", "required": true, "type": "string" }, "member_type": { "description": "Type of member", "required": true, "type": "string", "enum": [ "Interface Group", "Device", "Interface" ] }, "members": { "description": "List of all sub-groups and member devices and interfaces", "required": true, "type": "array", "items": { "description": "Sub-group / device / interface data", "required": false, "type": "object" } } }, "example": { "name": "mygroup2", "description": "My Group 2", "members": [ { "ipaddr": "10.33.131.198", "ifindex": "1", "member_type": "Interface" }, { "ipaddr": "10.33.131.198", "ifindex": "2", "member_type": "Interface" }, { "ipaddr": "10.1.11.175", "member_type": "Device", "device_type": "Riverbed SteelFlow", "version": "CascadeFlow", "interface": [ { "ipaddr": "10.1.11.175", "ifindex": "2" } ] }, { "ipaddr": "10.44.112.7", "member_type": "Device", "device_type": "SteelCentral AWS VPC Flow Exporter", "version": "1.0", "interface": [ { "ipaddr": "10.44.112.7", "ifindex": "1" } ] }, { "ipaddr": "40.71.236.158", "member_type": "Device", "device_type": "SteelCentral Azure NSG Flow Exporter", "version": "1.1", "interface": [ { "ipaddr": "40.71.236.158", "ifindex": "1", "label": "40.71.236.158:AZURE_NSG_Flow" } ] }, { "ipaddr": "177.217.207.71", "member_type": "Device", "device_type": "NetFlow", "version": "9", "interface": [ { "ipaddr": "177.217.207.71", "ifindex": "271", "label": "71.207.217.177.isp.timbrasil.com.br:271" }, { "ipaddr": "177.217.207.71", "ifindex": "2571", "label": "71.207.217.177.isp.timbrasil.com.br:2571" } ] }, { "name": "WAN", "description": "All WAN interfaces known to Profiler, both optimized and non-optimized", "members": [ { "name": "Non-optimized", "description": "WAN interfaces of non-optimizing WAN devices", "members": [], "group_path": "/mygroup1/mygroup2/WAN/Non-optimized", "parent_group_path": "/mygroup1/mygroup2/WAN", "member_type": "Interface Group" }, { "name": "Optimized", "description": "WAN interfaces of Steelhead and other WAN optimization devices", "members": [], "group_path": "/mygroup1/mygroup2/WAN/Optimized", "parent_group_path": "/mygroup1/mygroup2/WAN", "member_type": "Interface Group" } ], "group_path": "/mygroup1/mygroup2/WAN", "parent_group_path": "/mygroup1/mygroup2", "member_type": "Interface Group" } ], "group_path": "/mygroup1/mygroup2", "parent_group_path": "/mygroup1", "member_type": "Interface Group" } }, "httpmethod": "GET", "formats": [ "json" ], "authorization_methods": [ "BASIC", "COOKIE", "OAUTH_2_0" ], "path": "groups", "authorization": "required" }, "Create Group": { "description": "Create a new interface group", "request": { "description": "Group data", "type": "object", "id": "CreateGroup", "properties": { "name": { "description": "Group name", "required": true, "type": "string" }, "description": { "description": "Group description", "required": true, "type": "string" }, "parent_group_path": { "description": "Parent group path. If not specified, group will be created at the top level", "required": false, "type": "string", "default": "/" } }, "example": { "name": "test3", "description": "Test 3", "parent_group_path": "/test1/test2" } }, "httpmethod": "POST", "formats": [ "json" ], "authorization_methods": [ "BASIC", "COOKIE", "OAUTH_2_0" ], "path": "groups", "authorization": "required" }, "Update Group": { "description": "Update an interface group", "request": { "description": "Group data", "type": "object", "id": "UpdateGroup", "properties": { "group_path": { "description": "Current group path", "required": true, "type": "string" }, "name": { "description": "New group name. If no change, then same as old name.", "required": true, "type": "string" }, "description": { "description": "New group description", "required": false, "type": "string" } }, "example": { "group_path": "/test1/test2", "name": "test2new", "description": "Test 2 new" } }, "httpmethod": "PUT", "formats": [ "json" ], "authorization_methods": [ "BASIC", "COOKIE", "OAUTH_2_0" ], "path": "groups", "authorization": "required" }, "Delete Groups": { "description": "Delete multiple interface groups", "request": { "description": "Group identifiers", "type": "object", "id": "DeleteGroups", "properties": { "group_paths": { "description": "List of group paths", "required": true, "type": "array", "items": { "description": "Group path", "required": true, "type": "string" } } }, "example": { "group_paths": [ "/test1/test2/test3/test4", "/dummy1/dummy2" ] } }, "httpmethod": "DELETE", "formats": [ "json" ], "authorization_methods": [ "BASIC", "COOKIE", "OAUTH_2_0" ], "path": "groups", "authorization": "required" }, "Import Groups": { "description": "Import interface groups from XML data", "request": { "description": "Import data", "type": "object", "id": "ImportGroups", "properties": { "parent_group_path": { "description": "Parent group path. If not specified, data will be imported at the top level.", "required": false, "type": "string", "default": "/" }, "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" }, "replace": { "description": "If set, replace the existing members of the group. Else, default is to merge with the existing members.", "required": false, "type": "boolean", "default": false } }, "example": { "parent_group_path": "/dummy1", "xml_data": "\r\n\r\n \r\n dummy1\r\n Dummy 1\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n", "replace": true } }, "httpmethod": "POST", "formats": [ "json" ], "authorization_methods": [ "BASIC", "COOKIE", "OAUTH_2_0" ], "path": "groups/import", "authorization": "required" }, "Export Groups": { "description": "Export interface groups in XML", "request": { "description": "Group identifier for data to be exported", "type": "object", "id": "ExportGroupsRequest", "properties": { "group_path": { "description": "Group path. If not specified, data for all groups will be exported.", "required": false, "type": "string", "default": "/" } }, "example": { "group_path": "/dummy1" } }, "response": { "description": "Exported data", "type": "object", "id": "ExportGroupsResponse", "properties": { "group_path": { "description": "Group path", "required": true, "type": "string" }, "xml_data": { "description": "Exported XML data, formatted as a string. Use this in the request body for the import API.", "required": true, "type": "string" } }, "example": { "group_path": "/dummy1", "xml_data": "\r\n\r\n \r\n dummy1\r\n Dummy 1\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" } }, "httpmethod": "GET", "formats": [ "json" ], "authorization_methods": [ "BASIC", "COOKIE", "OAUTH_2_0" ], "path": "groups/export", "authorization": "required" } } }, "Interface Group Members": { "methods": { "Add Members": { "description": "Add devices and/or interfaces to an interface group", "request": { "description": "Member details and parent group identifier", "type": "object", "id": "AddMembers", "properties": { "group_path": { "description": "Parent group path", "required": true, "type": "string" }, "members": { "description": "List of member devices and interfaces", "required": true, "type": "array", "items": { "description": "Member identifier", "required": true, "type": "string" } } }, "example": { "group_path": "/test1/test2/test3/test4", "members": [ "10.1.11.175", "10.1.124.247", "10.33.131.198:1", "10.33.131.198:2" ] } }, "httpmethod": "POST", "formats": [ "json" ], "authorization_methods": [ "BASIC", "COOKIE", "OAUTH_2_0" ], "path": "members", "authorization": "required" }, "Delete Members": { "description": "Delete devices and/or interfaces from an interface group", "request": { "description": "Member details and parent group identifier", "type": "object", "id": "DeleteMembers", "properties": { "group_path": { "description": "Parent group path", "required": true, "type": "string" }, "members": { "description": "List of member devices and interfaces", "required": true, "type": "array", "items": { "description": "Member identifier", "required": true, "type": "string" } } }, "example": { "group_path": "/test1/test2/test3/test4", "members": [ "10.1.11.175", "10.1.124.247", "10.33.131.198:1", "10.33.131.198:2" ] } }, "httpmethod": "DELETE", "formats": [ "json" ], "authorization_methods": [ "BASIC", "COOKIE", "OAUTH_2_0" ], "path": "members", "authorization": "required" } } } } }