Commit 7ebf6a08 authored by pollakowskio's avatar pollakowskio Committed by pingj
Browse files

Update fileDataReportingMnS.yaml

parent c8279aa6
Loading
Loading
Loading
Loading
+112 −166
Original line number Diff line number Diff line
openapi: 3.0.1
info:
  title: TS 28.532 File data reporting Service
  version: 16.6.0
  title: File Data Reporting MnS
  version: 16.7.0
  description: >-
    OAS 3.0.1 specification of the File data reporting Management Service © 2020,
    3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All
    rights reserved.
    OAS 3.0.1 definition of the File Data Reporting MnS
    © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
externalDocs:
  description: 3GPP TS 28.532 V16.5.0; Generic management services
  url: 'http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/'
  description: 3GPP TS 28.532; Generic management services
  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/
servers:
  - url: '{MnSRoot}/FileDataReportingMnS/{MnSversion}'
  - url: '{MnSRoot}/FileDataReportingMnS/{MnSVersion}'
    variables:
      MnSRoot:
        description: See subclause 4.4 of TS 32.158
        description: See clause 4.4.2 of TS 32.158
        default: http://example.com/3GPPManagement
      version:
        description: Indicates the current version of the specification
        default: 16.5.0
      MnSVersion:
        description: Version number of the OpenAPI definition
        default: XXX
paths:
  /Files:
  /files:
    get:
      summary: Read resources of information of available files
      description: With HTTP GET, resources of information of available files are read. The resources to be read are identified with the path component (base resource) and the query component (fileaType, beginTime and endTime) of the URI. The fields query component allows to select the resource properties to be returned.
      summary: Read information about available files
      description: >-
        Information about available files is read with HTTP GET. The files for
        which information shall be returned are identified with the path
        component (base resource) and the query component (fileDataType, beginTime,
        endTime) of the URI.
      parameters:
        - name: fileType
        - name: fileDataType
          in: query
          description: This parameter identifies the type of management data that the file contains to select the resources from the collection resources identified with the path component of the URI.
          description: >-
            This parameter selects files based on the file data type.
          required: true
          schema:
            $ref: '#/components/schemas/fileType-Type'
            $ref: '#/components/schemas/FileDataType'
        - name: beginTime
          in: query
          description: This parameter identifies the time stamp no later than which the file became available to select the resources from the collection resources identified with the path component of the URI.
          required: true
          description: >-
            This parameter selects files based on the earliest time they
            became available
          required: false
          schema:
            $ref: '#/components/schemas/dateTime-Type'
            $ref: 'comDefs.yaml#/components/schemas/DateTime'
        - name: endTime
          in: query
          description: This parameter identifies the time stamp no earlier than which the file became available to select the resources from the collection resources identified with the path component of the URI.
          required: true
          description: >-
            This parameter selects files based on the latest time they
            became available
          required: false
          schema:
            $ref: '#/components/schemas/dateTime-Type'
            $ref: 'comDefs.yaml#/components/schemas/DateTime'
      responses:
        '200':
          description: 'Success case ("200 OK"). The resources identified in the request for retrieval are returned in the response message body. In case the fields query parameter is used, the selected resources are returned.'
          description: >-
            'Success case ("200 OK").
            The resources identified in the request for retrieval are returned
            in the response message body.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/fileInfoRetrieval-ResponseType'
                type: array
                items:
                  $ref: '#/components/schemas/FileInfo'
        default:
          description: Error case.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error-ResponseType'
                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
  /subscriptions:
    post:
      summary: Create a subscription
      description: To create a subscription the representation of the subscription is POSTed on the /subscriptions collection resource.
      description: >-
        To create a subscription the representation of the subscription is
        POSTed on the /subscriptions collection resource.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/subscription-RequestType'
              $ref: 'faultMnS.yaml#/components/schemas/Subscription'
      responses:
        '201':
          description: Success case ("201 Created"). The representation of the newly created subscription resource shall be returned.
          description: >-
            Success case ("201 Created").
            The representation of the newly created subscription resource shall
            be returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/subscription-ResponseType'
                $ref: 'faultMnS.yaml#/components/schemas/Subscription'
          headers:
            Location:
              description: URI of the newly created subscription resource
              required: true
              schema:
                type: string
        default:
          description: Error case.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error-ResponseType'
                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
      callbacks:
        notifyFileReady:
          '{request.body#/consumerReference}':
@@ -87,16 +112,19 @@ paths:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/notifyFileReady-NotifType'
                      $ref: '#/components/schemas/NotifyFileReady'
              responses:
                '204':
                  description: Success case ("204 No Content"). The notification is successfully delivered. The response message body is absent.
                  description: >-
                    Success case ("204 No Content").
                    The notification is successfully delivered. The response message
                    body is absent.
                default:
                  description: Error case.
                  content:
                    application/json:
                      schema:
                        $ref: '#/components/schemas/error-ResponseType'
                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
        notifyFilePreparationError:
          '{request.body#/consumerReference}':
            post:
@@ -105,179 +133,97 @@ paths:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/notifyFilePreparationError-NotifType'
              responses:
                '204':
                  description: Success case ("204 No Content"). The notification is successfully delivered. The response message body is absent.
                default:
                  description: Error case.
                  content:
                    application/json:
                      schema:
                        $ref: '#/components/schemas/error-ResponseType'
    delete:
      summary: Delete all subscriptions made with a specific consumerReferenceId
      description: The subscriptions are deleted by deleting the corresponding subscription resources. The resources to be deleted are identified with the path component of the URI pointing to the /subscription collection resource and filtering on the consumerReferenceId provided in the query part.
      parameters:
        - name: consumerReferenceId
          in: query
          description: Identifies the subscriptions to be deleted.
          required: true
          schema:
            $ref: '#/components/schemas/consumerReferenceId-QueryType'
                      $ref: '#/components/schemas/NotifyFilePreparationError'
              responses:
                '204':
          description: Success case ("204 No Content"). The subscription resources have been deleted. The response message body is absent.
                  description: >-
                    Success case ("204 No Content").
                    The notification is successfully delivered. The response message
                    body is absent.
                default:
                  description: Error case.
                  content:
                    application/json:
                      schema:
                $ref: '#/components/schemas/error-ResponseType'
  '/subscriptions/{subscriptionId}':
                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
  /subscriptions/{subscriptionId}:
    delete:
      summary: Delete a single subscription
      description: The subscription is deleted by deleting the corresponding subscription resource. The resource to be deleted is identified with the path component of the URI.
      summary: Delete a subscription
      description: >-
        The subscription is deleted by deleting the corresponding subscription
        resource. The resource to be deleted is identified with the path
        component of the URI.
      parameters:
        - name: subscriptionId
          in: path
          description: Identifies the subscription to be deleted.
          required: true
          schema:
            $ref: '#/components/schemas/subscriptionId-PathType'
            type: string
      responses:
        '204':
          description: Success case ("204 No Content"). The subscription resource has been deleted. The response message body is absent.
          description: >-
            Success case ("204 No Content").
            The subscription resource has been deleted. The response message body
            is absent.
        default:
          description: Error case.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error-ResponseType'
                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
components:
  schemas:
    dateTime-Type:
      type: string
      format: date-Time
    uri-Type:
    FileDataType:
      type: string
    long-Type:
      type: string
      format: long
    additionalText-Type:
      type: string
    reason-Type:
      enum:
        - Performance
        - Trace
        - Anatytics
        - Proprietary
    FileNotificationTypes:
      type: string
    fileInfoRetrieval-ResponseType:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/fileInfo-Type'
    fileInfo-Type:
      enum:
        - notifyFileReady
        - notifyFilePreparationError
    FileInfo:
      type: object
      properties:
        fileLocation:
          $ref: '#/components/schemas/uri-Type'
          $ref: 'comDefs.yaml#/components/schemas/Uri'
        fileSize:
          $ref: '#/components/schemas/long-Type'
          type: integer
        fileReadyTime:
          $ref: '#/components/schemas/dateTime-Type'
          $ref: 'comDefs.yaml#/components/schemas/DateTime'
        fileExpirationTime:
          $ref: '#/components/schemas/dateTime-Type'
          $ref: 'comDefs.yaml#/components/schemas/DateTime'
        fileCompression:
          type: string
        fileFormat:
          type: string
        fileType:
          $ref: '#/components/schemas/fileType-Type'
    error-ResponseType:
      type: object
      properties:
        error:
          type: object
          properties:
            errorInfo:
              type: string
    fileType-Type:
      type: string
      enum:
        - PERFORMANCE
        - TRACE
        - ANALYTICS
        - PROPRIETARY
    header-Type:
      description: Header used in notifications as notification header
      type: object
      properties:
        uri:
          $ref: '#/components/schemas/uri-Type'
        notificationId:
          $ref: '#/components/schemas/notificationId-Type'
        notificationType:
          $ref: '#/components/schemas/notificationType-Type'
        eventTime:
          $ref: '#/components/schemas/dateTime-Type'
    subscriptionId-PathType:
      type: string
    filter-Type:
      type: string
    notificationId-Type:
      $ref: '#/components/schemas/long-Type'
    notificationType-Type:
      type: string
      enum:
        - notifyFileReady
        - notifyFilePreparationError
    subscription-ResourceType:
      type: object
      properties:
        consumerReference:
          $ref: '#/components/schemas/uri-Type'
        timeTick:
          $ref: '#/components/schemas/long-Type'
        filter:
          $ref: '#/components/schemas/filter-Type'
    subscription-RequestType:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/subscription-ResourceType'
    subscription-ResponseType:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/subscription-ResourceType'
    consumerReferenceId-QueryType:
      $ref: '#/components/schemas/uri-Type'
    notifyFileReady-NotifType:
      type: object
      properties:
        header:
          $ref: '#/components/schemas/header-Type'
        body:
          type: object
        fileDataType:
           $ref: '#/components/schemas/FileDataType'
    NotifyFileReady:
      allOf:
        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
        - type: object
          properties:
            fileInfoList:
              type: array
              items:
                $ref: '#/components/schemas/fileInfo-Type'
                $ref: '#/components/schemas/FileInfo'
            additionalText:
              $ref: '#/components/schemas/additionalText-Type'
    notifyFilePreparationError-NotifType:
      type: object
      properties:
        header:
          $ref: '#/components/schemas/header-Type'
        body:
          type: object
              type: string
    NotifyFilePreparationError:
      allOf:
        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
        - type: object
          properties:
            fileInfoList:
              type: array
              items:
                $ref: '#/components/schemas/fileInfo-Type'
                $ref: '#/components/schemas/FileInfo'
            reason:
              $ref: '#/components/schemas/reason-Type'
              type: string
            additionalText:
              $ref: '#/components/schemas/additionalText-Type'
              type: string
 No newline at end of file