Download DMI API from the newly moved OpenAPI files CPS 63/141263/1
authorsourabh_sourabh <sourabh.sourabh@est.tech>
Fri, 13 Jun 2025 13:11:39 +0000 (14:11 +0100)
committersourabh_sourabh <sourabh.sourabh@est.tech>
Fri, 13 Jun 2025 13:11:39 +0000 (14:11 +0100)
- Delete docs from docs folder in DMI
- Download files from CPS in pom.xml to perform code generation
- Stop copying files in pom.xml to the DMI doc folder
- Add downloaded OpenAPI files to .gitignore
- Change RTD to download files from CPS repo

Issue-ID: CPS-2815
Change-Id: I17bddd5235b0e333587730a38d9ed0d6e0cfcba7
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
.gitignore
dmi-service/openapi/components.yml [deleted file]
dmi-service/openapi/openapi-datajob.yml [deleted file]
dmi-service/openapi/openapi.yml [deleted file]
dmi-service/pom.xml
dmi-stub/pom.xml
docs/api/swagger/openapi-datajob.yaml [deleted file]
docs/api/swagger/openapi.yaml [deleted file]
docs/design.rst

index 4170caf..19fe1ad 100644 (file)
@@ -30,4 +30,4 @@ tmp/
 /__pycache__/*
 
 /docs/docs/
-/docs/.vscode/
\ No newline at end of file
+/docs/.vscode/
diff --git a/dmi-service/openapi/components.yml b/dmi-service/openapi/components.yml
deleted file mode 100644 (file)
index ba9fc45..0000000
+++ /dev/null
@@ -1,318 +0,0 @@
-#  ============LICENSE_START=======================================================
-#  Copyright (C) 2021-2023 Nordix Foundation
-#  Modifications Copyright (C) 2022 Bell Canada
-#  ================================================================================
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#        http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-#
-#  SPDX-License-Identifier: Apache-2.0
-#  ============LICENSE_END=========================================================
-
-components:
-  securitySchemes:
-    basicAuth:
-      type: http
-      scheme: basic
-  schemas:
-    ErrorMessage:
-      type: object
-      title: Error
-      properties:
-        status:
-          type: string
-        message:
-          type: string
-        details:
-          type: string
-
-    CmHandles:
-      type: object
-      properties:
-        cmHandles:
-          type: array
-          example: ["cmHandleId1","cmHandleId2","cmHandleId3"]
-          items:
-            type: string
-
-    ModuleReferencesRequest:
-      type: object
-      properties:
-        moduleSetTag:
-          type: string
-        cmHandleProperties:
-          $ref: '#/components/schemas/cmHandleProperties'
-
-    ResourceDataOperationRequests:
-      type: array
-      items:
-        type: object
-        title: 'DataOperationRequest'
-        properties:
-          operation:
-            type: string
-            example: 'read'
-          operationId:
-            description: 'it is recommended that the operationId is unique within the scope of the request'
-            type: string
-            example: '12'
-          datastore:
-            type: string
-            example: 'ncmp-datastore:passthrough-operational'
-          options:
-            type: string
-            example: '(fields=NRCellDU/attributes/cellLocalId)'
-          resourceIdentifier:
-            type: string
-            example: '/ManagedElement=NRNode1/GNBDUFunction=1'
-          cmHandles:
-            type: array
-            items:
-              $ref: '#/components/schemas/dmiOperationCmHandle'
-        required:
-          - operation
-          - operationId
-          - datastore
-          - cmHandles
-
-    dmiOperationCmHandle:
-      type: object
-      title: 'CmHandle with properties for DMI'
-      properties:
-        id:
-          type: string
-        cmHandleProperties:
-          additionalProperties:
-            type: string
-        moduleSetTag:
-          type: string
-          example: module-set-tag1
-      example:
-        id: cmHandle123
-        cmHandleProperties:
-          myProp: some value
-          otherProp: other value
-          moduleSetTag: module-set-tag1
-
-    ModuleResourcesReadRequest:
-      type: object
-      properties:
-        moduleSetTag:
-          type: string
-          description: Module set tag of the given cm handle
-          example: Module-set-tag-1
-          required: false
-        data:
-          type: object
-          properties:
-            modules:
-              type: array
-              items:
-                type: object
-                properties:
-                  name:
-                    type: string
-                    example: my-name
-                  revision:
-                    type: string
-                    example: my-revision
-        cmHandleProperties:
-          $ref: '#/components/schemas/cmHandleProperties'
-
-    ModuleSet:
-      type: object
-      properties:
-        schemas:
-          type: array
-          items:
-            type: object
-            properties:
-              moduleName:
-                type: string
-                example: my-module-name
-              revision:
-                type: string
-                example: my-revision
-              namespace:
-                type: string
-                example: my-namespace
-
-    YangResources:
-      type: array
-      items:
-        $ref: '#/components/schemas/YangResource'
-
-    YangResource:
-      properties:
-        yangSource:
-          type: string
-          example: my-yang-source
-        moduleName:
-          type: string
-          example: my-module-name
-        revision:
-          type: string
-          example: my-revision
-
-    DataAccessRequest:
-      type: object
-      properties:
-        operation:
-          type: string
-          enum: [ read, create, update, patch, delete ]
-          example: read
-        dataType:
-          type: string
-          example: my-data-type
-        data:
-          type: string
-          example: my-data
-        cmHandleProperties:
-          $ref: '#/components/schemas/cmHandleProperties'
-        requestId:
-          type: string
-          example: 3a9ce55c-e365-4dc9-8da3-a06f07cbc6d7
-        moduleSetTag:
-          type: string
-          example: module-set-tag1
-
-    cmHandleProperties:
-      type: object
-      nullable: true
-      additionalProperties:
-        type: string
-        example: {"prop1":"value1","prop2":"value2"}
-
-  responses:
-    NoContent:
-      description: No Content
-      content: {}
-
-    BadRequest:
-      description: Bad Request
-      content:
-        application/json:
-          schema:
-            $ref: '#/components/schemas/ErrorMessage'
-          example:
-            status: 400
-            message: Bad Request
-            details: The provided request is not valid
-
-    NotFound:
-      description: The specified resource was not found
-      content:
-        application/json:
-          schema:
-            $ref: '#/components/schemas/ErrorMessage'
-          example:
-            status: 404
-            message: Resource Not Found
-            details: The requested resource is not found
-
-    ServerError:
-      description: Internal Server Error
-      content:
-        application/json:
-          schema:
-            $ref: '#/components/schemas/ErrorMessage'
-          example:
-            status: 500
-            message: Internal Server Error
-            details: Internal Server Error occured
-
-    NotImplemented:
-      description: Not Implemented
-      content:
-        application/json:
-          schema:
-            $ref: '#/components/schemas/ErrorMessage'
-          example:
-            status: 501
-            message: Not Implemented
-            details: Method Not Implemented
-
-  parameters:
-    cmHandleInPath:
-      name: cmHandle
-      in: path
-      description: The CM handle or alternate identifier for a network function, network element, subnetwork, or any other CM object managed by Network CM Proxy
-      required: true
-      schema:
-        type: string
-        example: my-cm-handle
-
-    resourceIdentifierInQuery:
-      name: resourceIdentifier
-      in: query
-      description: Resource identifier to get/set the resource data
-      required: true
-      schema:
-        type: string
-        example: '/ManagedElement=NRNode1/GNBDUFunction=1'
-
-    optionsParamInQuery:
-      name: options
-      in: query
-      description: options parameter in query, it is mandatory to wrap key(s)=value(s) in parenthesis'()'.
-      required: false
-      schema:
-        type: string
-      examples:
-        sample1:
-          value:
-            options: (fields=NRCellDU/attributes/cellLocalId)
-
-    topicParamInQuery:
-      name: topic
-      in: query
-      description: topic name passed from client(NCMP).
-      required: false
-      schema:
-        type: string
-      examples:
-        sample1:
-          value: my-topic-name
-
-    requiredTopicParamInQuery:
-      name: topic
-      in: query
-      description: mandatory topic name passed from client(NCMP).
-      required: true
-      schema:
-        type: string
-      examples:
-        sample1:
-          value:
-            topic: my-topic-name
-
-    requiredRequestIdParamInQuery:
-      name: requestId
-      in: query
-      description: request ID generated by NCMP and is sent here and sent as an acknowledgement for the client request.
-      required: true
-      schema:
-        type: string
-      examples:
-        sample1:
-          value: 4753fc1f-7de2-449a-b306-a6204b5370b3
-
-    datastoreName:
-      name: datastore-name
-      in: path
-      description: The type of the requested data
-      required: true
-      schema:
-        type: string
-        example: ncmp-datastore:passthrough-operational or ncmp-datastore:passthrough-running
-
-security:
-  - basicAuth: []
diff --git a/dmi-service/openapi/openapi-datajob.yml b/dmi-service/openapi/openapi-datajob.yml
deleted file mode 100644 (file)
index 3b65716..0000000
+++ /dev/null
@@ -1,310 +0,0 @@
-#  ============LICENSE_START=======================================================
-#  Copyright (C) 2024-2025 OpenInfra Foundation Europe. All rights reserved.
-#  ================================================================================
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#        http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-#
-#  SPDX-License-Identifier: Apache-2.0
-#  ============LICENSE_END=========================================================
-
-openapi: 3.0.3
-info:
-  title: NCMP Data Subjob API
-  description: Support datajobs through one or more subjob for each DMI and Data Producer Identifier combination
-  version: "1.7.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:
-        - $ref: '#/components/parameters/destinationInQuery'
-      requestBody:
-        description: Operation body
-        content:
-          application/3gpp-json-patch+json:
-            schema:
-              $ref: '#/components/schemas/SubjobReadRequest'
-      tags:
-        - dmi-datajob
-      responses:
-        "501":
-          $ref: '#/components/responses/NotImplemented'
-  /v1/cmwriteJob:
-    post:
-      description: Create a write request
-      operationId: writeDataJob
-      parameters:
-        - $ref: '#/components/parameters/destinationInQuery'
-      requestBody:
-        description: Operation body
-        content:
-          application/3gpp-json-patch+json:
-            schema:
-              $ref: '#/components/schemas/SubjobWriteRequest'
-      tags:
-        - dmi-datajob
-      responses:
-        "501":
-          $ref: '#/components/responses/NotImplemented'
-  /v1/cmwriteJob/dataProducer/{dataProducerId}/dataProducerJob/{dataProducerJobId}/status:
-    get:
-      description: Retrieve the status of a specific data job.
-      operationId: getDataJobStatus
-      parameters:
-        - $ref: '#/components/parameters/dataProducerIdInPath'
-        - $ref: '#/components/parameters/dataProducerJobIdInPath'
-      tags:
-        - dmi-datajob
-      responses:
-        "501":
-          $ref: '#/components/responses/NotImplemented'
-  /v1/cmwriteJob/dataProducer/{dataProducerId}/dataProducerJob/{dataProducerJobId}/result:
-    get:
-      description: Retrieve the result of a data job.
-      operationId: getDataJobResult
-      parameters:
-        - $ref: '#/components/parameters/dataProducerIdInPath'
-        - $ref: '#/components/parameters/dataProducerJobIdInPath'
-        - $ref: '#/components/parameters/destinationInQuery'
-      tags:
-        - dmi-datajob
-      responses:
-        "501":
-          $ref: '#/components/responses/NotImplemented'
-
-components:
-  parameters:
-    requestIdInPath:
-      description: Identifier for the overall Datajob
-      in: path
-      name: requestId
-      required: true
-      schema:
-        example: some-identifier
-        type: string
-    dataProducerJobIdInPath:
-      description: Identifier for the data producer job
-      in: path
-      name: dataProducerJobId
-      required: true
-      schema:
-        example: some-producer-job-identifier
-        type: string
-    dataProducerIdInPath:
-      name: dataProducerId
-      in: path
-      description: Identifier for the data producer
-      required: true
-      schema:
-        type: string
-        example: some-data-producer-identifier
-    dataProducerIdInQuery:
-      name: dataProducerId
-      in: query
-      description: Identifier for the data producer
-      required: true
-      schema:
-        type: string
-        example: some-data-producer-identifier
-    destinationInQuery:
-      name: destination
-      in: query
-      description: The destination of the results (Kafka topic name or s3 bucket name)
-      required: true
-      schema:
-        type: string
-        example: some-destination
-  schemas:
-    ErrorMessage:
-      type: object
-      title: Error
-      properties:
-        status:
-          type: string
-        message:
-          type: string
-        details:
-          type: string
-    SubjobReadRequest:
-      type: object
-      required:
-        - dataProducerId
-        - data
-      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
-          type: array
-          items:
-            type: object
-            required:
-              - path
-              - op
-            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
-                type: array
-                items:
-                  example: cellId
-                  type: string
-              fields:
-                description: This parameter specifies the attribute fields of the scoped resources that are returned
-                type: array
-                items:
-                  type: string
-              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
-                $ref: '#/components/schemas/CmHandleProperties'
-    SubjobWriteRequest:
-      type: object
-      required:
-        - dataProducerId
-        - data
-      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
-          type: array
-          items:
-            type: object
-            required:
-              - path
-              - op
-            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
-                $ref: '#/components/schemas/CmHandleProperties'
-              value:
-                description: Value dependent on the op specified. Resource for an add. Object for a replace. ActionParameters for an action.
-                type: object
-                additionalProperties: true
-    CmHandleProperties:
-      description: Private properties of the cm handle for the given path
-      type: object
-    SubjobWriteResponse:
-      type: object
-      required:
-        - subJobId
-        - dmiServiceName
-        - dataProducerId
-      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
-  responses:
-    NotImplemented:
-      description: Not Implemented
-      content:
-        application/json:
-          schema:
-            $ref: '#/components/schemas/ErrorMessage'
-          example:
-            status: 501
-            message: Not Implemented
-            details: Method Not Implemented
diff --git a/dmi-service/openapi/openapi.yml b/dmi-service/openapi/openapi.yml
deleted file mode 100644 (file)
index 7bb381b..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-#  ============LICENSE_START=======================================================
-#  Copyright (C) 2021-2023 Nordix Foundation
-#  Modifications Copyright (C) 2022 Bell Canada
-#  ================================================================================
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#        http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-#
-#  SPDX-License-Identifier: Apache-2.0
-#  ============LICENSE_END=========================================================
-
-openapi: 3.0.1
-info:
-  title: NCMP DMI Plugin
-  description: Adds Data Model Inventory Registry capability for ONAP
-  version: "1.7.0"
-servers:
-  - url: /dmi
-tags:
-  - name: dmi-plugin-internal
-    description: DMI plugin internal rest apis
-  - name: dmi-plugin
-    description: DMI plugin rest apis
-
-
-paths:
-  /v1/ch/{cmHandle}/modules:
-    post:
-      tags:
-        - dmi-plugin
-      summary: Get all modules for cm handle
-      description: Get all modules for given cm handle
-      operationId: getModuleReferences
-      parameters:
-        - $ref: 'components.yml#/components/parameters/cmHandleInPath'
-      requestBody:
-        description: Operational body
-        content:
-          application/json:
-            schema:
-              $ref: 'components.yml#/components/schemas/ModuleReferencesRequest'
-      responses:
-        '200':
-          description: OK
-          content:
-            application/json:
-              schema:
-                $ref: 'components.yml#/components/schemas/ModuleSet'
-        '404':
-          $ref: 'components.yml#/components/responses/NotFound'
-        '500':
-          $ref: 'components.yml#/components/responses/ServerError'
-
-
-  /v1/ch/{cmHandle}/moduleResources:
-    post:
-      description: Retrieve module resources for one or more modules
-      tags:
-        - dmi-plugin
-      summary: Retrieve module resources
-      operationId: retrieveModuleResources
-      parameters:
-        - $ref: 'components.yml#/components/parameters/cmHandleInPath'
-      requestBody:
-        required: true
-        content:
-          application/json:
-            schema:
-              $ref: 'components.yml#/components/schemas/ModuleResourcesReadRequest'
-      responses:
-        '200':
-          description: OK
-          content:
-            application/json:
-              schema:
-                $ref: 'components.yml#/components/schemas/YangResources'
-        '404':
-          $ref: 'components.yml#/components/responses/NotFound'
-        '500':
-          $ref: 'components.yml#/components/responses/ServerError'
-
-  /v1/inventory/cmHandles:
-    post:
-      tags:
-        - dmi-plugin-internal
-      summary: register given list of cm handles (internal use only)
-      description: register given list of cm handles (internal use only)
-      x-api-audience: component-internal
-      operationId: registerCmHandles
-      requestBody:
-        description: list of cm handles
-        content:
-          application/json:
-            schema:
-                $ref: 'components.yml#/components/schemas/CmHandles'
-        required: true
-      responses:
-        '201':
-          description: Created
-          content:
-            text/plain:
-              schema:
-                type: string
-                example: cm-handle registered successfully
-        '400':
-          $ref: 'components.yml#/components/responses/BadRequest'
-        '500':
-          $ref: 'components.yml#/components/responses/ServerError'
-
-  /v1/ch/{cmHandle}/data/ds/{datastore-name}:
-    post:
-      tags:
-        - dmi-plugin
-      summary: Get resource data from passthrough operational or running for a cm handle
-      description: Get resource data from passthrough operational or running for a cm handle
-      operationId: dataAccessPassthrough
-      parameters:
-        - $ref: 'components.yml#/components/parameters/datastoreName'
-        - $ref: 'components.yml#/components/parameters/cmHandleInPath'
-        - $ref: 'components.yml#/components/parameters/resourceIdentifierInQuery'
-        - $ref: 'components.yml#/components/parameters/optionsParamInQuery'
-        - $ref: 'components.yml#/components/parameters/topicParamInQuery'
-      requestBody:
-        description: Contains collection of cm handles with it's private properties and requestId
-        content:
-          application/json:
-            schema:
-              $ref: 'components.yml#/components/schemas/DataAccessRequest'
-      responses:
-        '200':
-          description: OK
-          content:
-            application/json:
-              schema:
-                type: object
-                example:
-                  - yangSource: my-yang-source
-                    moduleName: my-module-name
-                    revision: my-revision
-        '400':
-          $ref: 'components.yml#/components/responses/BadRequest'
-        '500':
-          $ref: 'components.yml#/components/responses/ServerError'
-
-  /v1/data:
-    post:
-      tags:
-        - dmi-plugin
-      summary: Execute a data operation for group of CM handle references.
-      description: Execute a data operation for group of CM handle (IDs or alternate IDs) by supplied operation details
-      operationId: getResourceDataForCmHandleDataOperation
-      parameters:
-        - $ref: 'components.yml#/components/parameters/requiredTopicParamInQuery'
-        - $ref: 'components.yml#/components/parameters/requiredRequestIdParamInQuery'
-      requestBody:
-        description: list of operation details
-        content:
-          application/json:
-            schema:
-              $ref: 'components.yml#/components/schemas/ResourceDataOperationRequests'
-      responses:
-        '202':
-          description: Accepted
-        '400':
-          $ref: 'components.yml#/components/responses/BadRequest'
-        '500':
-          $ref: 'components.yml#/components/responses/ServerError'
-        '501':
-          $ref: 'components.yml#/components/responses/NotImplemented'
\ No newline at end of file
index a0bd954..487e958 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
   ============LICENSE_START=======================================================
-  Copyright (C) 2024 Nordix Foundation
+  Copyright (C) 2024-2025 OpenInfra Foundation Europe. All rights reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -44,7 +44,7 @@
         <gmavenplus.plugin.version>4.0.1</gmavenplus.plugin.version>
         <maven.deploy.plugin.version>3.1.2</maven.deploy.plugin.version>
         <maven.surefire.plugin.version>3.3.1</maven.surefire.plugin.version>
-        <openapi.generator.maven.plugin.version>6.6.0</openapi.generator.maven.plugin.version>
+        <openapi.generator.maven.plugin.version>7.12.0</openapi.generator.maven.plugin.version>
         <sonar.version>4.0.0.4121</sonar.version>
         <spring.boot.maven.plugin.version>3.4.4</spring.boot.maven.plugin.version>
         <spotbugs.maven.plugin.version>4.7.3.0</spotbugs.maven.plugin.version>
                             <goal>generate</goal>
                         </goals>
                         <configuration>
-                            <inputSpec>${project.basedir}/openapi/openapi.yml</inputSpec>
+                            <inputSpec>https://gerrit.onap.org/r/gitweb?p=cps.git;a=blob_plain;f=docs/api/swagger/dmi/openapi.yml</inputSpec>
                             <generatorName>spring</generatorName>
                             <generateSupportingFiles>false</generateSupportingFiles>
                             <invokerPackage>org.onap.cps.ncmp.dmi.rest.controller</invokerPackage>
                             <goal>generate</goal>
                         </goals>
                         <configuration>
-                            <inputSpec>${project.basedir}/openapi/openapi-datajob.yml</inputSpec>
+                            <inputSpec>https://gerrit.onap.org/r/gitweb?p=cps.git;a=blob_plain;f=docs/api/swagger/dmi/openapi-datajob.yml</inputSpec>
                             <generatorName>spring</generatorName>
                             <generateSupportingFiles>false</generateSupportingFiles>
                             <invokerPackage>org.onap.cps.ncmp.dmi.datajobs.rest.controller</invokerPackage>
                             </configOptions>
                         </configuration>
                     </execution>
-                    <execution>
-                        <id>openapi-yaml-gen</id>
-                        <goals>
-                            <goal>generate</goal>
-                        </goals>
-                        <phase>compile</phase>
-                        <configuration>
-                            <inputSpec>${project.basedir}/openapi/openapi.yml</inputSpec>
-                            <generatorName>openapi-yaml</generatorName>
-                            <configOptions>
-                                <outputFile>openapi/openapi.yaml</outputFile>
-                            </configOptions>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>openapi-datajob-yaml-gen</id>
-                        <goals>
-                            <goal>generate</goal>
-                        </goals>
-                        <phase>compile</phase>
-                        <configuration>
-                            <inputSpec>${project.basedir}/openapi/openapi-datajob.yml</inputSpec>
-                            <generatorName>openapi-yaml</generatorName>
-                            <configOptions>
-                                <outputFile>openapi/openapi-datajob.yaml</outputFile>
-                            </configOptions>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>${maven-resources-plugin.version}</version>
-                <executions>
-                    <execution>
-                        <id>copy-to-doc-folder</id>
-                        <phase>compile</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${project.basedir}/../docs/api/swagger</outputDirectory>
-                            <overwrite>true</overwrite>
-                            <resources>
-                                <resource>
-                                    <directory>${project.basedir}/target/generated-sources/openapi/openapi/</directory>
-                                    <includes>
-                                        <include>openapi.yaml</include>
-                                        <include>openapi-datajob.yaml</include>
-                                    </includes>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
                 </executions>
             </plugin>
             <plugin>
index ce6fd1e..8bccd39 100644 (file)
@@ -59,7 +59,7 @@
     <plugin>
         <groupId>org.openapitools</groupId>
         <artifactId>openapi-generator-maven-plugin</artifactId>
-        <version>6.6.0</version>
+        <version>7.12.0</version>
         <executions>
             <execution>
                 <id>code-gen</id>
@@ -67,7 +67,7 @@
                     <goal>generate</goal>
                 </goals>
                 <configuration>
-                    <inputSpec>${maven.multiModuleProjectDirectory}/dmi-service/openapi/openapi-datajob.yml</inputSpec>
+                    <inputSpec>https://gerrit.onap.org/r/gitweb?p=cps.git;a=blob_plain;f=docs/api/swagger/dmi/openapi-datajob.yml</inputSpec>
                     <modelPackage>org.onap.cps.ncmp.dmi.datajobs.model</modelPackage>
                     <apiPackage>org.onap.cps.ncmp.dmi.datajobs.rest.api</apiPackage>
                     <generatorName>spring</generatorName>
                     </configOptions>
                 </configuration>
             </execution>
-            <execution>
-                <id>openapi-yaml-gen</id>
-                <goals>
-                    <goal>generate</goal>
-                </goals>
-                <phase>compile</phase>
-                <configuration>
-                    <inputSpec>${maven.multiModuleProjectDirectory}/dmi-service/openapi/openapi-datajob.yml</inputSpec>
-                    <generatorName>openapi-yaml</generatorName>
-                    <configOptions>
-                        <outputFile>openapi-datajob.yaml</outputFile>
-                    </configOptions>
-                </configuration>
-            </execution>
         </executions>
     </plugin>
         <plugin>
diff --git a/docs/api/swagger/openapi-datajob.yaml b/docs/api/swagger/openapi-datajob.yaml
deleted file mode 100644 (file)
index 5b97e81..0000000
+++ /dev/null
@@ -1,406 +0,0 @@
-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.7.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)
-        explode: true
-        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)
-        explode: true
-        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)
-        explode: true
-        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
-      explode: true
-      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)
-      explode: true
-      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
-    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:
-      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:
-          additionalProperties: true
-          description: Value dependent on the op specified. Resource for an add. Object
-            for a replace. ActionParameters for an action.
-          type: object
-      required:
-      - op
-      - path
-      type: object
diff --git a/docs/api/swagger/openapi.yaml b/docs/api/swagger/openapi.yaml
deleted file mode 100644 (file)
index ef3ccae..0000000
+++ /dev/null
@@ -1,684 +0,0 @@
-openapi: 3.0.1
-info:
-  description: Adds Data Model Inventory Registry capability for ONAP
-  title: NCMP DMI Plugin
-  version: 1.7.0
-servers:
-- url: /dmi
-tags:
-- description: DMI plugin internal rest apis
-  name: dmi-plugin-internal
-- description: DMI plugin rest apis
-  name: dmi-plugin
-paths:
-  /v1/ch/{cmHandle}/modules:
-    post:
-      description: Get all modules for given cm handle
-      operationId: getModuleReferences
-      parameters:
-      - description: "The CM handle or alternate identifier for a network function,\
-          \ network element, subnetwork, or any other CM object managed by Network\
-          \ CM Proxy"
-        in: path
-        name: cmHandle
-        required: true
-        schema:
-          example: my-cm-handle
-          type: string
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/ModuleReferencesRequest'
-        description: Operational body
-      responses:
-        "200":
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ModuleSet'
-          description: OK
-        "404":
-          content:
-            application/json:
-              example:
-                status: 404
-                message: Resource Not Found
-                details: The requested resource is not found
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
-          description: The specified resource was not found
-        "500":
-          content:
-            application/json:
-              example:
-                status: 500
-                message: Internal Server Error
-                details: Internal Server Error occured
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
-          description: Internal Server Error
-      summary: Get all modules for cm handle
-      tags:
-      - dmi-plugin
-  /v1/ch/{cmHandle}/moduleResources:
-    post:
-      description: Retrieve module resources for one or more modules
-      operationId: retrieveModuleResources
-      parameters:
-      - description: "The CM handle or alternate identifier for a network function,\
-          \ network element, subnetwork, or any other CM object managed by Network\
-          \ CM Proxy"
-        in: path
-        name: cmHandle
-        required: true
-        schema:
-          example: my-cm-handle
-          type: string
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/ModuleResourcesReadRequest'
-        required: true
-      responses:
-        "200":
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/YangResources'
-          description: OK
-        "404":
-          content:
-            application/json:
-              example:
-                status: 404
-                message: Resource Not Found
-                details: The requested resource is not found
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
-          description: The specified resource was not found
-        "500":
-          content:
-            application/json:
-              example:
-                status: 500
-                message: Internal Server Error
-                details: Internal Server Error occured
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
-          description: Internal Server Error
-      summary: Retrieve module resources
-      tags:
-      - dmi-plugin
-  /v1/inventory/cmHandles:
-    post:
-      description: register given list of cm handles (internal use only)
-      operationId: registerCmHandles
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/CmHandles'
-        description: list of cm handles
-        required: true
-      responses:
-        "201":
-          content:
-            text/plain:
-              schema:
-                example: cm-handle registered successfully
-                type: string
-          description: Created
-        "400":
-          content:
-            application/json:
-              example:
-                status: 400
-                message: Bad Request
-                details: The provided request is not valid
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
-          description: Bad Request
-        "500":
-          content:
-            application/json:
-              example:
-                status: 500
-                message: Internal Server Error
-                details: Internal Server Error occured
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
-          description: Internal Server Error
-      summary: register given list of cm handles (internal use only)
-      tags:
-      - dmi-plugin-internal
-      x-api-audience: component-internal
-  /v1/ch/{cmHandle}/data/ds/{datastore-name}:
-    post:
-      description: Get resource data from passthrough operational or running for a
-        cm handle
-      operationId: dataAccessPassthrough
-      parameters:
-      - description: The type of the requested data
-        in: path
-        name: datastore-name
-        required: true
-        schema:
-          example: ncmp-datastore:passthrough-operational or ncmp-datastore:passthrough-running
-          type: string
-      - description: "The CM handle or alternate identifier for a network function,\
-          \ network element, subnetwork, or any other CM object managed by Network\
-          \ CM Proxy"
-        in: path
-        name: cmHandle
-        required: true
-        schema:
-          example: my-cm-handle
-          type: string
-      - description: Resource identifier to get/set the resource data
-        in: query
-        name: resourceIdentifier
-        required: true
-        schema:
-          example: /ManagedElement=NRNode1/GNBDUFunction=1
-          type: string
-      - description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
-          \ in parenthesis'()'."
-        examples:
-          sample1:
-            value:
-              options: (fields=NRCellDU/attributes/cellLocalId)
-        in: query
-        name: options
-        required: false
-        schema:
-          type: string
-      - description: topic name passed from client(NCMP).
-        examples:
-          sample1:
-            value: my-topic-name
-        in: query
-        name: topic
-        required: false
-        schema:
-          type: string
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/DataAccessRequest'
-        description: Contains collection of cm handles with it's private properties
-          and requestId
-      responses:
-        "200":
-          content:
-            application/json:
-              schema:
-                example:
-                - yangSource: my-yang-source
-                  moduleName: my-module-name
-                  revision: my-revision
-                type: object
-          description: OK
-        "400":
-          content:
-            application/json:
-              example:
-                status: 400
-                message: Bad Request
-                details: The provided request is not valid
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
-          description: Bad Request
-        "500":
-          content:
-            application/json:
-              example:
-                status: 500
-                message: Internal Server Error
-                details: Internal Server Error occured
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
-          description: Internal Server Error
-      summary: Get resource data from passthrough operational or running for a cm
-        handle
-      tags:
-      - dmi-plugin
-  /v1/data:
-    post:
-      description: Execute a data operation for group of CM handle (IDs or alternate
-        IDs) by supplied operation details
-      operationId: getResourceDataForCmHandleDataOperation
-      parameters:
-      - description: mandatory topic name passed from client(NCMP).
-        examples:
-          sample1:
-            value:
-              topic: my-topic-name
-        in: query
-        name: topic
-        required: true
-        schema:
-          type: string
-      - description: request ID generated by NCMP and is sent here and sent as an
-          acknowledgement for the client request.
-        examples:
-          sample1:
-            value: 4753fc1f-7de2-449a-b306-a6204b5370b3
-        in: query
-        name: requestId
-        required: true
-        schema:
-          type: string
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/ResourceDataOperationRequests'
-        description: list of operation details
-      responses:
-        "202":
-          description: Accepted
-        "400":
-          content:
-            application/json:
-              example:
-                status: 400
-                message: Bad Request
-                details: The provided request is not valid
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
-          description: Bad Request
-        "500":
-          content:
-            application/json:
-              example:
-                status: 500
-                message: Internal Server Error
-                details: Internal Server Error occured
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
-          description: Internal Server Error
-        "501":
-          content:
-            application/json:
-              example:
-                status: 501
-                message: Not Implemented
-                details: Method Not Implemented
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
-          description: Not Implemented
-      summary: Execute a data operation for group of CM handle references.
-      tags:
-      - dmi-plugin
-components:
-  parameters:
-    cmHandleInPath:
-      description: "The CM handle or alternate identifier for a network function,\
-        \ network element, subnetwork, or any other CM object managed by Network CM\
-        \ Proxy"
-      in: path
-      name: cmHandle
-      required: true
-      schema:
-        example: my-cm-handle
-        type: string
-    datastoreName:
-      description: The type of the requested data
-      in: path
-      name: datastore-name
-      required: true
-      schema:
-        example: ncmp-datastore:passthrough-operational or ncmp-datastore:passthrough-running
-        type: string
-    resourceIdentifierInQuery:
-      description: Resource identifier to get/set the resource data
-      in: query
-      name: resourceIdentifier
-      required: true
-      schema:
-        example: /ManagedElement=NRNode1/GNBDUFunction=1
-        type: string
-    optionsParamInQuery:
-      description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
-        \ in parenthesis'()'."
-      examples:
-        sample1:
-          value:
-            options: (fields=NRCellDU/attributes/cellLocalId)
-      in: query
-      name: options
-      required: false
-      schema:
-        type: string
-    topicParamInQuery:
-      description: topic name passed from client(NCMP).
-      examples:
-        sample1:
-          value: my-topic-name
-      in: query
-      name: topic
-      required: false
-      schema:
-        type: string
-    requiredTopicParamInQuery:
-      description: mandatory topic name passed from client(NCMP).
-      examples:
-        sample1:
-          value:
-            topic: my-topic-name
-      in: query
-      name: topic
-      required: true
-      schema:
-        type: string
-    requiredRequestIdParamInQuery:
-      description: request ID generated by NCMP and is sent here and sent as an acknowledgement
-        for the client request.
-      examples:
-        sample1:
-          value: 4753fc1f-7de2-449a-b306-a6204b5370b3
-      in: query
-      name: requestId
-      required: true
-      schema:
-        type: string
-  responses:
-    NotFound:
-      content:
-        application/json:
-          example:
-            status: 404
-            message: Resource Not Found
-            details: The requested resource is not found
-          schema:
-            $ref: '#/components/schemas/ErrorMessage'
-      description: The specified resource was not found
-    ServerError:
-      content:
-        application/json:
-          example:
-            status: 500
-            message: Internal Server Error
-            details: Internal Server Error occured
-          schema:
-            $ref: '#/components/schemas/ErrorMessage'
-      description: Internal Server Error
-    BadRequest:
-      content:
-        application/json:
-          example:
-            status: 400
-            message: Bad Request
-            details: The provided request is not valid
-          schema:
-            $ref: '#/components/schemas/ErrorMessage'
-      description: Bad Request
-    NotImplemented:
-      content:
-        application/json:
-          example:
-            status: 501
-            message: Not Implemented
-            details: Method Not Implemented
-          schema:
-            $ref: '#/components/schemas/ErrorMessage'
-      description: Not Implemented
-  schemas:
-    ModuleReferencesRequest:
-      example:
-        moduleSetTag: moduleSetTag
-        cmHandleProperties:
-          key: "{\"prop1\":\"value1\",\"prop2\":\"value2\"}"
-      properties:
-        moduleSetTag:
-          type: string
-        cmHandleProperties:
-          additionalProperties:
-            example: "{\"prop1\":\"value1\",\"prop2\":\"value2\"}"
-            type: string
-          nullable: true
-          type: object
-      type: object
-    cmHandleProperties:
-      additionalProperties:
-        example: "{\"prop1\":\"value1\",\"prop2\":\"value2\"}"
-        type: string
-      nullable: true
-      type: object
-    ModuleSet:
-      example:
-        schemas:
-        - moduleName: my-module-name
-          namespace: my-namespace
-          revision: my-revision
-        - moduleName: my-module-name
-          namespace: my-namespace
-          revision: my-revision
-      properties:
-        schemas:
-          items:
-            $ref: '#/components/schemas/ModuleSet_schemas_inner'
-          type: array
-      type: object
-    ErrorMessage:
-      properties:
-        status:
-          type: string
-        message:
-          type: string
-        details:
-          type: string
-      title: Error
-      type: object
-    ModuleResourcesReadRequest:
-      example:
-        data:
-          modules:
-          - name: my-name
-            revision: my-revision
-          - name: my-name
-            revision: my-revision
-        moduleSetTag: Module-set-tag-1
-        cmHandleProperties:
-          key: "{\"prop1\":\"value1\",\"prop2\":\"value2\"}"
-      properties:
-        moduleSetTag:
-          description: Module set tag of the given cm handle
-          example: Module-set-tag-1
-          type: string
-        data:
-          $ref: '#/components/schemas/ModuleResourcesReadRequest_data'
-        cmHandleProperties:
-          additionalProperties:
-            example: "{\"prop1\":\"value1\",\"prop2\":\"value2\"}"
-            type: string
-          nullable: true
-          type: object
-      type: object
-    YangResources:
-      items:
-        $ref: '#/components/schemas/YangResource'
-      type: array
-    YangResource:
-      example:
-        yangSource: my-yang-source
-        moduleName: my-module-name
-        revision: my-revision
-      properties:
-        yangSource:
-          example: my-yang-source
-          type: string
-        moduleName:
-          example: my-module-name
-          type: string
-        revision:
-          example: my-revision
-          type: string
-    CmHandles:
-      example:
-        cmHandles:
-        - cmHandleId1
-        - cmHandleId2
-        - cmHandleId3
-      properties:
-        cmHandles:
-          example:
-          - cmHandleId1
-          - cmHandleId2
-          - cmHandleId3
-          items:
-            type: string
-          type: array
-      type: object
-    DataAccessRequest:
-      example:
-        data: my-data
-        requestId: 3a9ce55c-e365-4dc9-8da3-a06f07cbc6d7
-        dataType: my-data-type
-        cmHandleProperties:
-          key: "{\"prop1\":\"value1\",\"prop2\":\"value2\"}"
-        moduleSetTag: module-set-tag1
-        operation: read
-      properties:
-        operation:
-          enum:
-          - read
-          - create
-          - update
-          - patch
-          - delete
-          example: read
-          type: string
-        dataType:
-          example: my-data-type
-          type: string
-        data:
-          example: my-data
-          type: string
-        cmHandleProperties:
-          additionalProperties:
-            example: "{\"prop1\":\"value1\",\"prop2\":\"value2\"}"
-            type: string
-          nullable: true
-          type: object
-        requestId:
-          example: 3a9ce55c-e365-4dc9-8da3-a06f07cbc6d7
-          type: string
-        moduleSetTag:
-          example: module-set-tag1
-          type: string
-      type: object
-    ResourceDataOperationRequests:
-      items:
-        $ref: '#/components/schemas/DataOperationRequest'
-      type: array
-    dmiOperationCmHandle:
-      example:
-        id: cmHandle123
-        cmHandleProperties:
-          myProp: some value
-          otherProp: other value
-          moduleSetTag: module-set-tag1
-      properties:
-        id:
-          type: string
-        cmHandleProperties:
-          additionalProperties:
-            type: string
-          type: object
-        moduleSetTag:
-          example: module-set-tag1
-          type: string
-      title: CmHandle with properties for DMI
-      type: object
-    ModuleSet_schemas_inner:
-      example:
-        moduleName: my-module-name
-        namespace: my-namespace
-        revision: my-revision
-      properties:
-        moduleName:
-          example: my-module-name
-          type: string
-        revision:
-          example: my-revision
-          type: string
-        namespace:
-          example: my-namespace
-          type: string
-      type: object
-    ModuleResourcesReadRequest_data_modules_inner:
-      example:
-        name: my-name
-        revision: my-revision
-      properties:
-        name:
-          example: my-name
-          type: string
-        revision:
-          example: my-revision
-          type: string
-      type: object
-    ModuleResourcesReadRequest_data:
-      example:
-        modules:
-        - name: my-name
-          revision: my-revision
-        - name: my-name
-          revision: my-revision
-      properties:
-        modules:
-          items:
-            $ref: '#/components/schemas/ModuleResourcesReadRequest_data_modules_inner'
-          type: array
-      type: object
-    DataOperationRequest:
-      example:
-        resourceIdentifier: /ManagedElement=NRNode1/GNBDUFunction=1
-        datastore: ncmp-datastore:passthrough-operational
-        options: (fields=NRCellDU/attributes/cellLocalId)
-        operationId: "12"
-        cmHandles:
-        - id: cmHandle123
-          cmHandleProperties:
-            myProp: some value
-            otherProp: other value
-            moduleSetTag: module-set-tag1
-        - id: cmHandle123
-          cmHandleProperties:
-            myProp: some value
-            otherProp: other value
-            moduleSetTag: module-set-tag1
-        operation: read
-      properties:
-        operation:
-          example: read
-          type: string
-        operationId:
-          description: it is recommended that the operationId is unique within the
-            scope of the request
-          example: "12"
-          type: string
-        datastore:
-          example: ncmp-datastore:passthrough-operational
-          type: string
-        options:
-          example: (fields=NRCellDU/attributes/cellLocalId)
-          type: string
-        resourceIdentifier:
-          example: /ManagedElement=NRNode1/GNBDUFunction=1
-          type: string
-        cmHandles:
-          items:
-            $ref: '#/components/schemas/dmiOperationCmHandle'
-          type: array
-      required:
-      - cmHandles
-      - datastore
-      - operation
-      - operationId
-      title: DataOperationRequest
-      type: object
index dd1472c..92975cc 100644 (file)
@@ -1,6 +1,6 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
 .. http://creativecommons.org/licenses/by/4.0
-.. Copyright (C) 2021-2024 Nordix Foundation
+.. Copyright (C) 2021-2025 OpenInfra Foundation Europe. All rights reserved.
 
 .. DO NOT CHANGE THIS LABEL FOR RELEASE NOTES - EVEN THOUGH IT GIVES A WARNING
 .. _design:
@@ -17,9 +17,9 @@ Offered APIs
 
 The DMI-Plugin supports the public APIs listed in the link below:
 
-:download:`DMI Rest OpenApi Specification <api/swagger/openapi.yaml>`
+:download:`DMI Rest OpenApi Specification <https://gerrit.onap.org/r/gitweb?p=cps.git;a=blob_plain;f=docs/api/swagger/dmi/openapi.yml>`
 
-:download:`DMI Datajob OpenApi Specification <api/swagger/openapi-datajob.yaml>`
+:download:`DMI Datajob OpenApi Specification <https://gerrit.onap.org/r/gitweb?p=cps.git;a=blob_plain;f=docs/api/swagger/dmi/openapi-datajob.yml>`
 
 View Offered APIs
 -----------------