$schema: http://support.riverbed.com/apis/service_def/2.2 description: NPM APIs for application classification id: http://support.riverbed.com/apis/npm.classification/3.1 name: npm.classification provider: riverbed resources: application: additionalProperties: false description: This resource deals with general application links: delete: {description: Deletes the general application that matches the ID provided, method: DELETE} get: description: Reads and returns a general application for the ID provided method: GET response: {$ref: '#/resources/application'} self: {path: '$/applications/items/{id}'} set: description: Updates the general application that matches the ID provided method: PUT request: {$ref: '#/resources/application'} response: {$ref: '#/resources/application'} properties: created: {description: Time (seconds from epoch) at which the rule was first created, type: string} definitions: properties: items: items: {$ref: '#/types/app_definition_3_0'} type: array type: object desc: {description: Describes the General Application Definition, type: string} enabled: {description: Status of this General Application Definition - enabled/disabled, type: boolean} id: description: Unique ID generated by the backend for this General Application Definition tags: {cpptype: uint32} type: number last_modified: {description: Time (seconds from epoch) at which the rule was last modified, type: string} last_modified_username: {description: The last user to modify this rule, type: string} name: {description: Unique case sensitive name of General Application Definition, type: string} priority: description: Application priority used in case the traffic can be associated only with a single application, lower the value the higher the priority tags: {cpptype: uint32} type: integer traffic_match_mode: description: mode to configure traffic match enum: [HIGH, MEDIUM, LOW] type: string required: [name] type: object applications: additionalProperties: false description: This resource deals with collection of general applications links: bulk_create: description: Creates a collection of general applications, assigns an unique ID to each and adds these to the general applications. A collection of general applications with their IDs is returned method: POST path: $/applications/bulk_create request: {$ref: '#/resources/applications'} response: {$ref: '#/resources/applications'} bulk_delete: description: Deletes all general applications or the general applications that match the IDs provided method: POST path: $/applications/bulk_delete request: {$ref: '#/types/bulk_deleter'} response: {$ref: '#/types/bulk_deleter'} create: description: Creates a new general application and adds it to the collection of general applications method: POST request: {$ref: '#/resources/application'} response: {$ref: '#/resources/application'} get: description: Reads and returns all general applications method: GET response: {$ref: '#/resources/applications'} merge: description: Merges the existing general applications with the provided general applications using the name as key method: POST path: $/applications/merge request: {$ref: '#/resources/applications'} response: {$ref: '#/resources/applications'} self: {path: $/applications} properties: items: items: {$ref: '#/resources/application'} type: array type: object hostgroup: description: This resource deals with Host Group links: delete: {description: Deletes the Host Group matching the ID from the configuration, method: DELETE} get: description: Returns the Host Group from the configuration that matches the ID method: GET response: {$ref: '#/resources/hostgroup'} self: {path: '$/hostgroups/items/{id}'} set: description: Sets the Host Group matching the ID method: PUT request: {$ref: '#/resources/hostgroup'} response: {$ref: '#/resources/hostgroup'} properties: created: {description: Time (seconds from epoch) at which the Host Group was first created, type: string} desc: {description: Description of Host Group, type: string} enabled: {description: Status of the Host Group - enabled/disabled, type: boolean} hosts: {$ref: '#/types/host_list'} id: description: Unique ID assigned by the backend readOnly: true tags: {cpptype: uint32} type: number in_speed: description: Inbound Utilization tags: {cpptype: uint32} type: number in_speed_unit: {$ref: '#/types/speed_unit'} last_modified: {description: Time (seconds from epoch) at which the Host Group was last modified, type: string} last_modified_username: {description: The last user to modify this rule, type: string} member_hostgroups: {$ref: '#/types/id_list'} member_hostgroups_names: description: List of Host Group names items: {type: string} type: array name: {description: Unique name of Host Group, type: string} out_speed: description: Outbound Utilization tags: {cpptype: uint32} type: number out_speed_unit: {$ref: '#/types/speed_unit'} type: object hostgroups: additionalProperties: true description: This resource deals with Host Groups links: bulk_create: description: Creates multiple Host Groups, assigns an unique ID to each and adds these to the Host Group configuration. If any individual Host Group creation fails, the complete request is failed. A collection Host Group with all newly created Host Groups is returned method: POST path: $/hostgroups/bulk_create request: {$ref: '#/resources/hostgroups'} response: {$ref: '#/resources/hostgroups'} bulk_delete: description: Deletes all Host Groups or Host Groups with IDs provided method: POST path: $/hostgroups/bulk_delete request: {$ref: '#/types/bulk_deleter'} response: {$ref: '#/types/bulk_deleter'} bulk_hierarchy: description: Creates parent-child hierarchy between Host Groups in bulk mode method: POST path: $/hostgroups/bulk_hierarchy request: {$ref: '#/resources/hostgroups'} response: {$ref: '#/resources/hostgroups'} create: description: Creates a new Host Group, assigns it an ID, adds it to the hostgroup configuration and returns the new Host Group with it's ID set method: POST request: {$ref: '#/resources/hostgroup'} response: {$ref: '#/resources/hostgroup'} get: description: Reads the Host Group configuration and returns it as a Host Groups collection method: GET response: {$ref: '#/resources/hostgroups'} merge: description: Merges the existing Host Groups with the provided Host Groups using the name as key method: POST path: $/hostgroups/merge request: {$ref: '#/resources/hostgroups'} response: {$ref: '#/resources/hostgroups'} self: {path: $/hostgroups} properties: items: items: {$ref: '#/resources/hostgroup'} type: array type: object url: additionalProperties: false description: This resource deals with url application links: delete: {description: Deletes the url application that matches the ID provided, method: DELETE} get: description: Reads and return the url application that matches the ID provided method: GET response: {$ref: '#/resources/url'} self: {path: '$/urls/items/{id}'} set: description: Updates the url application that matches the ID provided method: PUT request: {$ref: '#/resources/url'} response: {$ref: '#/resources/url'} properties: created: {description: Time (seconds from epoch) at which the rule was first created, type: string} desc: {type: string} enabled: {type: boolean} id: tags: {cpptype: uint32} type: number last_modified: {description: Time (seconds from epoch) at which the rule was last modified, type: string} last_modified_username: {description: The last user to modify this rule, type: string} name: {type: string} preferred: {type: boolean} urls: items: {type: string} type: array required: [name, urls] type: object urls: additionalProperties: false description: This resource deals with collection of url applications links: bulk_create: description: Creates a collection of url applications assigning an ID to each url application. Appends the new collection to the url applications. Returns the new collection of url applications with their corresponding ID method: POST path: $/urls/bulk_create request: {$ref: '#/resources/urls'} response: {$ref: '#/resources/urls'} bulk_delete: description: Deletes all url applications or url applications matching the IDs provided method: POST path: $/urls/bulk_delete request: {$ref: '#/types/bulk_deleter'} response: {$ref: '#/types/bulk_deleter'} create: description: Creates a new url application and adds it to the url application. Returns the url application with its new ID populated method: POST request: {$ref: '#/resources/url'} response: {$ref: '#/resources/url'} get: description: Reads and returns the complete collection of url applications method: GET response: {$ref: '#/resources/urls'} merge: description: Merges the existing url applications with the provided url applications using the name as key. Key is case insensitive method: POST path: $/urls/merge request: {$ref: '#/resources/urls'} response: {$ref: '#/resources/urls'} self: {path: $/urls} properties: items: items: {$ref: '#/resources/url'} type: array type: object title: NPM Classification APIs types: app_definition_3_0: properties: dpi_ids: items: tags: {cpptype: uint16} type: integer type: array hostgroup_ids: {$ref: '#/types/id_list'} hosts: {$ref: '#/types/host_list'} transport_rules: description: List of port ranges items: additionalProperties: false description: IP Protocol and transport ports properties: ip_protocol: {description: IP protocol identifier. Full list can be retrieved with /ip_protocols resource, type: string} ports: {description: 'comma seperated list of port ranges. e.g. x, p-q, y-z', type: string} required: [ip_protocol] tags: {hide_from_external_docs: true} type: object type: array type: object bulk_deleter: description: Object to trigger bulk deletion of given resource properties: delete_all: {description: Delete all objects of the given resource, type: boolean} delete_ids: {$ref: '#/types/id_list'} type: object host_list: description: List of hosts(e.g. x.x.x.x, x.x.x.x/prefix), host-ranges(e.g. x.x.x.x-y.y.y.y, x.x.x.x/prefix-y.y.y.y/prefix) items: {type: string} type: array id_list: description: List of IDs items: tags: {cpptype: uint32} type: number type: array speed_unit: description: Unit of Network Traffic Speed enum: [kbps, Mbps, Gbps] type: string version: '3.1'