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