$schema: http://support.riverbed.com/apis/service_def/2.2
description: REST API for npm.capabilities service.
id: http://support.riverbed.com/apis/npm.capabilities/1.1
name: npm.capabilities
provider: riverbed
resources:
  capabilities:
    additionalProperties: true
    description: A structured set of capability definitions.
    links:
      get:
        method: GET
        response:
          $ref: '#/resources/capabilities'
      self:
        path:
          template: $/capabilities{?namespace}
          vars:
            namespace:
              type: string
    type: object
  capabilities_event:
    links:
      get:
        method: GET
        response:
          $ref: '#/resources/capabilities_event'
      self:
        path:
          template: $/notification_events/items/{id}
          vars:
            id: 0/hdr/id
    properties:
      hdr:
        $ref: /apis/mgmt.types.events/1.0#/types/event_header
    relations:
      instances:
        resource: '#/resources/capabilities_events'
    required:
    - hdr
    type: object
  capabilities_events:
    links:
      create:
        method: POST
        request:
          $ref: '#/resources/capabilities_event'
        response:
          $ref: '#/resources/capabilities_event'
      get:
        method: GET
        response:
          $ref: '#/resources/capabilities_events'
      self:
        path: $/capabilities_events
    properties:
      items:
        items:
          $ref: '#/resources/capabilities_event'
        type: array
    type: object
  feature:
    description: Reports on the status of a software feature.
    links:
      get:
        method: GET
        response:
          $ref: '#/resources/feature'
      self:
        path: $/features/items/{name}
      set:
        method: PUT
        request:
          $ref: '#/resources/feature'
        response:
          $ref: '#/resources/feature'
    properties:
      beta:
        default: false
        description: 'True if this is a beta feature.

          '
        readOnly: true
        type: boolean
      beta_enabled:
        default: false
        description: 'Only if ''beta'' is true, this may be set to true to enable
          the beta feature''s functionality.

          '
        type: boolean
      beta_expired:
        description: 'True if the beta functionality time period has expired.

          '
        readOnly: true
      beta_expires:
        description: 'Epoch format date/time (in UTC) at which this feature expires
          if it''s a beta feature.

          '
        readOnly: true
        type: integer
      enabled:
        description: 'If false, this feature is unavailable.

          '
        readOnly: true
      licensed:
        description: 'True if an active license for this feature is installed.

          '
        readOnly: true
      name:
        description: 'The abbreviation of a feature tied to a license. One of: framework,
          mspec, wta, asa, cxa, dba, uca.

          '
        readOnly: true
        type: string
      valid:
        description: 'True if use of this feature is permitted by an installed license
          or as a beta feature.

          '
        readOnly: true
        type: boolean
    type: object
  features:
    links:
      get:
        method: GET
        response:
          $ref: '#/resources/features'
      self:
        path: $/features
    properties:
      items:
        items:
          $ref: '#/resources/feature'
        type: array
    type: object
  model:
    links:
      get:
        method: GET
        response:
          $ref: '#/resources/model'
      self:
        path: $/model
    properties:
      platform:
        type: string
      product_model:
        type: string
    type: object
title: Licensed capabilities service
types:
  capability:
    additionalProperties: false
    description: A name/value pair describing a limit or capability
    properties:
      name:
        description: Name of the capability
        type: string
      value:
        description: Value for the capability.
        oneOf:
        - type: 'null'
        - type: number
        - type: integer
        - type: string
        - additionalProperties: true
          type: object
    type: object
version: '1.1'
