$schema: http://support.riverbed.com/apis/service_def/2.2
description: NPM APIs for Auto Discovered Servers Module.
id: http://support.riverbed.com/apis/npm.discovered_servers/1.0
name: npm.discovered_servers
provider: riverbed
resources:
  config:
    additionalProperties: false
    description: Server Names Auto Discovery configuration.
    links:
      get:
        description: Returns the Server Names Auto Discovery configuration.
        method: GET
        response:
          $ref: '#/resources/config'
      self:
        path: $/config
      set:
        description: Updates the Server Names Auto Discovery configuration.
        method: PUT
        request:
          $ref: '#/resources/config'
        response:
          $ref: '#/resources/config'
    properties:
      enabled:
        description: Enable/disable Server Names Auto Discovery.
        type: boolean
    required:
    - enabled
    type: object
  ignored_server:
    additionalProperties: false
    description: Ignored Discovered Server.
    links:
      delete:
        description: Un-ignores a Discovered Server.
        method: DELETE
      self:
        path: $/ignored/items/{id}
    properties:
      id:
        description: A unique id for the ignored discovered server.
        type: string
    type: object
  ignored_servers:
    additionalProperties: true
    description: Ignored Discovered Servers.
    links:
      bulk_create:
        description: Ignores a list of Discovered Servers.
        method: POST
        path: $/ignored/bulk_create
        request:
          $ref: '#/resources/ignored_servers'
        response:
          $ref: '#/resources/ignored_servers'
      bulk_delete:
        description: Un-ignores a list of Discovered Servers.
        method: POST
        path: $/ignored/bulk_delete
        request:
          $ref: '#/types/iservers_bulk_deleter'
        response:
          $ref: '#/types/iservers_bulk_deleter'
      create:
        description: Ignores a Discovered Server.
        method: POST
        request:
          $ref: '#/resources/ignored_server'
        response:
          $ref: '#/resources/ignored_server'
      limit:
        description: Returns the ignored discovered servers entries limit.
        method: GET
        path: $/ignored/limit
        response:
          $ref: '#/types/ignored_limit'
      self:
        path: $/ignored
    properties:
      items:
        items:
          $ref: '#/resources/ignored_server'
        type: array
      limit:
        $ref: '#/types/ignored_limit'
    type: object
  server:
    additionalProperties: false
    description: Discovered Server.
    links:
      delete:
        description: Deletes a Discovered Server.
        method: DELETE
      get:
        description: Returns a Discovered Server.
        method: GET
        response:
          $ref: '#/resources/server'
      self:
        path: $/servers/items/{id}
    properties:
      first_seen:
        description: Time at which this discovered server was first seen.
        type: string
      host:
        description: Server host or domain name.
        type: string
      id:
        description: A unique id for the discovered server.
        type: string
      ignored:
        description: Indicates wether the discovered server is ignored.
        type: boolean
      last_seen:
        description: Time at which this discovered server was last seen.
        type: string
      origin:
        description: Source of the server name (SNI, X509 Certificate or Connect Host).
        type: string
      protocol:
        description: The protocol from which the server name was extracted.
        enum:
        - HTTP
        - TLS
        type: string
      url_app_id:
        description: The URL Application id associated with the discovered server.
        tags:
          cpptype: uint32
        type: integer
    type: object
  servers:
    additionalProperties: true
    description: Discovered Servers.
    links:
      bulk_delete:
        description: Deletes a list of Discovered Servers.
        method: POST
        path: $/servers/bulk_delete
        request:
          $ref: '#/types/dservers_bulk_deleter'
        response:
          $ref: '#/types/dservers_bulk_deleter'
      get:
        description: Returns the list of Discovered Servers.
        method: GET
        path:
          template: $/servers{?has_url_app,ignored,topby,topn}
          vars:
            filter:
              description: If specified, only Discovered Servers matching the filter
                are returned.
              tags:
                type: string
            has_url_app:
              description: If true, only server with url apps are returned.
              tags:
                type: boolean
            ignored:
              description: If true, only ignored server are returned.
              tags:
                type: boolean
            topby:
              description: 'Tob by property. Values: ''last_seen'' (default), ''first_seen''.'
              tags:
                type: string
            topn:
              description: Max number of entries returned.
              tags:
                type: integer
        response:
          $ref: '#/resources/servers'
      self:
        path: $/servers
    properties:
      items:
        items:
          $ref: '#/resources/server'
        type: array
      total:
        description: The number of total requested discovered servers.
        tags:
          cpptype: uint32
        type: integer
    type: object
title: NPM Auto Discovered Servers APIs
types:
  dservers_bulk_deleter:
    properties:
      delete_all:
        description: Delete all objects in the given config.
        type: boolean
      delete_all_ignored:
        description: Delete all ignored server names in the given config.
        type: boolean
      delete_ids:
        description: List of discovered servers ids to delete.
        items:
          type: string
        type: array
    type: object
  ignored_limit:
    additionalProperties: true
    properties:
      current:
        description: The current number of discovered_servers ignored.
        tags:
          cpptype: uint32
        type: integer
      max:
        description: The max number of discovered_servers that can be ignored.
        tags:
          cpptype: uint32
        type: integer
    type: object
  iservers_bulk_deleter:
    properties:
      delete_all:
        description: Delete all objects in the given config.
        type: boolean
      delete_ids:
        description: List of ignored discovered servers ids to delete.
        items:
          type: string
        type: array
    type: object
version: '1.0'
