openapi.yaml should not be modified when the application is compiled revert 47/124447/1
authorDylanB95EST <dylan.byrne@est.tech>
Thu, 23 Sep 2021 11:22:55 +0000 (12:22 +0100)
committerDylanB95EST <dylan.byrne@est.tech>
Thu, 23 Sep 2021 11:23:03 +0000 (12:23 +0100)
Revert changes made to bug raised in CPS-674.
Files will now need to be added manually as part of the release process.
Extra step has been added here
https://wiki.onap.org/display/DW/CPS+Release+Process

Issue-ID: CPS-674
Change-Id: I3da6ca7aa8154c379d3f1c3b042b4c096275ca62
Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
.gitignore
docs/api/swagger/cps/openapi.yaml [new file with mode: 0644]
docs/api/swagger/ncmp/openapi.yaml [new file with mode: 0644]
pom.xml

index cafc7a1..3c5994f 100755 (executable)
@@ -7,8 +7,6 @@
 cps-application/archunit_store
 target/
 log/
-docs/api/swagger/cps/openapi.yaml
-docs/api/swagger/ncmp/openapi.yaml
 
 .idea/
 .idea_modules/
diff --git a/docs/api/swagger/cps/openapi.yaml b/docs/api/swagger/cps/openapi.yaml
new file mode 100644 (file)
index 0000000..fb219eb
--- /dev/null
@@ -0,0 +1,987 @@
+openapi: 3.0.1
+info:
+  title: ONAP Open API v3 Configuration Persistence Service
+  description: Configuration Persistence Service is a Model Driven Generic Database
+  contact:
+    name: ONAP
+    url: https://onap.readthedocs.io
+    email: onap-discuss@lists.onap.org
+  license:
+    name: Apache 2.0
+    url: http://www.apache.org/licenses/LICENSE-2.0
+  version: 1.0.0
+  x-planned-retirement-date: "202212"
+  x-component: Modeling
+  x-logo:
+    url: cps_logo.png
+servers:
+- url: /cps/api
+tags:
+- name: cps-admin
+  description: cps Admin
+- name: cps-data
+  description: cps Data
+paths:
+  /v1/dataspaces:
+    post:
+      tags:
+      - cps-admin
+      summary: Create a dataspace
+      description: Create a new dataspace
+      operationId: createDataspace
+      parameters:
+      - name: dataspace-name
+        in: query
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      responses:
+        "201":
+          description: Created
+          content:
+            text/plain:
+              schema:
+                type: string
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+  /v1/dataspaces/{dataspace-name}/anchors:
+    get:
+      tags:
+      - cps-admin
+      summary: Get anchors
+      description: "Read all anchors, given a dataspace"
+      operationId: getAnchors
+      parameters:
+      - name: dataspace-name
+        in: path
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/AnchorDetails'
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+    post:
+      tags:
+      - cps-admin
+      summary: Create an anchor
+      description: Create a new anchor in the given dataspace
+      operationId: createAnchor
+      parameters:
+      - name: dataspace-name
+        in: path
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      - name: schema-set-name
+        in: query
+        description: schema-set-name
+        required: true
+        schema:
+          type: string
+      - name: anchor-name
+        in: query
+        description: anchor-name
+        required: true
+        schema:
+          type: string
+      responses:
+        "201":
+          description: Created
+          content:
+            text/plain:
+              schema:
+                type: string
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}:
+    get:
+      tags:
+      - cps-admin
+      summary: Get an anchor
+      description: Read an anchor given an anchor name and a dataspace
+      operationId: getAnchor
+      parameters:
+      - name: dataspace-name
+        in: path
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      - name: anchor-name
+        in: path
+        description: anchor-name
+        required: true
+        schema:
+          type: string
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/AnchorDetails'
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+    delete:
+      tags:
+      - cps-admin
+      summary: Delete an anchor
+      description: Delete an anchor given an anchor name and a dataspace
+      operationId: deleteAnchor
+      parameters:
+      - name: dataspace-name
+        in: path
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      - name: anchor-name
+        in: path
+        description: anchor-name
+        required: true
+        schema:
+          type: string
+      responses:
+        "204":
+          description: No Content
+          content: {}
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+  /v1/dataspaces/{dataspace-name}/schema-sets:
+    post:
+      tags:
+      - cps-admin
+      summary: Create a schema set
+      description: Create a new schema set in the given dataspace
+      operationId: createSchemaSet
+      parameters:
+      - name: dataspace-name
+        in: path
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      - name: schema-set-name
+        in: query
+        description: schema-set-name
+        required: true
+        schema:
+          type: string
+      requestBody:
+        content:
+          multipart/form-data:
+            schema:
+              $ref: '#/components/schemas/MultipartFile'
+        required: true
+      responses:
+        "201":
+          description: Created
+          content:
+            text/plain:
+              schema:
+                type: string
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+  /v1/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}:
+    get:
+      tags:
+      - cps-admin
+      summary: Get a schema set
+      description: Read a schema set given a schema set name and a dataspace
+      operationId: getSchemaSet
+      parameters:
+      - name: dataspace-name
+        in: path
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      - name: schema-set-name
+        in: path
+        description: schema-set-name
+        required: true
+        schema:
+          type: string
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/SchemaSetDetails'
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+    delete:
+      tags:
+      - cps-admin
+      summary: Delete a schema set
+      description: Delete a schema set given a schema set name and a dataspace
+      operationId: deleteSchemaSet
+      parameters:
+      - name: dataspace-name
+        in: path
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      - name: schema-set-name
+        in: path
+        description: schema-set-name
+        required: true
+        schema:
+          type: string
+      responses:
+        "204":
+          description: No Content
+          content: {}
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "409":
+          description: Conflict
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/node:
+    get:
+      tags:
+      - cps-data
+      summary: Get a node
+      description: Get a node with an option to retrieve all the children for a given
+        anchor and dataspace
+      operationId: getNodeByDataspaceAndAnchor
+      parameters:
+      - name: dataspace-name
+        in: path
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      - name: anchor-name
+        in: path
+        description: anchor-name
+        required: true
+        schema:
+          type: string
+      - name: xpath
+        in: query
+        description: xpath
+        required: false
+        schema:
+          type: string
+          default: /
+      - name: include-descendants
+        in: query
+        description: include-descendants
+        required: false
+        schema:
+          type: boolean
+          default: false
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: object
+              example:
+                child: my_child
+                leafList: "leafListElement1, leafListElement2"
+                leaf: my_leaf
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+      x-codegen-request-body-name: xpath
+  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes:
+    put:
+      tags:
+      - cps-data
+      summary: Replace a node with descendants
+      description: "Replace a node with descendants for a given dataspace, anchor\
+        \ and a parent node xpath"
+      operationId: replaceNode
+      parameters:
+      - name: dataspace-name
+        in: path
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      - name: anchor-name
+        in: path
+        description: anchor-name
+        required: true
+        schema:
+          type: string
+      - name: xpath
+        in: query
+        description: xpath
+        required: false
+        schema:
+          type: string
+          default: /
+      - name: observed-timestamp
+        in: query
+        description: observed-timestamp
+        required: false
+        schema:
+          type: string
+          example: 2021-03-21T00:10:34.030-0100
+      requestBody:
+        content:
+          application/json:
+            schema:
+              type: string
+        required: true
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: object
+              example:
+                key: value
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+    post:
+      tags:
+      - cps-data
+      summary: Create a node
+      description: Create a node for a given anchor and dataspace
+      operationId: createNode
+      parameters:
+      - name: dataspace-name
+        in: path
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      - name: anchor-name
+        in: path
+        description: anchor-name
+        required: true
+        schema:
+          type: string
+      - name: xpath
+        in: query
+        description: xpath
+        required: false
+        schema:
+          type: string
+          default: /
+      - name: observed-timestamp
+        in: query
+        description: observed-timestamp
+        required: false
+        schema:
+          type: string
+          example: 2021-03-21T00:10:34.030-0100
+      requestBody:
+        content:
+          application/json:
+            schema:
+              type: string
+        required: true
+      responses:
+        "201":
+          description: Created
+          content:
+            text/plain:
+              schema:
+                type: string
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+    patch:
+      tags:
+      - cps-data
+      summary: Update node leaves
+      description: Update a data node leaves for a given dataspace and anchor and
+        a parent node xpath
+      operationId: updateNodeLeaves
+      parameters:
+      - name: dataspace-name
+        in: path
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      - name: anchor-name
+        in: path
+        description: anchor-name
+        required: true
+        schema:
+          type: string
+      - name: xpath
+        in: query
+        description: xpath
+        required: false
+        schema:
+          type: string
+          default: /
+      - name: observed-timestamp
+        in: query
+        description: observed-timestamp
+        required: false
+        schema:
+          type: string
+          example: 2021-03-21T00:10:34.030-0100
+      requestBody:
+        content:
+          application/json:
+            schema:
+              type: string
+        required: true
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: object
+              example:
+                key: value
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes:
+    put:
+      tags:
+      - cps-data
+      summary: Replace list-node child element(s) under existing parent node
+      description: Replace list-node child elements under existing node for a given
+        anchor and dataspace
+      operationId: replaceListNodeElements
+      parameters:
+      - name: dataspace-name
+        in: path
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      - name: anchor-name
+        in: path
+        description: anchor-name
+        required: true
+        schema:
+          type: string
+      - name: xpath
+        in: query
+        description: xpath
+        required: true
+        schema:
+          type: string
+      - name: observed-timestamp
+        in: query
+        description: observed-timestamp
+        required: false
+        schema:
+          type: string
+          example: 2021-03-21T00:10:34.030-0100
+      requestBody:
+        content:
+          application/json:
+            schema:
+              type: string
+        required: true
+      responses:
+        "200":
+          description: Created
+          content:
+            text/plain:
+              schema:
+                type: string
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+    post:
+      tags:
+      - cps-data
+      summary: Add list-node child element(s) under existing parent node
+      description: Add list-node child elements to existing node for a given anchor
+        and dataspace
+      operationId: addListNodeElements
+      parameters:
+      - name: dataspace-name
+        in: path
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      - name: anchor-name
+        in: path
+        description: anchor-name
+        required: true
+        schema:
+          type: string
+      - name: xpath
+        in: query
+        description: xpath
+        required: true
+        schema:
+          type: string
+      - name: observed-timestamp
+        in: query
+        description: observed-timestamp
+        required: false
+        schema:
+          type: string
+          example: 2021-03-21T00:10:34.030-0100
+      requestBody:
+        content:
+          application/json:
+            schema:
+              type: string
+        required: true
+      responses:
+        "201":
+          description: Created
+          content:
+            text/plain:
+              schema:
+                type: string
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+    delete:
+      tags:
+      - cps-data
+      summary: Delete list-node child element(s) under existing parent node
+      description: Delete list-node child elements under existing node for a given
+        anchor and dataspace
+      operationId: deleteListNodeElements
+      parameters:
+      - name: dataspace-name
+        in: path
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      - name: anchor-name
+        in: path
+        description: anchor-name
+        required: true
+        schema:
+          type: string
+      - name: xpath
+        in: query
+        description: xpath
+        required: true
+        schema:
+          type: string
+      - name: observed-timestamp
+        in: query
+        description: observed-timestamp
+        required: false
+        schema:
+          type: string
+          example: 2021-03-21T00:10:34.030-0100
+      responses:
+        "204":
+          description: No Content
+          content: {}
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query:
+    get:
+      tags:
+      - cps-query
+      summary: Query data nodes
+      description: Query data nodes for the given dataspace and anchor using CPS path
+      operationId: getNodesByDataspaceAndAnchorAndCpsPath
+      parameters:
+      - name: dataspace-name
+        in: path
+        description: dataspace-name
+        required: true
+        schema:
+          type: string
+      - name: anchor-name
+        in: path
+        description: anchor-name
+        required: true
+        schema:
+          type: string
+      - name: cps-path
+        in: query
+        description: cps-path
+        required: false
+        schema:
+          type: string
+          default: /
+      - name: include-descendants
+        in: query
+        description: include-descendants
+        required: false
+        schema:
+          type: boolean
+          default: false
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: object
+              example:
+                key: value
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+      x-codegen-request-body-name: xpath
+components:
+  schemas:
+    ErrorMessage:
+      title: Error
+      type: object
+      properties:
+        status:
+          type: string
+          example: "400"
+        message:
+          type: string
+          example: Dataspace not found
+        details:
+          type: string
+          example: Dataspace with name D1 does not exist.
+    AnchorDetails:
+      title: Anchor details by anchor Name
+      type: object
+      properties:
+        name:
+          type: string
+          example: my_anchor
+        dataspaceName:
+          type: string
+          example: my_dataspace
+        schemaSetName:
+          type: string
+          example: my_schema_set
+    MultipartFile:
+      required:
+      - file
+      type: object
+      properties:
+        file:
+          type: string
+          description: multipartFile
+          format: binary
+    SchemaSetDetails:
+      title: Schema set details by dataspace and schemasetName
+      type: object
+      properties:
+        dataspaceName:
+          type: string
+          example: my_dataspace
+        moduleReferences:
+          type: array
+          items:
+            $ref: '#/components/schemas/ModuleReferences'
+        name:
+          type: string
+          example: my_schema_set
+    ModuleReferences:
+      title: Module reference object
+      type: object
+      properties:
+        name:
+          type: string
+          example: module_reference_name
+        namespace:
+          type: string
+          example: module_reference_namespace
+        revision:
+          type: string
+          example: module_reference_revision
diff --git a/docs/api/swagger/ncmp/openapi.yaml b/docs/api/swagger/ncmp/openapi.yaml
new file mode 100644 (file)
index 0000000..cbe371b
--- /dev/null
@@ -0,0 +1,706 @@
+openapi: 3.0.1
+info:
+  title: NCMP to CPS Proxy API
+  description: NCMP to CPS Proxy API
+  version: "1.0"
+servers:
+- url: /ncmp
+paths:
+  /v1/cm-handles/{cm-handle}/node:
+    get:
+      tags:
+      - network-cm-proxy
+      summary: Get a node given a cm Handle and xpath
+      description: Get a node with an option to retrieve all the children for a given
+        cm Handle
+      operationId: getNodeByCmHandleAndXpath
+      parameters:
+      - name: cm-handle
+        in: path
+        description: "The identifier for a network function, network element, subnetwork\
+          \ or any other cm object by managed Network CM Proxy"
+        required: true
+        schema:
+          type: string
+      - name: xpath
+        in: query
+        description: xpath
+        required: false
+        schema:
+          type: string
+          default: /
+      - name: include-descendants
+        in: query
+        description: include-descendants
+        required: false
+        schema:
+          type: boolean
+          default: false
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: object
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+      deprecated: true
+  /v1/cm-handles/{cm-handle}/list-node:
+    post:
+      tags:
+      - network-cm-proxy
+      summary: Add list-node child element(s)
+      description: Add one or more list-node child elements under existing node for
+        the given CM Handle
+      operationId: addListNodeElements
+      parameters:
+      - name: cm-handle
+        in: path
+        description: "The identifier for a network function, network element, subnetwork\
+          \ or any other cm object by managed Network CM Proxy"
+        required: true
+        schema:
+          type: string
+      - name: xpath
+        in: query
+        description: xpath
+        required: true
+        schema:
+          type: string
+      requestBody:
+        content:
+          application/json:
+            schema:
+              type: string
+        required: true
+      responses:
+        "201":
+          description: Created
+          content: {}
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+      deprecated: true
+  /v1/cm-handles/{cm-handle}/nodes/query:
+    get:
+      tags:
+      - network-cm-proxy
+      summary: Query data nodes
+      description: Query nodes for the given cps path and cm Handle
+      operationId: queryNodesByCmHandleAndCpsPath
+      parameters:
+      - name: cm-handle
+        in: path
+        description: "The identifier for a network function, network element, subnetwork\
+          \ or any other cm object by managed Network CM Proxy"
+        required: true
+        schema:
+          type: string
+      - name: cps-path
+        in: query
+        description: cps-path
+        required: false
+        schema:
+          type: string
+          default: /
+      - name: include-descendants
+        in: query
+        description: include-descendants
+        required: false
+        schema:
+          type: boolean
+          default: false
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: object
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+      deprecated: true
+  /v1/cm-handles/{cm-handle}/nodes:
+    put:
+      tags:
+      - network-cm-proxy
+      summary: Replace a node with descendants
+      description: Replace a node with descendants for the given cps path and cm Handle
+      operationId: replaceNode
+      parameters:
+      - name: cm-handle
+        in: path
+        description: "The identifier for a network function, network element, subnetwork\
+          \ or any other cm object by managed Network CM Proxy"
+        required: true
+        schema:
+          type: string
+      - name: xpath
+        in: query
+        description: xpath
+        required: false
+        schema:
+          type: string
+          default: /
+      requestBody:
+        content:
+          application/json:
+            schema:
+              type: string
+        required: true
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: object
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+      deprecated: true
+    post:
+      tags:
+      - network-cm-proxy
+      summary: Create a node with descendants
+      description: Create a node with descendants for the given CM Handle; top level
+        or under existing node (requires xpath)
+      operationId: createNode
+      parameters:
+      - name: cm-handle
+        in: path
+        description: "The identifier for a network function, network element, subnetwork\
+          \ or any other cm object by managed Network CM Proxy"
+        required: true
+        schema:
+          type: string
+      - name: xpath
+        in: query
+        description: xpath
+        required: false
+        schema:
+          type: string
+          default: /
+      requestBody:
+        content:
+          application/json:
+            schema:
+              type: string
+        required: true
+      responses:
+        "201":
+          description: Created
+          content: {}
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+      deprecated: true
+    patch:
+      tags:
+      - network-cm-proxy
+      summary: Update node leaves
+      description: Update node leaves for the given cps path and cm Handle
+      operationId: updateNodeLeaves
+      parameters:
+      - name: cm-handle
+        in: path
+        description: "The identifier for a network function, network element, subnetwork\
+          \ or any other cm object by managed Network CM Proxy"
+        required: true
+        schema:
+          type: string
+      - name: xpath
+        in: query
+        description: xpath
+        required: false
+        schema:
+          type: string
+          default: /
+      requestBody:
+        content:
+          application/json:
+            schema:
+              type: string
+        required: true
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: object
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+      deprecated: true
+  /v1/ch:
+    post:
+      tags:
+      - network-cm-proxy
+      summary: DMI notifies NCMP of new CM Handles
+      description: "Register a DMI Plugin with any new, updated or removed CM Handles."
+      operationId: updateDmiPluginRegistration
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/RestDmiPluginRegistration'
+        required: true
+      responses:
+        "201":
+          description: Created
+          content: {}
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+  /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-operational/{resourceIdentifier}:
+    get:
+      tags:
+      - network-cm-proxy
+      summary: Get resource data from pass-through operational for cm handle
+      description: Get resource data from pass-through operational for given cm handle
+      operationId: getResourceDataOperationalForCmHandle
+      parameters:
+      - name: cm-handle
+        in: path
+        description: "The identifier for a network function, network element, subnetwork\
+          \ or any other cm object by managed Network CM Proxy"
+        required: true
+        schema:
+          type: string
+      - name: resourceIdentifier
+        in: path
+        description: Resource identifier to get/set the resource data
+        required: true
+        schema:
+          type: string
+      - name: Accept
+        in: header
+        description: "Accept parameter for response, if accept parameter is null,\
+          \ that means client can accept any format."
+        required: false
+        schema:
+          type: string
+          enum:
+          - application/json
+          - application/yang-data+json
+      - name: fields
+        in: query
+        description: Fields parameter to filter resource
+        required: false
+        schema:
+          type: string
+      - name: depth
+        in: query
+        description: Depth parameter for response
+        required: false
+        schema:
+          minimum: 1
+          type: integer
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: object
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+  /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-running/{resourceIdentifier}:
+    get:
+      tags:
+      - network-cm-proxy
+      summary: Get resource data from pass-through running for cm handle
+      description: Get resource data from pass-through running for given cm handle
+      operationId: getResourceDataRunningForCmHandle
+      parameters:
+      - name: cm-handle
+        in: path
+        description: "The identifier for a network function, network element, subnetwork\
+          \ or any other cm object by managed Network CM Proxy"
+        required: true
+        schema:
+          type: string
+      - name: resourceIdentifier
+        in: path
+        description: Resource identifier to get/set the resource data
+        required: true
+        schema:
+          type: string
+      - name: Accept
+        in: header
+        description: "Accept parameter for response, if accept parameter is null,\
+          \ that means client can accept any format."
+        required: false
+        schema:
+          type: string
+          enum:
+          - application/json
+          - application/yang-data+json
+      - name: fields
+        in: query
+        description: Fields parameter to filter resource
+        required: false
+        schema:
+          type: string
+      - name: depth
+        in: query
+        description: Depth parameter for response
+        required: false
+        schema:
+          minimum: 1
+          type: integer
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: object
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+    post:
+      tags:
+      - network-cm-proxy
+      summary: create resource data from pass-through running for cm handle
+      description: create resource data from pass-through running for given cm handle
+      operationId: createResourceDataRunningForCmHandle
+      parameters:
+      - name: cm-handle
+        in: path
+        description: "The identifier for a network function, network element, subnetwork\
+          \ or any other cm object by managed Network CM Proxy"
+        required: true
+        schema:
+          type: string
+      - name: resourceIdentifier
+        in: path
+        description: Resource identifier to get/set the resource data
+        required: true
+        schema:
+          type: string
+      - name: Content-Type
+        in: header
+        description: "Content parameter for request, if content parameter is null,\
+          \ default value is application/json."
+        required: false
+        schema:
+          type: string
+          default: application/json
+      requestBody:
+        content:
+          application/json:
+            schema:
+              type: string
+          application/yang-data+json:
+            schema:
+              type: string
+        required: true
+      responses:
+        "201":
+          description: Created
+          content: {}
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+  /v1/ch/{cm-handle}/modules:
+    get:
+      tags:
+      - network-cm-proxy
+      summary: Fetch all module references (name and revision) for a given cm handle
+      description: fetch all module references (name and revision) for a given cm
+        handle
+      operationId: getModuleReferencesByCmHandle
+      parameters:
+      - name: cm-handle
+        in: path
+        description: "The identifier for a network function, network element, subnetwork\
+          \ or any other cm object by managed Network CM Proxy"
+        required: true
+        schema:
+          type: string
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: object
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+components:
+  schemas:
+    ErrorMessage:
+      title: Error
+      type: object
+      properties:
+        status:
+          type: string
+        message:
+          type: string
+        details:
+          type: string
+    RestDmiPluginRegistration:
+      type: object
+      properties:
+        dmiPlugin:
+          type: string
+          example: onap-dmi-plugin
+        createdCmHandles:
+          type: array
+          items:
+            $ref: '#/components/schemas/RestCmHandle'
+        updatedCmHandles:
+          type: array
+          items:
+            $ref: '#/components/schemas/RestCmHandle'
+        removedCmHandles:
+          type: array
+          items:
+            type: string
+    RestCmHandle:
+      required:
+      - cmHandle
+      type: object
+      properties:
+        cmHandle:
+          type: string
+          example: cmHandle123
+        cmHandleProperties:
+          $ref: '#/components/schemas/RestCmHandleAdditionalProperties'
+    RestCmHandleAdditionalProperties:
+      type: object
+      additionalProperties:
+        type: string
+        example: system-001
diff --git a/pom.xml b/pom.xml
index 573aa42..c24f2c9 100644 (file)
--- a/pom.xml
+++ b/pom.xml
                     <processAllModules>true</processAllModules>\r
                 </configuration>\r
             </plugin>\r
-            <plugin>\r
-                <artifactId>maven-resources-plugin</artifactId>\r
-                <executions>\r
-                    <execution>\r
-                        <id>copy-resources-ncmp</id>\r
-                        <phase>compile</phase>\r
-                        <goals>\r
-                            <goal>copy-resources</goal>\r
-                        </goals>\r
-                        <configuration>\r
-                            <outputDirectory>${project.basedir}/docs/api/swagger/ncmp/</outputDirectory>\r
-                            <resources>\r
-                                <resource>\r
-                                    <directory>${project.basedir}/cps-ncmp-rest/target/generated-sources/swagger</directory>\r
-                                    <includes>\r
-                                        <include>openapi.yaml</include>\r
-                                    </includes>\r
-                                </resource>\r
-                            </resources>\r
-                        </configuration>\r
-                    </execution>\r
-                    <execution>\r
-                        <id>copy-resources-cps</id>\r
-                        <phase>compile</phase>\r
-                        <goals>\r
-                            <goal>copy-resources</goal>\r
-                        </goals>\r
-                        <configuration>\r
-                            <outputDirectory>${project.basedir}/docs/api/swagger/cps/</outputDirectory>\r
-                            <resources>\r
-                                <resource>\r
-                                    <directory>${project.basedir}/cps-rest/target/generated-sources/swagger/</directory>\r
-                                    <includes>\r
-                                        <include>openapi.yaml</include>\r
-                                    </includes>\r
-                                </resource>\r
-                            </resources>\r
-                        </configuration>\r
-                    </execution>\r
-                </executions>\r
-            </plugin>\r
         </plugins>\r
     </build>\r
 \r