| openapi: 3.0.3 |
| info: |
| description: Support datajobs through one or more subjob for each DMI and Data Producer |
| Identifier combination |
| title: NCMP Data Subjob API |
| version: 1.0.0 |
| servers: |
| - url: /dmi |
| tags: |
| - description: DMI plugin rest apis |
| name: dmi-datajob |
| paths: |
| /v1/cmreadJob: |
| post: |
| description: Create a read request |
| operationId: readDataJob |
| parameters: |
| - description: The destination of the results (Kafka topic name or s3 bucket |
| name) |
| in: query |
| name: destination |
| required: true |
| schema: |
| example: some-destination |
| type: string |
| style: form |
| requestBody: |
| content: |
| application/3gpp-json-patch+json: |
| schema: |
| $ref: '#/components/schemas/SubjobReadRequest' |
| description: Operation body |
| responses: |
| "501": |
| content: |
| application/json: |
| example: |
| status: 501 |
| message: Not Implemented |
| details: Method Not Implemented |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| description: Not Implemented |
| tags: |
| - dmi-datajob |
| /v1/cmwriteJob: |
| post: |
| description: Create a write request |
| operationId: writeDataJob |
| parameters: |
| - description: The destination of the results (Kafka topic name or s3 bucket |
| name) |
| in: query |
| name: destination |
| required: true |
| schema: |
| example: some-destination |
| type: string |
| style: form |
| requestBody: |
| content: |
| application/3gpp-json-patch+json: |
| schema: |
| $ref: '#/components/schemas/SubjobWriteRequest' |
| description: Operation body |
| responses: |
| "501": |
| content: |
| application/json: |
| example: |
| status: 501 |
| message: Not Implemented |
| details: Method Not Implemented |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| description: Not Implemented |
| tags: |
| - dmi-datajob |
| /v1/cmwriteJob/dataProducer/{dataProducerId}/dataProducerJob/{dataProducerJobId}/status: |
| get: |
| description: Retrieve the status of a specific data job. |
| operationId: getDataJobStatus |
| parameters: |
| - description: Identifier for the data producer |
| explode: false |
| in: path |
| name: dataProducerId |
| required: true |
| schema: |
| example: some-data-producer-identifier |
| type: string |
| style: simple |
| - description: Identifier for the data producer job |
| explode: false |
| in: path |
| name: dataProducerJobId |
| required: true |
| schema: |
| example: some-producer-job-identifier |
| type: string |
| style: simple |
| responses: |
| "501": |
| content: |
| application/json: |
| example: |
| status: 501 |
| message: Not Implemented |
| details: Method Not Implemented |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| description: Not Implemented |
| tags: |
| - dmi-datajob |
| /v1/cmwriteJob/dataProducer/{dataProducerId}/dataProducerJob/{dataProducerJobId}/result: |
| get: |
| description: Retrieve the result of a data job. |
| operationId: getDataJobResult |
| parameters: |
| - description: Identifier for the data producer |
| explode: false |
| in: path |
| name: dataProducerId |
| required: true |
| schema: |
| example: some-data-producer-identifier |
| type: string |
| style: simple |
| - description: Identifier for the data producer job |
| explode: false |
| in: path |
| name: dataProducerJobId |
| required: true |
| schema: |
| example: some-producer-job-identifier |
| type: string |
| style: simple |
| - description: The destination of the results (Kafka topic name or s3 bucket |
| name) |
| in: query |
| name: destination |
| required: true |
| schema: |
| example: some-destination |
| type: string |
| style: form |
| responses: |
| "501": |
| content: |
| application/json: |
| example: |
| status: 501 |
| message: Not Implemented |
| details: Method Not Implemented |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| description: Not Implemented |
| tags: |
| - dmi-datajob |
| components: |
| parameters: |
| requestIdInPath: |
| description: Identifier for the overall Datajob |
| explode: false |
| in: path |
| name: requestId |
| required: true |
| schema: |
| example: some-identifier |
| type: string |
| style: simple |
| dataProducerJobIdInPath: |
| description: Identifier for the data producer job |
| explode: false |
| in: path |
| name: dataProducerJobId |
| required: true |
| schema: |
| example: some-producer-job-identifier |
| type: string |
| style: simple |
| dataProducerIdInPath: |
| description: Identifier for the data producer |
| explode: false |
| in: path |
| name: dataProducerId |
| required: true |
| schema: |
| example: some-data-producer-identifier |
| type: string |
| style: simple |
| dataProducerIdInQuery: |
| description: Identifier for the data producer |
| in: query |
| name: dataProducerId |
| required: true |
| schema: |
| example: some-data-producer-identifier |
| type: string |
| style: form |
| destinationInQuery: |
| description: The destination of the results (Kafka topic name or s3 bucket name) |
| in: query |
| name: destination |
| required: true |
| schema: |
| example: some-destination |
| type: string |
| style: form |
| responses: |
| NotImplemented: |
| content: |
| application/json: |
| example: |
| status: 501 |
| message: Not Implemented |
| details: Method Not Implemented |
| schema: |
| $ref: '#/components/schemas/ErrorMessage' |
| description: Not Implemented |
| schemas: |
| ErrorMessage: |
| properties: |
| status: |
| type: string |
| message: |
| type: string |
| details: |
| type: string |
| title: Error |
| type: object |
| SubjobReadRequest: |
| properties: |
| dataAcceptType: |
| description: Defines the data response accept type |
| example: application/vnd.3gpp.object-tree-hierarchical+json |
| type: string |
| dataContentType: |
| description: Defines the data request content type |
| example: application/3gpp-json-patch+json |
| type: string |
| dataProducerId: |
| description: ID of the producer registered by DMI for the paths in the operations |
| in this request |
| example: my-data-producer-identifier |
| type: string |
| data: |
| example: |
| op: read |
| operationId: 1 |
| path: SubNetwork=Europe/SubNetwork=Ireland/MeContext=NR03gNodeBRadio00003/ManagedElement=NR03gNodeBRadio00003/GNBCUCPFunction=2 |
| attributes: userLabel |
| scope: |
| scopeTyp: BASE_ONLY |
| items: |
| $ref: '#/components/schemas/SubjobReadRequest_data_inner' |
| type: array |
| required: |
| - data |
| - dataProducerId |
| type: object |
| SubjobWriteRequest: |
| properties: |
| dataAcceptType: |
| description: Defines the data response accept type |
| example: application/vnd.3gpp.object-tree-hierarchical+json |
| type: string |
| dataContentType: |
| description: Defines the data request content type |
| example: application/3gpp-json-patch+json |
| type: string |
| dataProducerId: |
| description: ID of the producer registered by DMI for the paths in the operations |
| in this request |
| example: my-data-producer-identifier |
| type: string |
| dataJobId: |
| description: Identifier for the overall Data Job |
| example: my-data-producer-identifier |
| type: string |
| data: |
| example: |
| op: add |
| path: SubNetwork=Europe/SubNetwork=Ireland/MeContext=NR03gNodeBRadio00003/ManagedElement=NR03gNodeBRadio00003/GNBCUCPFunction=1/EUtraNetwork=1/EUtranFrequency=12 |
| value: |
| id: 12 |
| attributes: |
| userLabel: label12 |
| items: |
| $ref: '#/components/schemas/SubjobWriteRequest_data_inner' |
| type: array |
| required: |
| - data |
| - dataProducerId |
| type: object |
| CmHandleProperties: |
| description: Private properties of the cm handle for the given path |
| type: object |
| Resource: |
| properties: |
| id: |
| description: Identifier of the resource object |
| example: resource-identifier |
| type: string |
| attributes: |
| additionalProperties: |
| example: "userLabel: label11" |
| type: string |
| description: Key value map representing the objects class attributes and |
| values |
| type: object |
| type: object |
| ActionParameters: |
| additionalProperties: |
| type: string |
| description: The input of the action in the form of key value pairs |
| type: object |
| Object: |
| type: object |
| SubjobWriteResponse: |
| properties: |
| subJobId: |
| description: Unique identifier for the sub-job |
| example: my-sub-job-id |
| type: string |
| dmiServiceName: |
| description: Name of the relevant DMI Service |
| example: my-dmi-service |
| type: string |
| dataProducerId: |
| description: ID of the producer registered by DMI for the paths in the operations |
| in this request |
| example: my-data-producer-identifier |
| type: string |
| required: |
| - dataProducerId |
| - dmiServiceName |
| - subJobId |
| type: object |
| SubjobReadRequest_data_inner: |
| properties: |
| path: |
| description: Defines the resource on which operation is executed |
| example: SubNetwork=Europe/SubNetwork=Ireland/MeContext=NR03gNodeBRadio00003/ManagedElement=NR03gNodeBRadio00003 |
| type: string |
| op: |
| description: Describes the operation to execute |
| example: read |
| type: string |
| operationId: |
| description: Unique identifier for the operation within the request |
| example: "1" |
| type: string |
| attributes: |
| description: This parameter specifies the attributes of the scoped resources |
| that are returned |
| items: |
| example: cellId |
| type: string |
| type: array |
| fields: |
| description: This parameter specifies the attribute fields of the scoped |
| resources that are returned |
| items: |
| type: string |
| type: array |
| filter: |
| description: This parameter is used to filter the scoped Managed Objects. |
| Only Managed Objects passing the filter criteria will be fetched |
| example: NRCellDU/attributes/administrativeState==LOCKED |
| type: string |
| scopeType: |
| description: ScopeType selects MOs depending on relationships with Base |
| Managed Object |
| example: BASE_ONLY |
| type: string |
| scopeLevel: |
| description: Only used when the scope type is BASE_NTH_LEVEL to specify |
| amount of levels to search |
| example: 0 |
| type: integer |
| moduleSetTag: |
| description: Module set identifier |
| example: my-module-set-tag |
| type: string |
| cmHandleProperties: |
| description: Private properties of the cm handle for the given path |
| type: object |
| required: |
| - op |
| - path |
| type: object |
| SubjobWriteRequest_data_inner_value: |
| description: Value dependent on the op specified. Resource for an add. Object |
| for a replace. ActionParameters for an action. |
| oneOf: |
| - $ref: '#/components/schemas/Resource' |
| - $ref: '#/components/schemas/ActionParameters' |
| - $ref: '#/components/schemas/Object' |
| type: object |
| SubjobWriteRequest_data_inner: |
| properties: |
| path: |
| description: Defines the resource on which operation is executed |
| example: SubNetwork=Europe/SubNetwork=Ireland/MeContext=NR03gNodeBRadio00003/ManagedElement=NR03gNodeBRadio00003 |
| type: string |
| op: |
| description: Describes the operation to execute |
| example: add |
| type: string |
| operationId: |
| description: Unique identifier for the operation within the request |
| example: "1" |
| type: string |
| moduleSetTag: |
| description: Module set identifier |
| example: my-module-set-tag |
| type: string |
| cmHandleProperties: |
| description: Private properties of the cm handle for the given path |
| type: object |
| value: |
| $ref: '#/components/schemas/SubjobWriteRequest_data_inner_value' |
| required: |
| - op |
| - path |
| type: object |