Merge "Enable/Disable Data Sync for Cm Handle"
[cps.git] / cps-ncmp-rest / docs / openapi / ncmp.yml
index 318e6e6..f394e85 100755 (executable)
@@ -246,26 +246,64 @@ fetchModuleReferencesByCmHandle:
       500:
         $ref: 'components.yaml#/components/responses/InternalServerError'
 
-executeCmHandleSearch:
+fetchModuleDefinitionsByCmHandle:
+  get:
+    description: Fetch all module definitions (name, revision, yang resource) for a given cm handle
+    tags:
+      - network-cm-proxy
+    summary: Fetch all module definitions (name, revision, yang resource) for a given cm handle
+    operationId: getModuleDefinitionsByCmHandleId
+    parameters:
+      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
+    responses:
+      200:
+        description: OK
+        content:
+          application/json:
+            schema:
+              type: array
+              items:
+                $ref: 'components.yaml#/components/schemas/RestModuleDefinition'
+      401:
+        $ref: 'components.yaml#/components/responses/Unauthorized'
+      403:
+        $ref: 'components.yaml#/components/responses/Forbidden'
+      500:
+        $ref: 'components.yaml#/components/responses/InternalServerError'
+
+searchCmHandles:
   post:
-    description: Execute cm handle searches using 'hasAllModules' condition to get all cm handles for the given module names
+    description: Execute cm handle query search and return a list of cm handle details. Any number of conditions can be applied. To be included in the result a cm-handle must fulfill ALL the conditions. An empty collection will be returned in the case that the cm handle does not match a condition. For more on cm handle query search please refer to <a href="RTD page to be created in separate task">cm handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible to query on any data related to the cm handle. For more on CPS Path please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS Path Read the Docs</a>. The cm handle ancestor is automatically returned for this query.
     tags:
       - network-cm-proxy
     summary: Execute cm handle search using the available conditions
-    operationId: executeCmHandleSearch
+    operationId: searchCmHandles
     requestBody:
       required: true
       content:
         application/json:
           schema:
-            $ref: 'components.yaml#/components/schemas/Conditions'
+            $ref: 'components.yaml#/components/schemas/CmHandleQueryParameters'
+          examples:
+            Cm handle properties query:
+              $ref: 'components.yaml#/components/examples/pubPropCmHandleQueryParameters'
+            Cm handle modules query:
+              $ref: 'components.yaml#/components/examples/modulesCmHandleQueryParameters'
+            All cm handle query parameters:
+              $ref: 'components.yaml#/components/examples/allCmHandleQueryParameters'
+            Cm handle with CPS path state query:
+              $ref: 'components.yaml#/components/examples/cpsPathCmHandleStateQueryParameters'
+            Cm handle with data sync flag query:
+              $ref: 'components.yaml#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
     responses:
       200:
         description: OK
         content:
           application/json:
             schema:
-              $ref: 'components.yaml#/components/schemas/CmHandles'
+              type: array
+              items:
+                $ref: 'components.yaml#/components/schemas/RestOutputCmHandle'
       400:
         $ref: 'components.yaml#/components/responses/BadRequest'
       401:
@@ -291,6 +329,10 @@ retrieveCmHandleDetailsById:
           application/json:
             schema:
               $ref: 'components.yaml#/components/schemas/RestOutputCmHandle'
+      400:
+        $ref: 'components.yaml#/components/responses/BadRequest'
+      401:
+        $ref: 'components.yaml#/components/responses/Unauthorized'
       404:
         $ref: 'components.yaml#/components/responses/NotFound'
       500:
@@ -312,24 +354,64 @@ getCmHandlePropertiesById:
           application/json:
             schema:
               $ref: 'components.yaml#/components/schemas/RestOutputCmHandlePublicProperties'
+      400:
+        $ref: 'components.yaml#/components/responses/BadRequest'
+      401:
+        $ref: 'components.yaml#/components/responses/Unauthorized'
       404:
         $ref: 'components.yaml#/components/responses/NotFound'
       500:
         $ref: 'components.yaml#/components/responses/InternalServerError'
 
-queryCmHandles:
+getCmHandleStateById:
+  get:
+    description: Get CM handle state by cm handle id
+    tags:
+      - network-cm-proxy
+    summary: Get CM handle state
+    operationId: getCmHandleStateByCmHandleId
+    parameters:
+      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
+    responses:
+      200:
+        description: OK
+        content:
+          application/json:
+            schema:
+              $ref: 'components.yaml#/components/schemas/RestOutputCmHandleCompositeState'
+      400:
+        $ref: 'components.yaml#/components/responses/BadRequest'
+      401:
+        $ref: 'components.yaml#/components/responses/Unauthorized'
+      404:
+        $ref: 'components.yaml#/components/responses/NotFound'
+      500:
+        $ref: 'components.yaml#/components/responses/InternalServerError'
+
+searchCmHandleIds:
   post:
-    description: Execute cm handle query search
+    description: Execute cm handle query search and return a list of cm handle ids. Any number of conditions can be applied. To be included in the result a cm-handle must fulfill ALL the conditions. An empty collection will be returned in the case that the cm handle does not match a condition. For more on cm handle query search please refer to <a href="RTD page to be created in separate task">cm handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible to query on any data related to the cm handle. For more on CPS Path please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS Path Read the Docs</a>. The cm handle ancestor is automatically returned for this query.
     tags:
       - network-cm-proxy
     summary: Execute cm handle query upon a given set of query parameters
-    operationId: queryCmHandles
+    operationId: searchCmHandleIds
     requestBody:
       required: true
       content:
         application/json:
           schema:
-            $ref: 'components.yaml#/components/schemas/CmHandleQueryRestParameters'
+            $ref: 'components.yaml#/components/schemas/CmHandleQueryParameters'
+          examples:
+            Cm handle properties query:
+              $ref: 'components.yaml#/components/examples/pubPropCmHandleQueryParameters'
+            Cm handle modules query:
+              $ref: 'components.yaml#/components/examples/modulesCmHandleQueryParameters'
+            All cm handle query parameters:
+              $ref: 'components.yaml#/components/examples/allCmHandleQueryParameters'
+            Cm handle with CPS path state query:
+              $ref: 'components.yaml#/components/examples/cpsPathCmHandleStateQueryParameters'
+            Cm handle with data sync flag query:
+              $ref: 'components.yaml#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
     responses:
       200:
         description: OK
@@ -348,4 +430,28 @@ queryCmHandles:
       404:
         $ref: 'components.yaml#/components/responses/NotFound'
       500:
-        $ref: 'components.yaml#/components/responses/InternalServerError'
\ No newline at end of file
+        $ref: 'components.yaml#/components/responses/InternalServerError'
+
+setDataSyncEnabledFlag:
+  put:
+    tags:
+      - network-cm-proxy
+    summary: Set the Data Sync Enabled Flag
+    description: Set the data sync enabled flag to true or false for a specified Cm-Handle. This will in turn set the data sync state to UNSYNCHRONIZED and NONE_REQUESTED respectfully.
+    operationId: setDataSyncEnabledFlagForCmHandle
+    parameters:
+      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
+      - $ref: 'components.yaml#/components/parameters/dataSyncEnabled'
+    responses:
+      200:
+        $ref: 'components.yaml#/components/responses/Ok'
+      400:
+        $ref: 'components.yaml#/components/responses/BadRequest'
+      401:
+        $ref: 'components.yaml#/components/responses/Unauthorized'
+      403:
+        $ref: 'components.yaml#/components/responses/Forbidden'
+      500:
+        $ref: 'components.yaml#/components/responses/InternalServerError'
+      502:
+        $ref: 'components.yaml#/components/responses/BadGateway'
\ No newline at end of file