Commit e519a6e9 authored by Walter Featherstone's avatar Walter Featherstone
Browse files

Added YAML & JSON from MEC(17)000363



Change-Id: Ia28761483b69a9b054ec709997e7beeb9132e446
Signed-off-by: default avatarfeatherstone <walter.featherstone@viavisolutions.com>
parent f14c8a6d
Loading
Loading
Loading
Loading

BwManagementApi.yaml

0 → 100644
+490 −0
Original line number Diff line number Diff line
swagger: '2.0'
info:
  description: >-
    An initial attempt to describe the MEC Bandwidth Management API using
    OpenAPI
  version: 0.3.3
  title: Bandwidth Management API
  termsOfService: TBD
  contact:
    name: TBD
    url: TBD
  license:
    name: ETSI MEC
    url: TBD
externalDocs:
  description: ETSI MEC015 V0.3.3 Bandwidth Management API
  url: 'https://docbox.etsi.org/ISG/MEC/70-Draft/0015BandMngtAPI'
host: '127.0.0.1:8081'
basePath: /bwm/v1
schemes:
  - http
  - https
consumes:
  - application/json
produces:
  - application/json
security:
  - OauthSecurity:
      - all
securityDefinitions:
  OauthSecurity:
    type: oauth2
    flow: application
    tokenUrl: 'https://oauth.exampleAPI/token'
    scopes:
      all: Single oauth2 scope for API

parameters:
  Body.BwInfo:
    name: bwInfo
    in: body
    description: >-
      BwInfo with updated information is included as entity body of the request
    required: true
    schema:
      $ref: '#/definitions/BwInfo'
  Body.BwInfoDeltas:
    name: bwInfoDeltas
    in: body
    description: >-
      Description of the changes to instruct the server how to modify the resource representation. 
    required: true
    schema:
      $ref: '#/definitions/BwInfoDeltas'
  Path.AllocationId:
    name: allocationId
    in: path
    description: >-
      Represents a bandwidth allocation instance
    required: true
    type: string
  Query.AppInstanceId:
    name: app_instance_id
    in: query
    description: >-
      A mobile edge application instance may use multiple app_instance_ids as an input parameter to query the bandwidth allocation of a list of mobile edge application instances. 
    required: false
    type: array
    items:
      type: string
  Query.AppName:
    name: app_name
    in: query
    description: >-
      A mobile edge application instance may use multiple ser_names as an input parameter to query the bandwidth allocation of a list of mobile edge application instances. 
    required: false
    type: array
    items:
      type: string
  Query.SessionId:
    name: session_id
    in: query
    description: >-
      A mobile edge application instance may use session_id as an input parameter to query the bandwitdth allocation of a list of sessions. 
    required: false
    type: array
    items:
      type: string
paths:
  /bw_allocations:
    get:
      description: >-
        This method retrieves information about a list of bandwidthAllocation resources
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/Query.AppInstanceId'
        - $ref: '#/parameters/Query.AppName'
        - $ref: '#/parameters/Query.SessionId'
      responses:
        '200':
          description: >-
           Upon success, a response body containing an array of the bandwidthAllocations is returned.
          schema:
            required:
              - bwInfo
            properties:
              bwInfo:
                $ref: '#/definitions/BwInfo'
        '400':
          description: It is used to indicate that incorrect parameters were passed to the request. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
          schema:
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
        '403':
          description: >-
            The operation is not allowed given the current status of the resource. More information should be provided in the "detail" attribute of the "ProblemDetails" structure.
          schema:
            required:
              - ProblemDetails
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
        '404':
          description: >-
            It is used when a client provided a URI that cannot be mapped to a valid resource URI. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
          schema:
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
    post:
      description: >-
        This method is used to create a bandwidthAllocation resource.
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/Body.BwInfo'
      responses:
        '201':
          description: >-
            Upon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the created resource.
          schema:
            required:
              - bwInfo
            properties:
              bwInfo:
                $ref: '#/definitions/BwInfo'
        '400':
          description: It is used to indicate that incorrect parameters were passed to the request. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
          schema:
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
        '403':
          description: >-
            The operation is not allowed given the current status of the resource. More information should be provided in the "detail" attribute of the "ProblemDetails" structure.
          schema:
            required:
              - ProblemDetails
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
        '404':
          description: >-
            TIt is used when a client provided a URI that cannot be mapped to a valid resource URI. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
          schema:
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
  /bw_allocations/{allocationId}:
    get:
      description: >-
        This method retrieves information about a a bandwidthAllocation resource. 
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/Path.AllocationId'
      responses:
        '200':
          description: >-
            It is used to indicate nonspecific success. The response body contains a representation of the resource.
          schema:
            required:
              - bwInfo
            properties:
              bwInfo:
                $ref: '#/definitions/BwInfo'
        '400':
          description: It is used to indicate that incorrect parameters were passed to the request. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
          schema:
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
        '403':
          description: >-
            The operation is not allowed given the current status of the resource. More information shall be provided in the "detail" attribute of the "ProblemDetails" structure.
            required:
              - ProblemDetails
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
        '404':
          description: >-
            It is used when a client provided a URI that cannot be mapped to a valid resource URI. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
          schema:
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
    put:
      description: >-
        This method updates the information about a bandwidthAllocation resource. 
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/Path.AllocationId'
        - $ref: '#/parameters/Body.BwInfo'
      responses:
        '200':
          description: >-
            Upon success, a response body containing data type describing the updated BwInfo is returned.
          schema:
            required:
              - bwInfo
            properties:
              bwInfo:
                $ref: '#/definitions/BwInfo'
        '400':
          description: It is used to indicate that incorrect parameters were passed to the request. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
          schema:
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
        '403':
          description: >-
            The operation is not allowed given the current status of the resource. More information shall be provided in the "detail" attribute of the "ProblemDetails" structure.
          schema:
            required:
              - ProblemDetails
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
        '404':
          description: >-
            It is used when a client provided a URI that cannot be mapped to a valid resource URI. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
          schema:
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
        '412':
          description: >-
            It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
          schema:
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
    patch:
      description: >-
        This method updates the information about a bandwidthAllocation resource. 
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/Path.AllocationId'
        - $ref: '#/parameters/Body.BwInfoDeltas'
      responses:
        '200':
          description: >-
            Upon success, a response body containing data type describing the updated BwInfo is returned.
          schema:
            required:
              - bwInfo
            properties:
              bwInfo:
                $ref: '#/definitions/BwInfo'
        '400':
          description: It is used to indicate that incorrect parameters were passed to the request. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
          schema:
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
        '403':
          description: >-
            The operation is not allowed given the current status of the resource. More information shall be provided in the "detail" attribute of the "ProblemDetails" structure.
          schema:
            required:
              - ProblemDetails
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
        '404':
          description: >-
            It is used when a client provided a URI that cannot be mapped to a valid resource URI. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
          schema:
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
        '412':
          description: >-
            It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
          schema:
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
    delete:
      description: DELETE method is typically used in "Unregister from Bandwidth Management Service " procedure
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/Path.AllocationId'
      responses:
        '204':
          description: No Content
        '403':
          description: >-
            The operation is not allowed given the current status of the resource. More information shall be provided in the "detail" attribute of the "ProblemDetails" structure.
          schema:
            required:
              - ProblemDetails
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'
        '404':
          description: >-
            It is used when a client provided a URI that cannot be mapped to a valid resource URI. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
          schema:
            properties:
              ProblemDetails:
                $ref: '#/definitions/ProblemDetails'  
definitions:
  ProblemDetails:
    type: object
    properties:
      type:
        $ref: '#/definitions/Problem.type'
      title:
        $ref: '#/definitions/Problem.title'
      status:
        $ref: '#/definitions/Problem.status'
      detail:
        $ref: '#/definitions/Problem.detail'
      instance:
        $ref: '#/definitions/Problem.instance'
  Problem.type:
    type: string
    format: uri
    description: >-
      A URI reference according to IETF RFC 3986 that identifies the problem
      type
  Problem.title:
    type: string
    description: 'A short, human-readable summary of the problem type'
  Problem.status:
    type: integer
    format: uint32
    description: The HTTP status code for this occurrence of the problem
  Problem.detail:
    type: string
    description: A human-readable explanation specific to this occurrence of the problem
  Problem.instance:
    type: string
    format: uri
    description: A URI reference that identifies the specific occurrence of the problem
  BwInfo:
    description: information of bandwidth resource
    type: object
    required:
      - appInsId
      - requestType
      - fixedAllocation
      - allocationDirection
    properties:
      timeStamp:
        $ref: '#/definitions/TimeStamp'
      appInsId:
        $ref: '#/definitions/AppInsId'
      requestType:
        $ref: '#/definitions/RequestType'
      sessionFilter:
        $ref: '#/definitions/SessionFilter'
      fixedBWPriority:
        $ref: '#/definitions/FixedBWPriority'
      fixedAllocation:
        $ref: '#/definitions/FixedAllocation'
      allocationDirection:
        $ref: '#/definitions/AllocationDirection'
  BwInfoDeltas:
    description: Conform to JSON merge patch format and processing rules specified IETF RFC 7396 [8], this type represents the attributes whose value are allowed to be updated with HTTP PATCH method in content format JSON
    type: object
    properties:
      appInsId:
        $ref: '#/definitions/AppInsId'
      requestType:
        $ref: '#/definitions/RequestType'
      sessionFilter:
        $ref: '#/definitions/SessionFilter'
      fixedBWPriority:
        $ref: '#/definitions/FixedBWPriority'
      fixedAllocation:
        $ref: '#/definitions/FixedAllocation'
      allocationDirection:
        $ref: '#/definitions/AllocationDirection'
  TimeStamp:
    type: object
    required:
      - seconds
      - nanoSeconds
    properties:
      seconds:
        $ref: '#/definitions/Seconds'
      nanoSeconds:
        $ref: '#/definitions/NanoSeconds'
  AppInsId:
    description: >-
      application instance identifier
    type: string
  RequestType:
    type: string
    enum:
      - APPLICATION_SPECIFIC_BW_ALLOCATION
      - SESSION_SPECIFIC_BW_ALLOCATION
  SessionFilter:
    description: >-
      Session filtering criteria, applicable whenWhen requestType is from type session specific:set as SESSION_SPECIFIC_BW_ALLOCATION Session filtering criteria. Any filtering criteria should suite shall define a single session only. In case multiple sessions match sessionFilterof suitable multiple sessions the request should shall be rejected
    type: array
    items:
      type: object
      properties:
        sourceIp:
          $ref: '#/definitions/SourceIp'
        sourcePort:
          $ref: '#/definitions/SourcePort'
        dstAddress:
          $ref: '#/definitions/DstAddress'
        dstPort:
          $ref: '#/definitions/DstPort'
        protocol:
          $ref: '#/definitions/Protocol'
  FixedBWPriority:
    description: >-
      Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document
    type: string
    enum:
      - not defined in the present document
  FixedAllocation:
    description: >-
      Size of requested fixed BW allocation in [bps]
    type: string
  AllocationDirection:
    description: >-
      The direction of the requested BW allocation
    type: string
    enum:
      - 00 = Downlink (towards the UE)
      - 01 = Uplink (towards the application/session)
      - 10 = symmetrical
  Seconds:
    description: >-
      The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
    type: integer
    format: uint32
  NanoSeconds:
    description: >-
      Time in nanoseconds in Unix-time since January 1, 1970, 00:00:00 UTC
    type: integer
    format: uint32
  SourceIp:
    description: >-
      Source address identity of session (including range)
    type: string
  SourcePort:
    description: >-
      Source port identity of session 
    type: array
    items:
      type: string
  DstAddress:
    description: >-
      Destination address identity of session (including range)
    type: string
  DstPort:
    description: >-
      Destination port identity of session 
    type: array
    items:
      type: string
  Protocol:
    description: >-
      Protocol number
    type: string

BwManagementApiI.json

0 → 100644
+677 −0

File added.

Preview size limit exceeded, changes collapsed.