$schema: http://support.riverbed.com/apis/service_def/2.2
description: NPM APIs for packet analysis parameters.
id: http://support.riverbed.com/apis/npm.packet_analysis/2.3
name: npm.packet_analysis
provider: riverbed
resources:
  app_mapper:
    description: Application traffic filters rule.
    links:
      get:
        description: Returns the application traffic filters rule.
        method: GET
        response:
          $ref: '#/resources/app_mapper'
      self:
        path: $/app_mappers/items/{name}
      set:
        description: Updates the application traffic filters rule.
        method: PUT
        request:
          $ref: '#/resources/app_mapper'
        response:
          $ref: '#/resources/app_mapper'
    properties:
      definitions:
        $ref: '#/types/app_mapper_definition_list'
      enabled:
        description: Enable/disable the rule.
        type: boolean
      name:
        description: Unique application rule name.
        type: string
    required:
    - name
    - enabled
    tags:
      inherits: '2.0'
    type: object
  app_mappers:
    description: Application traffic filters rules.
    links:
      get:
        description: Returns the list of application traffic filters rules used in
          'packets' datasource.
        method: GET
        response:
          $ref: '#/resources/app_mappers'
      self:
        path: $/app_mappers
    properties:
      items:
        items:
          $ref: '#/resources/app_mapper'
        type: array
    tags:
      inherits: '2.0'
    type: object
  dba_protocol:
    description: DBA Module protocols filter.
    links:
      get:
        description: Returns the DBA Module traffic filters rule.
        method: GET
        response:
          $ref: '#/resources/dba_protocol'
      self:
        path: $/dba_protocols/items/{name}
      set:
        description: Updates the DBA Module traffic filters rule.
        method: PUT
        request:
          $ref: '#/resources/dba_protocol'
        response:
          $ref: '#/resources/dba_protocol'
    properties:
      definitions:
        $ref: '#/types/app_mapper_definition_list'
      enabled:
        description: Enable/disable the rule.
        type: boolean
      name:
        description: DBA Module protocol rule name.
        enum:
        - MYSQL
        - SQLSERVER
        - ORACLE
        - DB2
        - INFORMIX
        - SYBASE_ASE
        - TERADATA
        - POSTGRESQL
        type: string
    required:
    - name
    - enabled
    tags:
      inherits: '2.0'
    type: object
  dba_protocols:
    additionalProperties: false
    description: DBA Module protocols filters.
    links:
      get:
        description: Returns the list of application traffic filters rules used in
          DBA Module.
        method: GET
        response:
          $ref: '#/resources/dba_protocols'
      self:
        path: $/dba_protocols
    properties:
      items:
        items:
          $ref: '#/resources/dba_protocol'
        type: array
    tags:
      inherits: '2.0'
    type: object
  dns_protocol:
    description: DNS Module protocols filter.
    links:
      get:
        description: Returns the DNS Module traffic filters rule.
        method: GET
        response:
          $ref: '#/resources/dns_protocol'
      self:
        path: $/dns_protocols/items/{name}
      set:
        description: Updates the DNS Module traffic filters rule.
        method: PUT
        request:
          $ref: '#/resources/dns_protocol'
        response:
          $ref: '#/resources/dns_protocol'
    properties:
      definitions:
        $ref: '#/types/app_mapper_definition_list'
      enabled:
        description: Enable/disable the rule.
        type: boolean
      name:
        description: DNS Module protocol rule name.
        enum:
        - DNS
        type: string
    required:
    - name
    - enabled
    type: object
  dns_protocols:
    additionalProperties: false
    description: DNS Module protocols filters.
    links:
      get:
        description: Returns the list of application traffic filters rules used in
          DNS Module.
        method: GET
        response:
          $ref: '#/resources/dns_protocols'
      self:
        path: $/dns_protocols
    properties:
      items:
        items:
          $ref: '#/resources/dns_protocol'
        type: array
    type: object
  dpi_params:
    additionalProperties: false
    description: Packet processing dpi parameters.
    links:
      get:
        description: Returns the dpi parameters configuration.
        method: GET
        response:
          $ref: '#/resources/dpi_params'
      self:
        path: $/dpi_params
      set:
        description: Updates the dpi parameters configuration.
        method: PUT
        request:
          $ref: '#/resources/dpi_params'
        response:
          $ref: '#/resources/dpi_params'
    properties:
      dpi_enabled:
        description: Enable/disable the DPI processing.
        type: boolean
    tags:
      inherits: '1.0'
    type: object
  pfs_params:
    additionalProperties: false
    description: TLS PFS configuration.
    links:
      get:
        description: Returns the TLS PFS configuration.
        method: GET
        response:
          $ref: '#/resources/pfs_params'
      self:
        path: $/pfs_params
      set:
        description: Updates the TLS PFS configuration.
        method: PUT
        request:
          $ref: '#/resources/pfs_params'
        response:
          $ref: '#/resources/pfs_params'
    properties:
      pfs_enabled:
        description: Enable/disable PFS decryption. Requires user to provide DH keys
          using 'npm.ssl_dh_keys' API.
        type: boolean
      store_pfs_ms:
        description: Enable/disable PFS keys store in the vault (not implemented).
        type: boolean
    tags:
      inherits: '2.1'
    type: object
  ssl_protocol:
    description: TLS Module protocols filter.
    links:
      get:
        description: Returns the TLS Module traffic filters rule.
        method: GET
        response:
          $ref: '#/resources/ssl_protocol'
      self:
        path: $/ssl_protocols/items/{name}
      set:
        description: Updates the TLS Module traffic filters rule.
        method: PUT
        request:
          $ref: '#/resources/ssl_protocol'
        response:
          $ref: '#/resources/ssl_protocol'
    properties:
      definitions:
        $ref: '#/types/app_mapper_definition_list'
      enabled:
        description: Enable/disable the rule.
        type: boolean
      name:
        description: SSL/TLS Module protocol rule name.
        enum:
        - TLS_HANDSHAKES
        type: string
    required:
    - name
    - enabled
    tags:
      inherits: '2.2'
    type: object
  ssl_protocols:
    additionalProperties: false
    description: TLS Module protocols filters.
    links:
      get:
        description: Returns the list of application traffic filters rules used in
          TLS Module.
        method: GET
        response:
          $ref: '#/resources/ssl_protocols'
      self:
        path: $/ssl_protocols
    properties:
      items:
        items:
          $ref: '#/resources/ssl_protocol'
        type: array
    tags:
      inherits: '2.2'
    type: object
  voip_protocol:
    description: UCA Module protocols filter.
    links:
      get:
        description: Returns the UCA Module traffic filters rule.
        method: GET
        response:
          $ref: '#/resources/voip_protocol'
      self:
        path: $/voip_protocols/items/{name}
      set:
        description: Updates the UCA Module traffic filters rule.
        method: PUT
        request:
          $ref: '#/resources/voip_protocol'
        response:
          $ref: '#/resources/voip_protocol'
    properties:
      definitions:
        $ref: '#/types/app_mapper_definition_list'
      enabled:
        description: Enable/disable the rule.
        type: boolean
      name:
        description: UCA Module protocol rule name.
        enum:
        - H323
        - SIP
        - SKINNY
        - RTP
        - MS_TEAMS
        - ZOOM
        type: string
    required:
    - name
    - enabled
    tags:
      inherits: '2.0'
    type: object
  voip_protocols:
    additionalProperties: false
    description: UCA Module protocols filters.
    links:
      get:
        description: Returns the list of application traffic filters rules used in
          UCA Module.
        method: GET
        response:
          $ref: '#/resources/voip_protocols'
      self:
        path: $/voip_protocols
    properties:
      items:
        items:
          $ref: '#/resources/voip_protocol'
        type: array
    tags:
      inherits: '2.0'
    type: object
  wta_protocol:
    description: WTA Module protocols filter.
    links:
      get:
        description: Returns the WTA Module traffic filters rule.
        method: GET
        response:
          $ref: '#/resources/wta_protocol'
      self:
        path: $/wta_protocols/items/{name}
      set:
        description: Updates the WTA Module traffic filters rule.
        method: PUT
        request:
          $ref: '#/resources/wta_protocol'
        response:
          $ref: '#/resources/wta_protocol'
    properties:
      definitions:
        $ref: '#/types/app_mapper_definition_list'
      enabled:
        description: Enable/disable the rule.
        type: boolean
      name:
        description: WTA Module protocol rule name.
        enum:
        - WEB
        type: string
    required:
    - name
    - enabled
    tags:
      inherits: '2.0'
    type: object
  wta_protocols:
    additionalProperties: false
    description: WTA Module protocols filters.
    links:
      get:
        description: Returns the list of application traffic filters rules used in
          WTA Module.
        method: GET
        response:
          $ref: '#/resources/wta_protocols'
      self:
        path: $/wta_protocols
    properties:
      items:
        items:
          $ref: '#/resources/wta_protocol'
        type: array
    tags:
      inherits: '2.0'
    type: object
title: NPM Packet Analysis APIs
types:
  app_mapper_definition_list:
    description: List of Application Traffic Filters definitions.
    items:
      additionalProperties: false
      description: Application Traffic Filters details.
      properties:
        hosts:
          $ref: '#/types/host_list'
        transport:
          $ref: '#/types/transport_rule'
      required:
      - transport
      type: object
    type: array
  bulk_deleter:
    description: Bulk Deleter configuration.
    properties:
      delete_all:
        description: Delete all objects in the given configuration.
        type: boolean
      delete_ids:
        items:
          tags:
            cpptype: uint32
          type: number
        type: array
    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
  transport_rule:
    additionalProperties: false
    description: IP Protocol and transport ports.
    properties:
      ip_protocol:
        description: IP protocol.
        enum:
        - TCP
        - UDP
        type: string
      ports:
        description: Comma separated list of port ranges. e.g. x, p-q, y-z.
        type: string
    required:
    - ip_protocol
    type: object
version: '2.3'
