X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-ncmp-rest%2Fdocs%2Fopenapi%2Fncmp.yml;h=f394e857516b42b2b7acbd43a2e76d5f68723256;hb=7dfc3a01f327654d64451865ac05b819c5583b27;hp=9e3560a2fa15bdfb33f642f8596c9ec2f7676c64;hpb=c28a0a0c88681902e760b37f31483e56a98858c2;p=cps.git diff --git a/cps-ncmp-rest/docs/openapi/ncmp.yml b/cps-ncmp-rest/docs/openapi/ncmp.yml index 9e3560a2f..f394e8575 100755 --- a/cps-ncmp-rest/docs/openapi/ncmp.yml +++ b/cps-ncmp-rest/docs/openapi/ncmp.yml @@ -1,7 +1,7 @@ # ============LICENSE_START======================================================= -# Copyright (C) 2021 Nordix Foundation +# Copyright (C) 2021-2022 Nordix Foundation # Modifications Copyright (C) 2021 Pantheon.tech -# Modifications Copyright (C) 2021 Bell Canada +# Modifications Copyright (C) 2021-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. @@ -17,72 +17,96 @@ # # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= - -nodeByCmHandleAndXpath: +getResourceDataForPassthroughOperational: get: - description: Get a node with an option to retrieve all the children for a given cm Handle - deprecated: true tags: - network-cm-proxy - summary: Get a node given a cm Handle and xpath - operationId: getNodeByCmHandleAndXpath + 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: - $ref: 'components.yaml#/components/parameters/cmHandleInPath' - - $ref: 'components.yaml#/components/parameters/xpathInQuery' - - $ref: 'components.yaml#/components/parameters/includeDescendantsOptionInQuery' + - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery' + - $ref: 'components.yaml#/components/parameters/optionsParamInQuery' + - $ref: 'components.yaml#/components/parameters/topicParamInQuery' responses: 200: - $ref: 'components.yaml#/components/responses/Ok' + description: OK + content: + application/json: + schema: + type: object + examples: + dataSampleResponse: + $ref: 'components.yaml#/components/examples/dataSampleResponse' 400: $ref: 'components.yaml#/components/responses/BadRequest' 401: $ref: 'components.yaml#/components/responses/Unauthorized' 403: $ref: 'components.yaml#/components/responses/Forbidden' - 404: - $ref: 'components.yaml#/components/responses/NotFound' + 500: + $ref: 'components.yaml#/components/responses/InternalServerError' + 502: + $ref: 'components.yaml#/components/responses/BadGateway' -nodesByCmHandleAndCpsPath: +resourceDataForPassthroughRunning: get: - description: Query nodes for the given cps path and cm Handle - deprecated: true tags: - network-cm-proxy - summary: Query data nodes - operationId: queryNodesByCmHandleAndCpsPath + 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: - $ref: 'components.yaml#/components/parameters/cmHandleInPath' - - $ref: 'components.yaml#/components/parameters/cpsPathInQuery' - - $ref: 'components.yaml#/components/parameters/includeDescendantsOptionInQuery' + - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery' + - $ref: 'components.yaml#/components/parameters/optionsParamInQuery' + - $ref: 'components.yaml#/components/parameters/topicParamInQuery' responses: 200: - $ref: 'components.yaml#/components/responses/Ok' + description: OK + content: + application/json: + schema: + type: object + examples: + dataSampleResponse: + $ref: 'components.yaml#/components/examples/dataSampleResponse' 400: $ref: 'components.yaml#/components/responses/BadRequest' 401: $ref: 'components.yaml#/components/responses/Unauthorized' 403: $ref: 'components.yaml#/components/responses/Forbidden' - 404: - $ref: 'components.yaml#/components/responses/NotFound' - -nodesByCmHandleAndXpath: + 500: + $ref: 'components.yaml#/components/responses/InternalServerError' + 502: + $ref: 'components.yaml#/components/responses/BadGateway' post: - description: Create a node with descendants for the given CM Handle; top level or under existing node (requires xpath) - deprecated: true tags: - network-cm-proxy - summary: Create a node with descendants - operationId: createNode + 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: - $ref: 'components.yaml#/components/parameters/cmHandleInPath' - - $ref: 'components.yaml#/components/parameters/xpathInQuery' + - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery' + - $ref: 'components.yaml#/components/parameters/contentParamInHeader' requestBody: required: true content: application/json: schema: - type: string + type: object + examples: + dataSampleRequest: + $ref: 'components.yaml#/components/examples/dataSampleRequest' + application/yang-data+json: + schema: + type: object + examples: + dataSampleRequest: + $ref: 'components.yaml#/components/examples/dataSampleRequest' responses: 201: $ref: 'components.yaml#/components/responses/Created' @@ -92,25 +116,36 @@ nodesByCmHandleAndXpath: $ref: 'components.yaml#/components/responses/Unauthorized' 403: $ref: 'components.yaml#/components/responses/Forbidden' - 404: - $ref: 'components.yaml#/components/responses/NotFound' + 500: + $ref: 'components.yaml#/components/responses/InternalServerError' + 502: + $ref: 'components.yaml#/components/responses/BadGateway' - patch: - description: Update node leaves for the given cps path and cm Handle - deprecated: true + put: tags: - network-cm-proxy - summary: Update node leaves - operationId: updateNodeLeaves + summary: Update resource data from pass-through running for a cm handle + description: Update resource data from pass-through running for the given cm handle + operationId: updateResourceDataRunningForCmHandle parameters: - $ref: 'components.yaml#/components/parameters/cmHandleInPath' - - $ref: 'components.yaml#/components/parameters/xpathInQuery' + - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery' + - $ref: 'components.yaml#/components/parameters/contentParamInHeader' requestBody: required: true content: application/json: schema: - type: string + type: object + examples: + dataSampleRequest: + $ref: 'components.yaml#/components/examples/dataSampleRequest' + application/yang-data+json: + schema: + type: object + examples: + dataSampleRequest: + $ref: 'components.yaml#/components/examples/dataSampleRequest' responses: 200: $ref: 'components.yaml#/components/responses/Ok' @@ -120,25 +155,30 @@ nodesByCmHandleAndXpath: $ref: 'components.yaml#/components/responses/Unauthorized' 403: $ref: 'components.yaml#/components/responses/Forbidden' - 404: - $ref: 'components.yaml#/components/responses/NotFound' + 500: + $ref: 'components.yaml#/components/responses/InternalServerError' + 502: + $ref: 'components.yaml#/components/responses/BadGateway' - put: - description: Replace a node with descendants for the given cps path and cm Handle - deprecated: true + patch: tags: - network-cm-proxy - summary: Replace a node with descendants - operationId: replaceNode + summary: Patch resource data from pass-through running + description: Patch resource data from pass-through running for the given cm handle + operationId: patchResourceDataRunningForCmHandle parameters: - $ref: 'components.yaml#/components/parameters/cmHandleInPath' - - $ref: 'components.yaml#/components/parameters/xpathInQuery' + - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery' + - $ref: 'components.yaml#/components/parameters/contentParamInHeader' requestBody: required: true content: - application/json: + '*/*': schema: - type: string + type: object + examples: + dataSampleRequest: + $ref: 'components.yaml#/components/examples/dataSamplePatchRequest' responses: 200: $ref: 'components.yaml#/components/responses/Ok' @@ -148,29 +188,24 @@ nodesByCmHandleAndXpath: $ref: 'components.yaml#/components/responses/Unauthorized' 403: $ref: 'components.yaml#/components/responses/Forbidden' - 404: - $ref: 'components.yaml#/components/responses/NotFound' + 500: + $ref: 'components.yaml#/components/responses/InternalServerError' + 502: + $ref: 'components.yaml#/components/responses/BadGateway' -listNodeByCmHandleAndXpath: - post: - description: Add one or more list-node child elements under existing node for the given CM Handle - deprecated: true + delete: tags: - network-cm-proxy - summary: Add list-node child element(s) - operationId: addListNodeElements + summary: Delete resource data + description: Delete resource data from pass-through running for a given cm handle + operationId: deleteResourceDataRunningForCmHandle parameters: - $ref: 'components.yaml#/components/parameters/cmHandleInPath' - - $ref: 'components.yaml#/components/parameters/requiredXpathInQuery' - requestBody: - required: true - content: - application/json: - schema: - type: string + - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery' + - $ref: 'components.yaml#/components/parameters/contentParamInHeader' responses: - 201: - $ref: 'components.yaml#/components/responses/Created' + 204: + $ref: 'components.yaml#/components/responses/NoContent' 400: $ref: 'components.yaml#/components/responses/BadRequest' 401: @@ -179,92 +214,137 @@ listNodeByCmHandleAndXpath: $ref: 'components.yaml#/components/responses/Forbidden' 404: $ref: 'components.yaml#/components/responses/NotFound' + 500: + $ref: 'components.yaml#/components/responses/InternalServerError' + 502: + $ref: 'components.yaml#/components/responses/BadGateway' -getResourceDataForPassthroughOperational: +fetchModuleReferencesByCmHandle: get: + description: fetch all module references (name and revision) for a given cm handle 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 + summary: Fetch all module references (name and revision) for a given cm handle + operationId: getModuleReferencesByCmHandle parameters: - $ref: 'components.yaml#/components/parameters/cmHandleInPath' - - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery' - - $ref: 'components.yaml#/components/parameters/acceptParamInHeader' - - $ref: 'components.yaml#/components/parameters/optionsParamInQuery' responses: 200: - $ref: 'components.yaml#/components/responses/Ok' + description: OK + content: + application/json: + schema: + type: array + items: + $ref: 'components.yaml#/components/schemas/RestModuleReference' 400: $ref: 'components.yaml#/components/responses/BadRequest' 401: $ref: 'components.yaml#/components/responses/Unauthorized' 403: $ref: 'components.yaml#/components/responses/Forbidden' - 404: - $ref: 'components.yaml#/components/responses/NotFound' + 500: + $ref: 'components.yaml#/components/responses/InternalServerError' -resourceDataForPassthroughRunning: +fetchModuleDefinitionsByCmHandle: get: + description: Fetch all module definitions (name, revision, yang resource) for a given cm handle 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 + summary: Fetch all module definitions (name, revision, yang resource) for a given cm handle + operationId: getModuleDefinitionsByCmHandleId parameters: - $ref: 'components.yaml#/components/parameters/cmHandleInPath' - - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery' - - $ref: 'components.yaml#/components/parameters/acceptParamInHeader' - - $ref: 'components.yaml#/components/parameters/optionsParamInQuery' responses: 200: - $ref: 'components.yaml#/components/responses/Ok' - 400: - $ref: 'components.yaml#/components/responses/BadRequest' + 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' - 404: - $ref: 'components.yaml#/components/responses/NotFound' + 500: + $ref: 'components.yaml#/components/responses/InternalServerError' + +searchCmHandles: post: + 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 cm handle query search Read the Docs.
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 CPS Path Read the Docs. The cm handle ancestor is automatically returned for this query. 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: - - $ref: 'components.yaml#/components/parameters/cmHandleInPath' - - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery' - - $ref: 'components.yaml#/components/parameters/contentParamInHeader' + summary: Execute cm handle search using the available conditions + operationId: searchCmHandles requestBody: required: true content: application/json: schema: - type: string - application/yang-data+json: - schema: - type: string + $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: - 201: - $ref: 'components.yaml#/components/responses/Created' + 200: + description: OK + content: + application/json: + schema: + type: array + items: + $ref: 'components.yaml#/components/schemas/RestOutputCmHandle' 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' + +retrieveCmHandleDetailsById: + get: + description: Retrieve CM handle details and properties by cm handle id + tags: + - network-cm-proxy + summary: Retrieve CM handle details + operationId: retrieveCmHandleDetailsById + parameters: + - $ref: 'components.yaml#/components/parameters/cmHandleInPath' + responses: + 200: + description: OK + content: + 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: + $ref: 'components.yaml#/components/responses/InternalServerError' -fetchModuleReferencesByCmHandle: +getCmHandlePropertiesById: get: - description: fetch all module references (name and revision) for a given cm handle + description: Get CM handle properties by cm handle id tags: - network-cm-proxy - summary: Fetch all module references (name and revision) for a given cm handle - operationId: getModuleReferencesByCmHandle + summary: Get CM handle properties + operationId: getCmHandlePublicPropertiesByCmHandleId parameters: - $ref: 'components.yaml#/components/parameters/cmHandleInPath' responses: @@ -273,41 +353,105 @@ fetchModuleReferencesByCmHandle: content: application/json: schema: - type: string - example: [{"moduleName": "nc-notifications", "revision": "2008-07-14"}] - $ref: 'components.yaml#/components/responses/Ok' + $ref: 'components.yaml#/components/schemas/RestOutputCmHandlePublicProperties' 400: $ref: 'components.yaml#/components/responses/BadRequest' 401: $ref: 'components.yaml#/components/responses/Unauthorized' - 403: - $ref: 'components.yaml#/components/responses/Forbidden' 404: $ref: 'components.yaml#/components/responses/NotFound' + 500: + $ref: 'components.yaml#/components/responses/InternalServerError' -executeCmHandleSearch: +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 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 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 cm handle query search Read the Docs.
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 CPS Path Read the Docs. 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 + summary: Execute cm handle query upon a given set of query parameters + operationId: searchCmHandleIds 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: + type: string 400: $ref: 'components.yaml#/components/responses/BadRequest' 401: $ref: 'components.yaml#/components/responses/Unauthorized' 403: - $ref: 'components.yaml#/components/responses/Forbidden' \ No newline at end of file + $ref: 'components.yaml#/components/responses/Forbidden' + 404: + $ref: 'components.yaml#/components/responses/NotFound' + 500: + $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