Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. The order of Operations is important and needs to be maintained hence the use of 'List'
  2. The output is 'void' for the scope in this user story, it will be defined later
  3. dataaccepttype and datacontenttype might be needed too, see issue #1 and #2. If required we could combine them to reduce the number of parameter in an object like RestProtocolParameters

Proposed openapi.yaml

...


Code Block
languageyml
title

...

openapi

...

.yaml

...

linenumberstrue
collapsetrue
openapi: 3.0.3
info:
  description: Adds subjob capabilities for DCM
  title: NCMP Data Subjob API
  version: 1.0.0
servers:
  - url: /dmi
tags:
  - description: DMI plugin rest apis
    name: dmi-datajob
paths:
  /v1/dataJob/{requestId}:
    post:
      description: Create a read request
      operationId: createReadRequest
      parameters:
        - $ref: '#/components/parameters/requestIdInPath'
      requestBody:
        description: Operation body
        content:
          application/3gpp-json-patch+json:
            schema:
              $ref: '#/components/schemas/SubjobRequest'
      tags:
      - dmi-datajob
      responses:
        "200":
          description: Response for subjob
          content: 
            application/json:
              schema:
                type: object
                properties:
                  dataProducerJobId:
                    type: string
                    description: The data job ID.
components:
  parameters:
   requestIdInPath:
     description: requestId
     in: path
     name: requestId
     required: true
     schema:
       example: requestId
       type: string
  schemas:
    SubjobRequest:
      type: array
      items:
        type: object
        required:
          - dataProducerId
          - data
        properties:
          dataAcceptType:
            type: string
          dataContentCype:
            type: string
          dataProducerId:
            type: string
          data:
            oneOf:
              - $ref: '#/components/schemas/ReadOperation'
              - $ref: '#/components/schemas/WriteOperation'
    ReadOperation:
      type: array
      items:
        type: object
        required:
          - path
          - op
        properties:
          path:
            type: string
          op:
            type: string
          operationId:
            type: string
          attributes:
            type: array
            items:
              type: string
          fields:
            type: array
            items:
              type: string
          filter:
            type: array
            items:
              type: string
          scopeType:
            type: string
          scopeLevel:
            type: integer
          moduleSetTag:
            type: string
          cmHandleProperties:
            $ref: '#/components/schemas/CmHandleProperties'
    WriteOperation:
      type: array
      items:
        type: object
        required:
          - path
          - op
        properties:
          path:
            type: string
          op:
            type: string
          operationId:
            type: string
          value:
            type: object
            oneOf:
              - $ref: '#/components/schemas/Resource'
              - $ref: '#/components/schemas/ActionParameters'
              - $ref: '#/components/schemas/Object'
    CmHandleProperties:
      type: object
    Resource:
      type: object
      properties:
        id:
          type: string
        attributes:
          type: object
          additionalProperties: 
            type: string
    ActionParameters:
      type: object
      additionalProperties:
        type: string
    Object:
      type: object
          

...




IssueNotesDecision
1


2


3


4


5


Datajob read request

NameDescriptionLocationTypeMandatory

destination

The destination of the results. ( e.g. S3 Bucket)

Query

string

N

dataaccepttype

Define the data response accept type. Passible values:

·        application/vnd.3gpp.object-tree-hierarchical+json (default)

·        application/vnd.3gpp.object-tree-flat+json

request body

enum

N

datacontenttype

Define the data request content type. Passible values:

·        application/3gpp-json-patch+json (default)

request body

enum

N

data

List of operations to be executed. 

request body

List of 3gppReadOperation

Y

...