$schema: http://support.riverbed.com/apis/service_def/2.2
description: NPM Packet Capture API
id: http://support.riverbed.com/apis/npm.packet_capture/4.0
name: npm.packet_capture
provider: riverbed
resources:
  job:
    additionalProperties: false
    description: Information about a capture job
    links:
      clear_packets:
        description: Used to clear capture job data
        method: POST
        path: $/jobs/items/{id}/clear
      delete:
        method: DELETE
      get:
        method: GET
        response:
          $ref: '#/resources/job'
      self:
        path: $/jobs/items/{id}
      set:
        method: PUT
        request:
          $ref: '#/resources/job'
        response:
          $ref: '#/resources/job'
      stats:
        description: Get statistics about the job
        method: GET
        path:
          template: $/jobs/items/{id}/stats{?start_time,end_time,duration,gap}
          vars:
            duration:
              description: Duration of the time selection in seconds. It will be ignored
                if both 'start_time' and 'end_time' are set
              type: integer
            end_time:
              description: The end time of the time selection The string represents
                a decimal value of seconds since epoch
              type: string
            gap:
              description: Time gap between intervals (in seconds)
              type: integer
            start_time:
              description: The start time of the time selection The string represents
                a decimal value of seconds since epoch
              type: string
        response:
          additionalProperties: false
          description: Statistics about job
          properties:
            job_intervals:
              additionalProperties: false
              description: Collection of Capture Job intervals.
              properties:
                items:
                  description: Array of job intervals
                  items:
                    additionalProperties: false
                    description: Job Interval
                    properties:
                      disk_size:
                        description: The (disk) size in bytes of the interval. It
                          includes overhead and represents the actual amount of space
                          needed to store the interval on disk.
                        type: integer
                      end_time:
                        description: The timestamp of the last packet of the interval.
                          The string represents a decimal value of seconds since epoch
                        type: string
                      packet_size:
                        description: The (packet) size in bytes of the interval. It
                          only includes the size of packets with no overhead.
                        type: integer
                      start_time:
                        description: The timestamp of the first packet of the interval.
                          The string represents a decimal value of seconds since epoch
                        type: string
                      total_packets:
                        description: The number of packet in the interval
                        type: integer
                    required:
                    - start_time
                    - end_time
                    - packet_size
                    - disk_size
                    - total_packets
                    type: object
                  type: array
              required:
              - items
              type: object
          required:
          - job_intervals
          type: object
    properties:
      config:
        additionalProperties: false
        description: Configuration of a capture job
        properties:
          capture_from_all_vifgs:
            description: If enabled, this capture job will ignore the field 'vifgs'
              and will capture from all existing VIFGs
            type: boolean
          enabled:
            description: Whether the capture job is configured to run or not
            type: boolean
          filter:
            $ref: '#/types/input_filter'
          indexing:
            $ref: '#/types/job_indexing'
          name:
            description: Name of the job
            type: string
          retention_rules:
            $ref: '#/types/packet_retention'
          snap_len:
            default: 65535
            description: It specifies the max number of bytes for every packet that
              will be stored to disk. If the packet is longer, it will be truncated
            tags:
              cpptype: uint32
            type: integer
          vifgs:
            description: List of VIFGs the capture job is collecting packets from
            items:
              description: ID of the VIFG that this capture job captures from
              tags:
                cpptype: uint32
              type: integer
            type: array
        required:
        - name
        - enabled
        - vifgs
        - capture_from_all_vifgs
        - filter
        - snap_len
        - retention_rules
        - indexing
        type: object
      id:
        description: The UUID of the capture job
        readOnly: true
        type: string
      state:
        additionalProperties: false
        description: Information about the state of a capture job
        properties:
          stats:
            additionalProperties: false
            description: Capture job statistics
            properties:
              bytes_written:
                $ref: '#/types/recent_stats'
              packets_written:
                $ref: '#/types/recent_stats'
            required:
            - packets_written
            - bytes_written
            type: object
          status:
            additionalProperties: false
            description: Generic information on the capture job and its data
            properties:
              capture_disk_space:
                description: The actual size of the capture job on disk (including
                  overhead)
                tags:
                  cpptype: uint64
                type: integer
              capture_size:
                description: The size of all the packets of the capture job (packets
                  only, without overhead)
                tags:
                  cpptype: uint64
                type: integer
              packet_end_time:
                description: The timestamp of the last packet of the capture job.
                  The string represents a decimal value of seconds since epoch
                type: string
              packet_start_time:
                description: The timestamp of the first packet of the capture job.
                  The string represents a decimal value of seconds since epoch
                type: string
              state:
                description: The state of a capture job
                enum:
                - UNKNOWN
                - RUNNING
                - STOPPED
                type: string
            required:
            - state
            - packet_start_time
            - packet_end_time
            - capture_size
            - capture_disk_space
            type: object
        readOnly: true
        required:
        - stats
        - status
        type: object
    required:
    - config
    type: object
  job_defaults:
    additionalProperties: false
    description: Default values to use when creating a new capture job
    links:
      get:
        method: GET
        response:
          $ref: '#/resources/job_defaults'
      self:
        path: $/info/job_defaults
    properties:
      capture_from_all_vifgs:
        description: Default value for whether the capture job should capture from
          all VIFGs or not
        type: boolean
      enabled:
        description: Default status of the job
        type: boolean
      filter:
        $ref: '#/types/input_filter'
      indexing:
        $ref: '#/types/job_indexing'
      name:
        description: Default name of new job
        type: string
      retention_rules:
        $ref: '#/types/packet_retention'
      snap_len:
        description: Default value for snaplen
        tags:
          cpptype: uint32
        type: integer
      vifgs:
        description: Default value for vifgs from
        items:
          description: ID of the VIFG that this capture job captures from
          tags:
            cpptype: uint32
          type: integer
        type: array
    readOnly: true
    required:
    - name
    - enabled
    - vifgs
    - capture_from_all_vifgs
    - filter
    - snap_len
    - retention_rules
    - indexing
    type: object
  jobs:
    additionalProperties: false
    description: Capture jobs configured on the system
    links:
      create:
        method: POST
        request:
          $ref: '#/resources/job'
        response:
          $ref: '#/resources/job'
      get:
        method: GET
        response:
          $ref: '#/resources/jobs'
      self:
        path: $/jobs
    properties:
      items:
        description: List of capture jobs
        items:
          $ref: '#/resources/job'
        type: array
    required:
    - items
    type: object
  packet_broker_types:
    description: Information about supported packet brokers
    items:
      additionalProperties: false
      description: Information about a single packet broker
      properties:
        description:
          description: Description of the specific type of packet broker
          type: string
        type:
          $ref: '#/types/packet_broker_types_type_enum'
        type_pretty:
          description: User friendly name for the specific type of packet broker
          type: string
      required:
      - type
      - type_pretty
      - description
      type: object
    links:
      get:
        method: GET
        response:
          $ref: '#/resources/packet_broker_types'
      self:
        path: $/info/packet_broker_types
    type: array
  phys_interface:
    additionalProperties: false
    description: Information about a monitoring interface
    links:
      delete:
        method: DELETE
      get:
        method: GET
        response:
          $ref: '#/resources/phys_interface'
      reset_stats:
        description: Used to reset the statistics of the monitoring interface
        method: POST
        path: $/interfaces/items/{id}/reset_stats
      self:
        path: $/interfaces/items/{id}
      set:
        method: PUT
        request:
          $ref: '#/resources/phys_interface'
        response:
          $ref: '#/resources/phys_interface'
    properties:
      config:
        additionalProperties: false
        description: Configuration of a monitoring interface
        properties:
          description:
            description: A description of the monitoring interface
            type: string
          enabled:
            description: Used to enable/disable a monitoring interface
            type: boolean
          name:
            description: A user-friendly name for the interface
            type: string
          speed_duplex:
            $ref: '#/types/phys_interface_capabilities_enum'
        required:
        - name
        - enabled
        - description
        - speed_duplex
        type: object
      id:
        description: The ID of the monitoring interface
        readOnly: true
        type: string
      state:
        additionalProperties: false
        description: Information about the state of a monitoring interface
        properties:
          interface_type:
            description: The type of interface. It gives a high level information
              about the type of hardware used (FILE is reserved for internal use)
            enum:
            - 1G_COPPER
            - 1G_FIBER
            - 1G_VIRTUAL
            - 10G_COPPER
            - 10G_FIBER
            - 10G_VIRTUAL
            - 40G_FIBER
            - 40G_VIRTUAL
            - 100G_FIBER
            - 100G_VIRTUAL
            - FILE
            - UNKNOWN
            type: string
          mtu:
            description: The Maximum Transmission Unit (MTU) of the interface
            tags:
              cpptype: uint32
            type: integer
          speed_duplex:
            $ref: '#/types/phys_interface_capabilities_enum'
          stats:
            additionalProperties: false
            description: Statistics for a monitoring interface
            properties:
              bytes_total:
                $ref: '#/types/recent_stats'
              packets_dropped:
                $ref: '#/types/recent_stats'
              packets_total:
                $ref: '#/types/recent_stats'
            readOnly: true
            required:
            - bytes_total
            - packets_total
            - packets_dropped
            type: object
          status:
            description: The state of the interface. UP and DOWN provide link status
              information. CONNECTED and DISCONNECTED provide tcp connection information.
              MISSING is used when the interace is no longer detected on the system.
              DISABLED is used for interfaces that have been manually disabled.
            enum:
            - UP
            - DOWN
            - CONNECTED
            - DISCONNECTED
            - MISSING
            - DISABLED
            - UNKNOWN
            type: string
        readOnly: true
        required:
        - status
        - interface_type
        - mtu
        - speed_duplex
        - stats
        type: object
    required:
    - id
    - config
    type: object
  phys_interface_capabilities:
    additionalProperties: false
    description: Information about supported capabilities of a monitoring interface
    links:
      get:
        method: GET
        response:
          $ref: '#/resources/phys_interface_capabilities'
      self:
        path: $/interfaces/items/{id}/capabilities
    properties:
      id:
        description: The id of the monitoring interface
        type: string
      speed_duplex:
        description: An array of the speeds supported by the interface
        items:
          $ref: '#/types/phys_interface_capabilities_enum'
        type: array
    required:
    - id
    - speed_duplex
    type: object
  phys_interfaces:
    additionalProperties: false
    description: Monitoring interfaces detected on the system
    links:
      get:
        method: GET
        response:
          $ref: '#/resources/phys_interfaces'
      self:
        path: $/interfaces
    properties:
      items:
        description: List of monitoring interfaces
        items:
          $ref: '#/resources/phys_interface'
        type: array
    required:
    - items
    type: object
  read_operation:
    additionalProperties: false
    description: Information about a packet read
    links:
      delete:
        description: Used to delete packet reads that have already completed
        method: DELETE
      get:
        method: GET
        response:
          $ref: '#/resources/read_operation'
      self:
        path: $/read_operations/items/{id}
    properties:
      config:
        additionalProperties: false
        description: The configuration of the read operation
        properties:
          eth_type_filters:
            description: A list of Ether type filters used by the read operation
            items:
              description: An Ether type filter (value from 0 to 65535)
              type: integer
            type: array
          indexes_only:
            description: True if the read operation will only read indexes, False
              if it also reads packets
            type: boolean
          ip_filters:
            description: A list of IP filters used by the read operation
            items:
              description: An IP filter. Either a single IP address or two IP addresses
                representing an IP pair
              type: string
            type: array
          ip_protocol_filters:
            description: A list of IP protocol filters used by the read operation
            items:
              description: An IP protocol filter (value from 0 to 255)
              type: integer
            type: array
          job_id:
            description: The UUID of the job the current operation is reading from
            type: string
          port_filters:
            description: A list of port filters used by the read operation
            items:
              description: A port filter. Either a single port or two ports representing
                a connection (without order)
              type: string
            type: array
          time_ranges:
            description: A list of the time ranges the read operation is reading from
            items:
              additionalProperties: false
              description: A time range
              properties:
                end_time:
                  description: The end of the time range. It's a string representing
                    a decimal value of seconds since Unix epoch
                  type: string
                start_time:
                  description: The start of the time range. It's a string representing
                    a decimal value of seconds since Unix epoch
                  type: string
              required:
              - start_time
              - end_time
              type: object
            type: array
          vifg_filters:
            description: A list of VIFG filters used by the read operation
            items:
              description: A number representing a VIFG ID
              type: integer
            type: array
        required:
        - job_id
        - time_ranges
        - ip_filters
        - port_filters
        - ip_protocol_filters
        - eth_type_filters
        - vifg_filters
        - indexes_only
        type: object
      id:
        description: Unique ID of the read operation
        type: string
      state:
        additionalProperties: false
        description: The state of the read operation
        properties:
          disk_size:
            additionalProperties: false
            description: Information on the size of the read operation on disk
            properties:
              indexed:
                description: The number of Megabytes that need to be read from disk
                  for the current operation (computed using indexes)
                type: integer
              non_indexed:
                description: The number of Megabytes that would have to be read from
                  disk if no indexing was used
                type: integer
            required:
            - indexed
            - non_indexed
            type: object
          duration:
            additionalProperties: false
            description: Information on the duration of the read operation
            properties:
              indexes:
                description: Time spent reading indexes in seconds
                type: number
              total:
                description: Total duration of the read operation in seconds
                type: number
            required: []
            type: object
          progress:
            description: Progress of the read operation when reading packets (0 when
              reading indexes)
            type: number
          start_time:
            description: The time when the read operation was started. It's a string
              representing a decimal value of seconds since Unix epoch
            type: string
          stats:
            additionalProperties: false
            description: Packet read statistics
            properties:
              end_time:
                description: The timestamp of the last packet of read packets. The
                  string represents a decimal value of seconds since epoch
                type: string
              read_bytes:
                description: The number of actual bytes read by the read operation
                  as instructed by the filter
                type: integer
              read_packets:
                description: The number of actual packets read by the read operation
                  as instructed by the filter
                type: integer
              start_time:
                description: The timestamp of the first packet of read packets. The
                  string represents a decimal value of seconds since epoch
                type: string
            required:
            - start_time
            - end_time
            - read_bytes
            - read_packets
            type: object
          status:
            description: The state of a read operation
            enum:
            - UNKNOWN
            - STARTING
            - READING_INDEXES
            - READING_PACKETS
            - COMPLETED
            - STOPPED
            type: string
        required:
        - status
        - progress
        - start_time
        - duration
        - disk_size
        - stats
        type: object
    required:
    - id
    - config
    - state
    type: object
  read_operations:
    additionalProperties: false
    description: List of ongoing packet reads
    links:
      clear:
        description: Remove packet reads that have already completed
        method: POST
        path: $/read_operations/clear
      get:
        method: GET
        response:
          $ref: '#/resources/read_operations'
      self:
        params:
          running:
            description: Return running packet reads only if True, non-running packet
              reads only if False, all packet reads if omitted
            type: boolean
        path: $/read_operations
    properties:
      items:
        description: Array of read operations
        items:
          $ref: '#/resources/read_operation'
        type: array
    required:
    - items
    type: object
  settings:
    additionalProperties: false
    description: Global settings for packet capture
    links:
      get:
        method: GET
        response:
          $ref: '#/resources/settings'
      self:
        path: $/settings
      set:
        method: PUT
        request:
          $ref: '#/resources/settings'
        response:
          $ref: '#/resources/settings'
    properties:
      deduplication:
        additionalProperties: false
        description: Packet deduplication advanced settings
        properties:
          entries:
            description: Size of internal queues used by packet deduplication engine
            tags:
              cpptype: uint32
            type: integer
          esp_alg_enabled:
            description: Enable/Disable deduplication on ESP packets with IP identification
              equal to 0
            type: boolean
          esp_timeout:
            description: Time window used for ESP packets (with IP identification
              equal to 0) instead of the global 'timeout'. The string represents a
              decimal value of seconds
            type: string
          tcp_alg_enabled:
            description: Enable/Disable deduplication on TCP packets with IP identification
              equal to 0
            type: boolean
          tcp_syn_ack_enabled:
            description: Enable/Disable deduplication on TCP SYN/ACK packets with
              IP identification equal to 0
            type: boolean
          tcp_syn_ack_timeout:
            description: Time window used for TCP SYN/ACK packets (with IP identification
              equal to 0) instead of the global 'timeout'. The string represents a
              decimal value of seconds
            type: string
          tcp_timeout:
            description: Time window used for TCP packets (with IP identification
              equal to 0) instead of the global 'timeout'. The string represents a
              decimal value of seconds
            type: string
          timeout:
            description: Time window within which packet deduplication is guaranteed.
              If two duplicate packets are received further apart than this timeout,
              they will not be considered duplicates. The string represents a decimal
              value of seconds
            type: string
          udp_alg_enabled:
            description: Enable/Disable deduplication on UDP packets
            type: boolean
          udp_timeout:
            description: Time window used for UDP packets instead of the global 'timeout'.
              The string represents a decimal value of seconds
            type: string
        required:
        - entries
        - timeout
        - udp_timeout
        - tcp_timeout
        - udp_alg_enabled
        - tcp_alg_enabled
        - tcp_syn_ack_timeout
        - tcp_syn_ack_enabled
        - esp_timeout
        - esp_alg_enabled
        type: object
      packet_broker:
        additionalProperties: false
        description: Packet Broker settings
        properties:
          type:
            $ref: '#/types/packet_broker_types_type_enum'
        required:
        - type
        type: object
    required:
    - packet_broker
    - deduplication
    type: object
  vifg:
    additionalProperties: false
    description: Information about a Virtual Interface Group (VIFG)
    links:
      delete:
        method: DELETE
      get:
        method: GET
        response:
          $ref: '#/resources/vifg'
      reset_stats:
        description: Used to reset the statistics of the Virtual Interface Group (VIFG)
        method: POST
        path: $/vifgs/items/{id}/reset_stats
      self:
        path: $/vifgs/items/{id}
      set:
        method: PUT
        request:
          $ref: '#/resources/vifg'
        response:
          $ref: '#/resources/vifg'
    properties:
      config:
        additionalProperties: false
        description: Configuration of a Virtual Interface Group (VIFG)
        properties:
          bandwidth_capacity:
            description: Custom value for the capacity of the VIFG (in Mbps). If set
              to zero, it will use default values (see the field bandwidth_capacity
              in the 'state' object)
            tags:
              cpptype: uint64
            type: integer
          dedup:
            description: Whether or not packet deduplication is enabled on this VIFG
            type: boolean
          description:
            description: Description of the VIFG
            type: string
          enabled:
            description: Whether or not the VIFG is enabled (disabled VIFGs will drop
              all the their traffic)
            type: boolean
          filter:
            $ref: '#/types/input_filter'
          flow_export:
            $ref: '#/types/flow_export_filter'
          is_other_vifg:
            description: Whether or not this VIFG is the 'other vifg'
            type: boolean
          members:
            description: List of members associated with this VIFG
            items:
              description: 'A monitoring interface (in PHYSICAL_INTERFACE mode) or
                a VLAN ID (in VLAN mode) that belongs to the VIFG. The VLAN ID can
                be one of: an integer (0-4095), a colon-seperated list of integers
                to represent QinQ (1:4:5), or ''UNTAGGED'''
              type: string
            type: array
          name:
            description: Unique name of the VIFG
            type: string
        required:
        - name
        - description
        - enabled
        - members
        - is_other_vifg
        - bandwidth_capacity
        - filter
        - dedup
        - flow_export
        type: object
      id:
        description: The unique ID of the Virtual Interface Group (VIFG)
        readOnly: true
        tags:
          cpptype: uint32
        type: integer
      state:
        additionalProperties: false
        description: Information about the state of a Virtual Interface Group (VIFG)
        properties:
          bandwidth_capacity:
            description: The (read-only) capacity of the VIFG in Mbps. In PHYSICAL_INTERFACE
              mode, it's the sum of the speeds of the interfaces that the VIFG collects.
              In VLAN mode, the sum of the speeds of all interfaces. It can also be
              configured to a custom value (see the field bandwidth_capacity in the
              'config' object)
            tags:
              cpptype: uint64
            type: integer
          mtu:
            description: In PHYSICAL_INTERFACE mode, the max Maximum Transmission
              Unit (MTU) of the interfaces that the VIFG collects. In VLAN mode, the
              max MTU of all interfaces
            readOnly: true
            tags:
              cpptype: uint64
            type: integer
          stats:
            additionalProperties: false
            description: Statistics of a Virtual Interface Group (VIFG)
            properties:
              bytes_received:
                $ref: '#/types/recent_stats'
              packets_duped:
                $ref: '#/types/recent_stats'
              packets_received:
                $ref: '#/types/recent_stats'
            readOnly: true
            required:
            - bytes_received
            - packets_received
            - packets_duped
            type: object
        readOnly: true
        required:
        - mtu
        - bandwidth_capacity
        - stats
        type: object
    required:
    - config
    type: object
  vifg_defaults:
    additionalProperties: false
    description: Default values to use when creating a new capture vifg
    links:
      get:
        method: GET
        response:
          $ref: '#/resources/vifg_defaults'
      self:
        path: $/info/vifg_defaults
    properties:
      bandwidth_capacity:
        description: Default bandwidth_capacity
        tags:
          cpptype: uint64
        type: integer
      dedup:
        description: Default value for dedup
        type: boolean
      description:
        description: Default description of the VIFG
        type: string
      enabled:
        description: Default value for VIFG "enabled"
        type: boolean
      filter:
        $ref: '#/types/input_filter'
      flow_export:
        $ref: '#/types/flow_export_filter'
      is_other_vifg:
        description: Default value for is_other_vifg
        type: boolean
      members:
        description: Default member list
        items:
          type: string
        type: array
      name:
        description: Default name of the VIFG
        type: string
    readOnly: true
    required:
    - name
    - description
    - enabled
    - members
    - is_other_vifg
    - bandwidth_capacity
    - filter
    - dedup
    - flow_export
    type: object
  vifg_global_state:
    additionalProperties: false
    description: Global state for Virtual Interface Groups (VIFGs)
    links:
      get:
        method: GET
        response:
          $ref: '#/resources/vifg_global_state'
      self:
        path: $/vifgs/state
    properties:
      autodiscovery:
        additionalProperties: false
        description: Information about the status of VIFG autodiscovery
        properties:
          maximum_reached:
            description: True if the maximum number of VIFGs has already been automatically
              discovered and no more VIFGs will be created. False, otherwise. The
              maximum is currently set to 2000 (including the 'other vifg')
            type: boolean
        required:
        - maximum_reached
        type: object
    readOnly: true
    required:
    - autodiscovery
    type: object
  vifg_settings:
    additionalProperties: false
    description: Global settings for Virtual Interface Groups (VIFGs)
    links:
      get:
        method: GET
        response:
          $ref: '#/resources/vifg_settings'
      self:
        path: $/vifgs/settings
      set:
        method: PUT
        request:
          $ref: '#/resources/vifg_settings'
        response:
          $ref: '#/resources/vifg_settings'
    properties:
      autodiscovery:
        additionalProperties: false
        description: Global settings for the VIFG autodiscovery feature
        properties:
          default:
            additionalProperties: false
            description: Default values for VIFGs created by autodiscovery
            properties:
              dedup:
                description: Enable or disable packet deduplication on VIFGs created
                  by autodiscovery
                type: boolean
              filter:
                $ref: '#/types/input_filter'
              flow_export:
                $ref: '#/types/flow_export_filter'
            required:
            - filter
            - dedup
            - flow_export
            type: object
          enabled:
            description: Enable or disable VIFG autodiscovery
            type: boolean
        required:
        - enabled
        - default
        type: object
      enable_aggregation:
        description: Enable or disable VIFG aggregation in downstream processing
        type: boolean
      grouping_type:
        description: The type of grouping used for incoming packets
        type: string
      supported_grouping_types:
        description: Valid values for the field 'grouping_types'
        items:
          description: Supported grouping types
          enum:
          - UNKNOWN
          - PHYSICAL_INTERFACE
          - VLAN
          type: string
        readOnly: true
        type: array
    required:
    - grouping_type
    - supported_grouping_types
    - enable_aggregation
    - autodiscovery
    type: object
  vifgs:
    additionalProperties: false
    description: Virtual Interface Groups (VIFGs) configured on the system
    links:
      create:
        method: POST
        request:
          $ref: '#/resources/vifg'
        response:
          $ref: '#/resources/vifg'
      get:
        method: GET
        response:
          $ref: '#/resources/vifgs'
      self:
        params:
          is_other_vifg:
            description: Filter the 'other vifg' from the list of VIFGs
            type: boolean
          limit:
            description: Limit number of elements to return
            tags:
              cpptype: uint32
            type: integer
          offset:
            description: Starting element number when querying for a set of elements
              paging
            tags:
              cpptype: uint32
            type: integer
          sort:
            description: Direction of sorting (either 'asc' for ascending or 'desc'
              for descending)
            enum:
            - asc
            - desc
            type: string
          sortby:
            description: 'Fields to use for sorting. Supported values are: name, description,
              enabled, interfaces, enable_dedup, flow_export_enabled, bytes_received,
              packets_received, packets_duped'
            type: string
        path: $/vifgs
    properties:
      count:
        description: The total number of Virtual Interface Groups (VIFGs)
        tags:
          cpptype: uint32
        type: integer
      items:
        description: List of Virtual Interface Groups (VIFGs)
        items:
          $ref: '#/resources/vifg'
        type: array
    required:
    - items
    - count
    type: object
title: NPM Packet Capture
types:
  flow_export_filter:
    additionalProperties: false
    description: Filter settings used for Flow Export
    properties:
      enabled:
        description: Enable or disable Flow Export filtering
        type: boolean
      filter:
        $ref: '#/types/input_filter'
    required:
    - enabled
    - filter
    type: object
  input_filter:
    additionalProperties: false
    description: Packet filter configuration
    properties:
      type:
        description: The type of filter to be processed
        enum:
        - UNKNOWN
        - STEELFILTER
        - BPF
        type: string
      value:
        description: String representation of the filter
        type: string
    required:
    - type
    - value
    type: object
  job_indexing:
    additionalProperties: false
    description: Parameters for Microflow indexing
    properties:
      enabled:
        description: Enable or disable Microflow indexing on the capture job
        type: boolean
      retention_rules:
        $ref: '#/types/packet_retention'
    required:
    - enabled
    - retention_rules
    type: object
  packet_broker_types_type_enum:
    description: Enumerative for supported packet brokers
    enum:
    - NONE
    - UNKNOWN
    - CPACKET_TS_ONLY
    - CPACKET_TS_AND_SLICE
    - GIGAMON_HEADER
    - GIGAMON_TRAILER
    - GIGAMON_TRAILER_X12
    - ANUE
    - ARISTA
    - ARISTA_BEFORE_FCS
    type: string
  packet_retention:
    additionalProperties: false
    description: Packet storage retention rules
    properties:
      max_disk_space:
        description: Maximum disk space for captured packets (i.e. the capture job
          cannot store more than N bytes worth of packets). Value in bytes. If equal
          to zero or not set, the paramter will be ignored
        tags:
          cpptype: uint64
        type: integer
      max_retention_time:
        description: Maximum retention time for captured packets (i.e. the capture
          job cannot store more than N seconds worth of packets). The string represents
          a decimal velue of seconds since epoch. If equal to zero or not set, the
          parameter will be ignored
        type: string
      min_disk_space:
        description: Minimum disk space for captured packets (i.e. best effort to
          have at least N bytes worth of packets in the capture job). Value in bytes.
          If equal to zero or not set, the parameter will be ignored
        tags:
          cpptype: uint64
        type: integer
      min_retention_time:
        description: Minimum retention time for captured packets (i.e. best effort
          to have at least N seconds worth of packets in the capture job). The string
          represents a decimal value of seconds since epoch. If equal to zero or not
          set, the parameter will be ignored
        type: string
    required:
    - min_retention_time
    - max_retention_time
    - min_disk_space
    - max_disk_space
    type: object
  phys_interface_capabilities_enum:
    description: The types of supported speed/duplex configurations. AUTONEG_* values
      will try to autonegotiate the corresponding speed in Mbps (AUTNEG will negotiate
      them all). All other values will force a specific speed in Mbps (FD full duplex,
      HD half duplex)
    enum:
    - UNKNOWN
    - AUTONEG
    - AUTONEG_10
    - AUTONEG_100
    - AUTONEG_1000
    - 10_HD
    - 10_FD
    - 100_HD
    - 100_FD
    - 1000_FD
    - 10000_FD
    - 40000_FD
    - 100000_FD
    type: string
  recent_stats:
    additionalProperties: false
    description: Statistics about last second/minute/hour (and total)
    properties:
      last_hour:
        description: The value of the statistics in the last hour
        tags:
          cpptype: uint64
        type: integer
      last_minute:
        description: The value of the statistics in the last minute
        tags:
          cpptype: uint64
        type: integer
      last_second:
        description: The value of the statistic in the last second
        tags:
          cpptype: uint64
        type: integer
      total:
        description: Total number of the statistic
        tags:
          cpptype: uint64
        type: integer
    readOnly: true
    required:
    - total
    - last_second
    - last_minute
    - last_hour
    type: object
version: '4.0'
