openapi: 3.0.3 info: description: NCMP to CPS Proxy API title: NCMP to CPS Proxy API version: "1.0" servers: - url: /ncmp security: - basicAuth: [] paths: /v1/ch/{cm-handle}/data/ds/{datastore-name}: delete: description: Delete resource data from pass-through running for a given cm handle operationId: deleteResourceDataRunningForCmHandle parameters: - description: The type of the requested data in: path name: datastore-name required: true schema: example: ncmp-datastore:running type: string - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" in: path name: cm-handle required: true schema: example: my-cm-handle type: string - description: The format of resource identifier depend on the associated DMI Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it can really be anything. examples: sample 1: value: resourceIdentifier: \shops\bookstore sample 2: value: resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]" sample 3: value: resourceIdentifier: "parent=shops,child=bookstore" in: query name: resourceIdentifier required: true schema: type: string - description: "Content parameter for request, if content parameter is null,\ \ default value is application/json." in: header name: Content-Type required: false schema: default: application/json example: application/yang-data+json type: string - description: Authorization parameter for request. in: header name: Authorization required: false schema: type: string responses: "204": content: {} description: No Content "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "404": content: application/json: example: status: 400 message: Not found error message details: Not found error details 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 occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error "502": content: application/json: example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request schema: $ref: '#/components/schemas/DmiErrorMessage' description: Bad Gateway summary: Delete resource data tags: - network-cm-proxy get: description: Get resource data for given cm handle operationId: getResourceDataForCmHandle parameters: - description: The type of the requested data in: path name: datastore-name required: true schema: example: ncmp-datastore:running type: string - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" in: path name: cm-handle required: true schema: example: my-cm-handle type: string - description: The format of resource identifier depend on the associated DMI Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it can really be anything. examples: sample 1: value: resourceIdentifier: \shops\bookstore sample 2: value: resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]" sample 3: value: resourceIdentifier: "parent=shops,child=bookstore" in: query name: resourceIdentifier required: true schema: type: string - description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\ \ in parenthesis'()'. The format of options parameter depend on the associated\ \ DMI Plugin implementation." examples: sample 1: value: options: (depth=3) sample 2: value: options: (fields=book) sample 3: value: options: "(depth=2,fields=book/authors)" in: query name: options required: false schema: type: string - description: topic parameter in query. examples: sample 1: value: topic: my-topic-name in: query name: topic required: false schema: type: string - description: Determines if descendants are included in response in: query name: include-descendants required: false schema: default: false type: boolean - description: Authorization parameter for request. in: header name: Authorization required: false schema: type: string responses: "200": content: application/json: examples: dataSampleResponse: $ref: '#/components/examples/dataSampleResponse' value: null schema: type: object description: OK "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "500": content: application/json: example: status: 500 message: Internal Server Error details: Internal Server Error occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error "502": content: application/json: example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request schema: $ref: '#/components/schemas/DmiErrorMessage' description: Bad Gateway summary: Get resource data for cm handle tags: - network-cm-proxy patch: description: Patch resource data from pass-through running for the given cm handle operationId: patchResourceDataRunningForCmHandle parameters: - description: The type of the requested data in: path name: datastore-name required: true schema: example: ncmp-datastore:running type: string - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" in: path name: cm-handle required: true schema: example: my-cm-handle type: string - description: The format of resource identifier depend on the associated DMI Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it can really be anything. examples: sample 1: value: resourceIdentifier: \shops\bookstore sample 2: value: resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]" sample 3: value: resourceIdentifier: "parent=shops,child=bookstore" in: query name: resourceIdentifier required: true schema: type: string - description: "Content parameter for request, if content parameter is null,\ \ default value is application/json." in: header name: Content-Type required: false schema: default: application/json example: application/yang-data+json type: string - description: Authorization parameter for request. in: header name: Authorization required: false schema: type: string requestBody: content: '*/*': examples: dataSampleRequest: $ref: '#/components/examples/dataSamplePatchRequest' value: null schema: type: object required: true responses: "200": content: application/json: schema: type: object description: OK "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "500": content: application/json: example: status: 500 message: Internal Server Error details: Internal Server Error occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error "502": content: application/json: example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request schema: $ref: '#/components/schemas/DmiErrorMessage' description: Bad Gateway summary: Patch resource data from pass-through running tags: - network-cm-proxy post: description: create resource data from pass-through running for given cm handle operationId: createResourceDataRunningForCmHandle parameters: - description: The type of the requested data in: path name: datastore-name required: true schema: example: ncmp-datastore:running type: string - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" in: path name: cm-handle required: true schema: example: my-cm-handle type: string - description: The format of resource identifier depend on the associated DMI Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it can really be anything. examples: sample 1: value: resourceIdentifier: \shops\bookstore sample 2: value: resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]" sample 3: value: resourceIdentifier: "parent=shops,child=bookstore" in: query name: resourceIdentifier required: true schema: type: string - description: "Content parameter for request, if content parameter is null,\ \ default value is application/json." in: header name: Content-Type required: false schema: default: application/json example: application/yang-data+json type: string - description: Authorization parameter for request. in: header name: Authorization required: false schema: type: string requestBody: content: application/json: examples: dataSampleRequest: $ref: '#/components/examples/dataSampleRequest' value: null schema: type: object application/yang-data+json: examples: dataSampleRequest: $ref: '#/components/examples/dataSampleRequest' value: null schema: type: object required: true responses: "201": content: {} description: Created "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "500": content: application/json: example: status: 500 message: Internal Server Error details: Internal Server Error occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error "502": content: application/json: example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request schema: $ref: '#/components/schemas/DmiErrorMessage' description: Bad Gateway summary: create resource data from pass-through running for cm handle tags: - network-cm-proxy put: description: Update resource data from pass-through running for the given cm handle operationId: updateResourceDataRunningForCmHandle parameters: - description: The type of the requested data in: path name: datastore-name required: true schema: example: ncmp-datastore:running type: string - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" in: path name: cm-handle required: true schema: example: my-cm-handle type: string - description: The format of resource identifier depend on the associated DMI Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it can really be anything. examples: sample 1: value: resourceIdentifier: \shops\bookstore sample 2: value: resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]" sample 3: value: resourceIdentifier: "parent=shops,child=bookstore" in: query name: resourceIdentifier required: true schema: type: string - description: "Content parameter for request, if content parameter is null,\ \ default value is application/json." in: header name: Content-Type required: false schema: default: application/json example: application/yang-data+json type: string - description: Authorization parameter for request. in: header name: Authorization required: false schema: type: string requestBody: content: application/json: examples: dataSampleRequest: $ref: '#/components/examples/dataSampleRequest' value: null schema: type: object application/yang-data+json: examples: dataSampleRequest: $ref: '#/components/examples/dataSampleRequest' value: null schema: type: object required: true responses: "200": content: application/json: schema: type: object description: OK "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "500": content: application/json: example: status: 500 message: Internal Server Error details: Internal Server Error occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error "502": content: application/json: example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request schema: $ref: '#/components/schemas/DmiErrorMessage' description: Bad Gateway summary: Update resource data from pass-through running for a cm handle tags: - network-cm-proxy /v1/data: post: description: This request will be handled asynchronously using messaging to the supplied topic. The rest response will be an acknowledge with a requestId to identify the relevant messages. A maximum of 50 cm handles per operation is supported. operationId: executeDataOperationForCmHandles parameters: - description: mandatory topic parameter in query. examples: sample 1: value: topic: my-topic-name in: query name: topic required: true schema: type: string - description: Authorization parameter for request. in: header name: Authorization required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/DataOperationRequest' required: true responses: "200": content: application/json: schema: type: object description: OK "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "413": content: application/json: example: status: 413 message: Payload Too Large error message details: Payload Too Large error details schema: $ref: '#/components/schemas/ErrorMessage' description: The request is larger than the server is willing or able to process "500": content: application/json: example: status: 500 message: Internal Server Error details: Internal Server Error occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error "502": content: application/json: example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request schema: $ref: '#/components/schemas/DmiErrorMessage' description: Bad Gateway summary: Execute a data operation for group of cm handle ids tags: - network-cm-proxy /v1/ch/{cm-handle}/data/ds/{datastore-name}/query: get: description: Query resource data for a given cm handle operationId: queryResourceDataForCmHandle parameters: - description: The type of the requested data in: path name: datastore-name required: true schema: example: ncmp-datastore:running type: string - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" in: path name: cm-handle required: true schema: example: my-cm-handle type: string - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" examples: container cps path: value: //bookstore list attributes cps path: value: "//categories[@code=1]" in: query name: cps-path required: false schema: default: / type: string - description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\ \ in parenthesis'()'. The format of options parameter depend on the associated\ \ DMI Plugin implementation." examples: sample 1: value: options: (depth=3) sample 2: value: options: (fields=book) sample 3: value: options: "(depth=2,fields=book/authors)" in: query name: options required: false schema: type: string - description: topic parameter in query. examples: sample 1: value: topic: my-topic-name in: query name: topic required: false schema: type: string - description: Determines if descendants are included in response in: query name: include-descendants required: false schema: default: false type: boolean responses: "200": content: application/json: examples: dataSampleResponse: $ref: '#/components/examples/dataSampleResponse' value: null schema: type: object description: OK "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "500": content: application/json: example: status: 500 message: Internal Server Error details: Internal Server Error occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error "502": content: application/json: example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request schema: $ref: '#/components/schemas/DmiErrorMessage' description: Bad Gateway summary: Query resource data for a given cm handle tags: - network-cm-proxy /v1/ch/{cm-handle}/modules: get: description: fetch all module references (name and revision) for a given cm handle operationId: getModuleReferencesByCmHandle parameters: - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" in: path name: cm-handle required: true schema: example: my-cm-handle type: string responses: "200": content: application/json: schema: items: $ref: '#/components/schemas/RestModuleReference' type: array description: OK "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "500": content: application/json: example: status: 500 message: Internal Server Error details: Internal Server Error occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error summary: Fetch all module references (name and revision) for a given cm handle tags: - network-cm-proxy /v1/ch/{cm-handle}/modules/definitions: get: description: "Get module definitions (module name, revision, yang resource)\ \ with options to filter on module name and revision" operationId: getModuleDefinitions parameters: - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" in: path name: cm-handle required: true schema: example: my-cm-handle type: string - description: Filter for a module name.This is an optional parameter in: query name: module-name required: false schema: example: my-module type: string - description: Filter for a module revision.This is an optional parameter and ignored when no module name is supplied in: query name: revision required: false schema: example: 2024-01-22 type: string responses: "200": content: application/json: schema: items: $ref: '#/components/schemas/RestModuleDefinition' type: array description: OK "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "500": content: application/json: example: status: 500 message: Internal Server Error details: Internal Server Error occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error summary: Get module definitions tags: - network-cm-proxy /v1/ch/searches: 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 <a href="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">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. operationId: searchCmHandles requestBody: content: application/json: examples: Cm handle properties query: $ref: '#/components/examples/pubPropCmHandleQueryParameters' value: null Cm handle modules query: $ref: '#/components/examples/modulesCmHandleQueryParameters' value: null All cm handle query parameters: $ref: '#/components/examples/allCmHandleQueryParameters' value: null Cm handle with CPS path state query: $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters' value: null Cm handle with data sync flag query: $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters' value: null schema: $ref: '#/components/schemas/CmHandleQueryParameters' required: true responses: "200": content: application/json: schema: items: $ref: '#/components/schemas/RestOutputCmHandle' type: array description: OK "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "500": content: application/json: example: status: 500 message: Internal Server Error details: Internal Server Error occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error summary: Execute cm handle search using the available conditions tags: - network-cm-proxy /v1/ch/{cm-handle}: get: description: Retrieve CM handle details and properties by cm handle id operationId: retrieveCmHandleDetailsById parameters: - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" in: path name: cm-handle required: true schema: example: my-cm-handle type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/RestOutputCmHandle' description: OK "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "404": content: application/json: example: status: 400 message: Not found error message details: Not found error details 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 occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error summary: Retrieve CM handle details tags: - network-cm-proxy /v1/ch/{cm-handle}/properties: get: description: Get CM handle properties by cm handle id operationId: getCmHandlePublicPropertiesByCmHandleId parameters: - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" in: path name: cm-handle required: true schema: example: my-cm-handle type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/RestOutputCmHandlePublicProperties' description: OK "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "404": content: application/json: example: status: 400 message: Not found error message details: Not found error details 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 occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error summary: Get CM handle properties tags: - network-cm-proxy /v1/ch/id-searches: post: 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="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">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. operationId: searchCmHandleIds requestBody: content: application/json: examples: Cm handle properties query: $ref: '#/components/examples/pubPropCmHandleQueryParameters' value: null Cm handle modules query: $ref: '#/components/examples/modulesCmHandleQueryParameters' value: null All cm handle query parameters: $ref: '#/components/examples/allCmHandleQueryParameters' value: null Cm handle with CPS path state query: $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters' value: null Cm handle with data sync flag query: $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters' value: null schema: $ref: '#/components/schemas/CmHandleQueryParameters' required: true responses: "200": content: application/json: schema: items: type: string type: array description: OK "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "404": content: application/json: example: status: 400 message: Not found error message details: Not found error details 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 occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error summary: Execute cm handle query upon a given set of query parameters tags: - network-cm-proxy /v1/ch/{cm-handle}/state: get: description: Get CM handle state by cm handle id operationId: getCmHandleStateByCmHandleId parameters: - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" in: path name: cm-handle required: true schema: example: my-cm-handle type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/RestOutputCmHandleCompositeState' description: OK "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "404": content: application/json: example: status: 400 message: Not found error message details: Not found error details 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 occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error summary: Get CM handle state tags: - network-cm-proxy /v1/ch/{cm-handle}/data-sync: put: 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: - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" in: path name: cm-handle required: true schema: example: my-cm-handle type: string - description: Is used to enable or disable the data synchronization flag in: query name: dataSyncEnabled required: true schema: example: true type: boolean responses: "200": content: application/json: schema: type: object description: OK "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "500": content: application/json: example: status: 500 message: Internal Server Error details: Internal Server Error occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error "502": content: application/json: example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request schema: $ref: '#/components/schemas/DmiErrorMessage' description: Bad Gateway summary: Set the Data Sync Enabled Flag tags: - network-cm-proxy components: examples: dataSampleResponse: description: Sample response for selecting 'sample 1'. summary: Sample response value: bookstore: categories: - code: "01" books: - authors: - Iain M. Banks - Ursula K. Le Guin name: SciFi - code: "02" books: - authors: - Philip Pullman name: kids dataSampleRequest: description: Sample request body summary: Sample request value: test:bookstore: bookstore-name: Chapters categories: - code: "01" name: SciFi books: - authors: - Iain M. Banks - Ursula K. Le Guin - code: "02" name: kids books: - authors: - Philip Pullman dataSamplePatchRequest: description: Sample patch request body summary: Sample patch request value: ietf-restconf:yang-patch: patch-id: patch-1 edit: - edit-id: edit1 operation: merge target: / value: test:bookstore: bookstore-name: Chapters categories: - code: "01" name: Science books: - authors: - Author1 - Author2 - code: "02" name: Arts books: - authors: - Author3 - edit-id: edit2 operation: merge target: / value: test:bookstore: bookstore-name: Novels categories: - code: "03" name: History books: - authors: - Iain M. Banks - Ursula K. Le Guin - code: "04" name: Fiction books: - authors: - Philip Pullman pubPropCmHandleQueryParameters: value: cmHandleQueryParameters: - conditionName: hasAllProperties conditionParameters: - Color: yellow - Shape: circle - Size: small modulesCmHandleQueryParameters: value: cmHandleQueryParameters: - conditionName: hasAllModules conditionParameters: - moduleName: my-module-1 - moduleName: my-module-2 - moduleName: my-module-3 allCmHandleQueryParameters: value: cmHandleQueryParameters: - conditionName: hasAllModules conditionParameters: - moduleName: my-module-1 - moduleName: my-module-2 - moduleName: my-module-3 - conditionName: hasAllProperties conditionParameters: - Color: yellow - Shape: circle - Size: small - conditionName: cmHandleWithCpsPath conditionParameters: - cpsPath: "//state[@cm-handle-state='ADVISED']" cpsPathCmHandleStateQueryParameters: value: cmHandleQueryParameters: - conditionName: cmHandleWithCpsPath conditionParameters: - cpsPath: "//state[@cm-handle-state='LOCKED']" cpsPathCmHandleDataSyncQueryParameters: value: cmHandleQueryParameters: - conditionName: cmHandleWithCpsPath conditionParameters: - cpsPath: "//state[@data-sync-enabled='true']" parameters: datastoreName: description: The type of the requested data in: path name: datastore-name required: true schema: example: ncmp-datastore:running type: string cmHandleInPath: description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" in: path name: cm-handle required: true schema: example: my-cm-handle type: string resourceIdentifierInQuery: description: The format of resource identifier depend on the associated DMI Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it can really be anything. examples: sample 1: value: resourceIdentifier: \shops\bookstore sample 2: value: resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]" sample 3: value: resourceIdentifier: "parent=shops,child=bookstore" in: query name: resourceIdentifier required: true schema: type: string optionsParamInQuery: description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\ \ in parenthesis'()'. The format of options parameter depend on the associated\ \ DMI Plugin implementation." examples: sample 1: value: options: (depth=3) sample 2: value: options: (fields=book) sample 3: value: options: "(depth=2,fields=book/authors)" in: query name: options required: false schema: type: string topicParamInQuery: description: topic parameter in query. examples: sample 1: value: topic: my-topic-name in: query name: topic required: false schema: type: string includeDescendantsOptionInQuery: description: Determines if descendants are included in response in: query name: include-descendants required: false schema: default: false type: boolean authorizationParamInHeader: description: Authorization parameter for request. in: header name: Authorization required: false schema: type: string contentParamInHeader: description: "Content parameter for request, if content parameter is null, default\ \ value is application/json." in: header name: Content-Type required: false schema: default: application/json example: application/yang-data+json type: string requiredTopicParamInQuery: description: mandatory topic parameter in query. examples: sample 1: value: topic: my-topic-name in: query name: topic required: true schema: type: string cpsPathInQuery: description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" examples: container cps path: value: //bookstore list attributes cps path: value: "//categories[@code=1]" in: query name: cps-path required: false schema: default: / type: string moduleNameInQuery: description: Filter for a module name.This is an optional parameter in: query name: module-name required: false schema: example: my-module type: string revisionInQuery: description: Filter for a module revision.This is an optional parameter and ignored when no module name is supplied in: query name: revision required: false schema: example: 2024-01-22 type: string dataSyncEnabled: description: Is used to enable or disable the data synchronization flag in: query name: dataSyncEnabled required: true schema: example: true type: boolean responses: BadRequest: content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request Forbidden: content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden InternalServerError: content: application/json: example: status: 500 message: Internal Server Error details: Internal Server Error occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error BadGateway: content: application/json: example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request schema: $ref: '#/components/schemas/DmiErrorMessage' description: Bad Gateway Ok: content: application/json: schema: type: object description: OK Created: content: {} description: Created NoContent: content: {} description: No Content NotFound: content: application/json: example: status: 400 message: Not found error message details: Not found error details schema: $ref: '#/components/schemas/ErrorMessage' description: The specified resource was not found PayloadTooLarge: content: application/json: example: status: 413 message: Payload Too Large error message details: Payload Too Large error details schema: $ref: '#/components/schemas/ErrorMessage' description: The request is larger than the server is willing or able to process schemas: ErrorMessage: properties: status: type: string message: type: string details: type: string title: Error type: object DmiErrorMessage: properties: message: example: Bad Gateway Error Message NCMP type: string dmi-response: $ref: '#/components/schemas/DmiErrorMessage_dmi_response' title: DMI Error Message type: object DataOperationRequest: example: operations: - resourceIdentifier: parent/child targetIds: - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\ ]" - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\ ]" datastore: ncmp-datastore:passthrough-operational options: (fields=schemas/schema) operationId: "12" operation: read - resourceIdentifier: parent/child targetIds: - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\ ]" - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\ ]" datastore: ncmp-datastore:passthrough-operational options: (fields=schemas/schema) operationId: "12" operation: read properties: operations: description: contains group of data operation requests items: $ref: '#/components/schemas/DataOperationDefinition' type: array title: execute data operation for given array of operations type: object DataOperationDefinition: example: resourceIdentifier: parent/child targetIds: - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\ ]" - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\ ]" datastore: ncmp-datastore:passthrough-operational options: (fields=schemas/schema) operationId: "12" operation: read properties: operation: example: read type: string operationId: example: "12" type: string datastore: example: ncmp-datastore:passthrough-operational type: string options: example: (fields=schemas/schema) type: string resourceIdentifier: example: parent/child type: string targetIds: items: description: "targeted cm handles, maximum of 50 supported. If this limit\ \ is exceeded the request wil be refused." example: "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\ ]" type: string type: array required: - datastore - operation - operationId RestModuleReference: example: moduleName: my-module-name revision: my-module-revision properties: moduleName: example: my-module-name type: string revision: example: my-module-revision type: string title: Module reference details type: object RestModuleDefinition: example: moduleName: my-module-name content: | module stores { yang-version 1.1; namespace 'org:onap:ccsdk:sample'; prefix book-store; revision '2020-09-15' { description 'Sample Model'; } } revision: 2020-09-15 properties: moduleName: example: my-module-name type: string revision: example: 2020-09-15 type: string content: example: | module stores { yang-version 1.1; namespace 'org:onap:ccsdk:sample'; prefix book-store; revision '2020-09-15' { description 'Sample Model'; } } type: string title: Module definitions type: object CmHandleQueryParameters: example: cmHandleQueryParameters: - conditionParameters: - key: conditionParameters - key: conditionParameters conditionName: conditionName - conditionParameters: - key: conditionParameters - key: conditionParameters conditionName: conditionName conditions: - name: name conditionParameters: - moduleName: my-module - moduleName: my-module - name: name conditionParameters: - moduleName: my-module - moduleName: my-module properties: cmHandleQueryParameters: items: $ref: '#/components/schemas/ConditionProperties' type: array conditions: deprecated: true description: "not necessary, it is just for backward compatibility" items: $ref: '#/components/schemas/OldConditionProperties' type: array title: Cm Handle query parameters for executing cm handle search type: object ConditionProperties: example: conditionParameters: - key: conditionParameters - key: conditionParameters conditionName: conditionName properties: conditionName: type: string conditionParameters: items: additionalProperties: type: string type: object type: array OldConditionProperties: deprecated: true example: name: name conditionParameters: - moduleName: my-module - moduleName: my-module properties: name: type: string conditionParameters: items: $ref: '#/components/schemas/ModuleNameAsJsonObject' type: array ModuleNameAsJsonObject: example: moduleName: my-module properties: moduleName: example: my-module type: string RestOutputCmHandle: example: cmHandle: my-cm-handle1 alternateId: my-alternate-id dataProducerIdentifier: my-data-producer-identifier publicCmHandleProperties: - key: Book Type - key: Book Type state: dataSyncEnabled: false dataSyncState: running: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED operational: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED cmHandleState: ADVISED lockReason: reason: LOCKED_MISBEHAVING details: locked due to failure in module sync lastUpdateTime: 2022-12-31T20:30:40.000+0000 trustLevel: COMPLETE moduleSetTag: my-module-set-tag properties: cmHandle: example: my-cm-handle1 type: string publicCmHandleProperties: items: additionalProperties: example: Book Type type: string type: object type: array state: $ref: '#/components/schemas/CmHandleCompositeState' trustLevel: description: Current trust level of the relevant CM handle ID. example: COMPLETE type: string moduleSetTag: example: my-module-set-tag type: string alternateId: example: my-alternate-id type: string dataProducerIdentifier: example: my-data-producer-identifier type: string title: CM handle Details type: object CmHandlePublicProperties: items: additionalProperties: example: Book Type type: string type: object type: array CmHandleCompositeState: example: dataSyncEnabled: false dataSyncState: running: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED operational: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED cmHandleState: ADVISED lockReason: reason: LOCKED_MISBEHAVING details: locked due to failure in module sync lastUpdateTime: 2022-12-31T20:30:40.000+0000 properties: cmHandleState: example: ADVISED type: string lockReason: $ref: '#/components/schemas/lock-reason' lastUpdateTime: example: 2022-12-31T20:30:40.000+0000 type: string dataSyncEnabled: example: false type: boolean dataSyncState: $ref: '#/components/schemas/dataStores' type: object lock-reason: example: reason: LOCKED_MISBEHAVING details: locked due to failure in module sync properties: reason: example: LOCKED_MISBEHAVING type: string details: example: locked due to failure in module sync type: string type: object dataStores: example: running: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED operational: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED properties: operational: $ref: '#/components/schemas/sync-state' running: $ref: '#/components/schemas/sync-state' type: object sync-state: example: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED properties: syncState: example: NONE_REQUESTED type: string lastSyncTime: example: 2022-12-31T20:30:40.000+0000 type: string type: object CmHandleTrustLevel: description: Current trust level of the relevant CM handle ID. example: COMPLETE type: string RestOutputCmHandlePublicProperties: example: publicCmHandleProperties: - key: Book Type - key: Book Type properties: publicCmHandleProperties: items: additionalProperties: example: Book Type type: string type: object type: array type: object RestOutputCmHandleCompositeState: example: state: dataSyncEnabled: false dataSyncState: running: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED operational: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED cmHandleState: ADVISED lockReason: reason: LOCKED_MISBEHAVING details: locked due to failure in module sync lastUpdateTime: 2022-12-31T20:30:40.000+0000 properties: state: $ref: '#/components/schemas/CmHandleCompositeState' type: object DmiErrorMessage_dmi_response: properties: http-code: example: 400 type: integer body: example: Bad Request type: string type: object securitySchemes: basicAuth: scheme: basic type: http