From b0ee038f860283d877b1590111b07016098e1777 Mon Sep 17 00:00:00 2001 From: egernug Date: Wed, 17 Apr 2024 10:08:38 +0100 Subject: Define DMI REST interface for Datajobs Define new REST interface : Method: POST Path: /dmi/v1/dataJob/{requestId} New Interface DMI-I-02 Issue-ID: CPS-2141 Change-Id: I46ddbc4b179fcdfc3396d4044aa201dc7f503918 Signed-off-by: egernug --- docs/api/swagger/openapi-datajob.yaml | 214 ++++++++++++++++++++++++++++++++++ 1 file changed, 214 insertions(+) create mode 100644 docs/api/swagger/openapi-datajob.yaml (limited to 'docs/api/swagger/openapi-datajob.yaml') diff --git a/docs/api/swagger/openapi-datajob.yaml b/docs/api/swagger/openapi-datajob.yaml new file mode 100644 index 00000000..04a5bf1d --- /dev/null +++ b/docs/api/swagger/openapi-datajob.yaml @@ -0,0 +1,214 @@ +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/dataJob/{requestId}: + post: + description: Create a read request + operationId: createReadRequest + parameters: + - description: Identifier for the overall Datajob + explode: false + in: path + name: requestId + required: true + schema: + example: some-identifier + type: string + style: simple + requestBody: + content: + application/3gpp-json-patch+json: + schema: + $ref: '#/components/schemas/SubjobRequest' + description: Operation body + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/createReadRequest_200_response' + description: Response for subjob + 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 + schemas: + SubjobRequest: + 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: + $ref: '#/components/schemas/SubjobRequest_data' + required: + - data + - dataProducerId + type: object + ReadOperation: + 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/ReadOperation_inner' + type: array + WriteOperation: + 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/WriteOperation_inner' + type: array + 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 + createReadRequest_200_response: + example: + dataProducerJobId: dataProducerJobId + properties: + dataProducerJobId: + description: The data job ID. + type: string + type: object + SubjobRequest_data: + oneOf: + - $ref: '#/components/schemas/ReadOperation' + - $ref: '#/components/schemas/WriteOperation' + ReadOperation_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 + WriteOperation_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 + WriteOperation_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 + value: + $ref: '#/components/schemas/WriteOperation_inner_value' + required: + - op + - path + type: object -- cgit 1.2.3-korg