openapi: 3.0.1 info: title: NCMP to CPS Proxy API description: NCMP to CPS Proxy API version: "1.0" servers: - url: /ncmp security: - basicAuth: [] paths: /v1/ch/{cm-handle}/data/ds/{datastore-name}: get: tags: - network-cm-proxy summary: Get resource data for cm handle description: Get resource data for given cm handle operationId: getResourceDataForCmHandle parameters: - name: datastore-name in: path description: The type of the requested data required: true schema: type: string example: ncmp-datastore:running - 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 example: my-cm-handle - name: resourceIdentifier in: query 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. required: true allowReserved: true schema: type: string examples: sample 1: value: resourceIdentifier: \shops\bookstore sample 2: value: resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]" sample 3: value: resourceIdentifier: "parent=shops,child=bookstore" - name: options in: query 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." required: false allowReserved: true schema: type: string examples: sample 1: value: options: (depth=3) sample 2: value: options: (fields=book) sample 3: value: options: "(depth=2,fields=book/authors)" - name: topic in: query description: topic parameter in query. required: false allowReserved: true schema: type: string examples: sample 1: value: topic: my-topic-name - name: include-descendants in: query description: Determines if descendants are included in response required: false schema: type: boolean default: false responses: "200": description: OK content: application/json: schema: type: object examples: dataSampleResponse: $ref: '#/components/examples/dataSampleResponse' "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred "502": description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request put: tags: - network-cm-proxy 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: - name: datastore-name in: path description: The type of the requested data required: true schema: type: string example: ncmp-datastore:running - 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 example: my-cm-handle - name: resourceIdentifier in: query 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. required: true allowReserved: true schema: type: string examples: sample 1: value: resourceIdentifier: \shops\bookstore sample 2: value: resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]" sample 3: value: resourceIdentifier: "parent=shops,child=bookstore" - 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 example: application/yang-data+json default: application/json requestBody: content: application/json: schema: type: object examples: dataSampleRequest: $ref: '#/components/examples/dataSampleRequest' application/yang-data+json: schema: type: object examples: dataSampleRequest: $ref: '#/components/examples/dataSampleRequest' required: true responses: "200": description: OK content: application/json: schema: type: object "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred "502": description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request 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: datastore-name in: path description: The type of the requested data required: true schema: type: string example: ncmp-datastore:running - 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 example: my-cm-handle - name: resourceIdentifier in: query 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. required: true allowReserved: true schema: type: string examples: sample 1: value: resourceIdentifier: \shops\bookstore sample 2: value: resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]" sample 3: value: resourceIdentifier: "parent=shops,child=bookstore" - 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 example: application/yang-data+json default: application/json requestBody: content: application/json: schema: type: object examples: dataSampleRequest: $ref: '#/components/examples/dataSampleRequest' application/yang-data+json: schema: type: object examples: dataSampleRequest: $ref: '#/components/examples/dataSampleRequest' required: true responses: "201": description: Created content: {} "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred "502": description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request delete: tags: - network-cm-proxy summary: Delete resource data description: Delete resource data from pass-through running for a given cm handle operationId: deleteResourceDataRunningForCmHandle parameters: - name: datastore-name in: path description: The type of the requested data required: true schema: type: string example: ncmp-datastore:running - 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 example: my-cm-handle - name: resourceIdentifier in: query 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. required: true allowReserved: true schema: type: string examples: sample 1: value: resourceIdentifier: \shops\bookstore sample 2: value: resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]" sample 3: value: resourceIdentifier: "parent=shops,child=bookstore" - 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 example: application/yang-data+json default: application/json responses: "204": description: No Content content: {} "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details "404": description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 message: Not found error message details: Not found error details "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred "502": description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request patch: tags: - network-cm-proxy summary: Patch resource data from pass-through running description: Patch resource data from pass-through running for the given cm handle operationId: patchResourceDataRunningForCmHandle parameters: - name: datastore-name in: path description: The type of the requested data required: true schema: type: string example: ncmp-datastore:running - 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 example: my-cm-handle - name: resourceIdentifier in: query 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. required: true allowReserved: true schema: type: string examples: sample 1: value: resourceIdentifier: \shops\bookstore sample 2: value: resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]" sample 3: value: resourceIdentifier: "parent=shops,child=bookstore" - 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 example: application/yang-data+json default: application/json requestBody: content: '*/*': schema: type: object examples: dataSampleRequest: $ref: '#/components/examples/dataSamplePatchRequest' required: true responses: "200": description: OK content: application/json: schema: type: object "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred "502": description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request /v1/batch/data/ds/{datastore-name}: post: tags: - network-cm-proxy summary: Get resource data for batch of cm handle ids 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. operationId: getResourceDataForCmHandleBatch parameters: - name: datastore-name in: path description: The type of the requested data required: true schema: type: string example: ncmp-datastore:running - name: resourceIdentifier in: query 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. required: true allowReserved: true schema: type: string examples: sample 1: value: resourceIdentifier: \shops\bookstore sample 2: value: resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]" sample 3: value: resourceIdentifier: "parent=shops,child=bookstore" - name: options in: query 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." required: false allowReserved: true schema: type: string examples: sample 1: value: options: (depth=3) sample 2: value: options: (fields=book) sample 3: value: options: "(depth=2,fields=book/authors)" - name: topic in: query description: mandatory topic parameter in query. required: true allowReserved: true schema: type: string examples: sample 1: value: topic: my-topic-name - name: include-descendants in: query description: Determines if descendants are included in response required: false schema: type: boolean default: false requestBody: content: application/json: schema: type: object required: true responses: "200": description: OK content: application/json: schema: type: object "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred "502": description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request /v1/ch/{cm-handle}/data/ds/{datastore-name}/query: get: tags: - network-cm-proxy summary: Query resource data for a given cm handle description: Query resource data for a given cm handle operationId: queryResourceDataForCmHandle parameters: - name: datastore-name in: path description: The type of the requested data required: true schema: type: string example: ncmp-datastore:running - 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 example: my-cm-handle - name: cps-path in: query description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" required: false schema: type: string default: / examples: container cps path: value: //bookstore list attributes cps path: value: "//categories[@code=1]" - name: options in: query 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." required: false allowReserved: true schema: type: string examples: sample 1: value: options: (depth=3) sample 2: value: options: (fields=book) sample 3: value: options: "(depth=2,fields=book/authors)" - name: topic in: query description: topic parameter in query. required: false allowReserved: true schema: type: string examples: sample 1: value: topic: my-topic-name - name: include-descendants in: query description: Determines if descendants are included in response required: false schema: type: boolean default: false responses: "200": description: OK content: application/json: schema: type: object examples: dataSampleResponse: $ref: '#/components/examples/dataSampleResponse' "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred "502": description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request /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 example: my-cm-handle responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RestModuleReference' "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred /v1/ch/{cm-handle}/modules/definitions: get: tags: - network-cm-proxy summary: "Fetch all module definitions (name, revision, yang resource) for a\ \ given cm handle" description: "Fetch all module definitions (name, revision, yang resource) for\ \ a given cm handle" operationId: getModuleDefinitionsByCmHandleId 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 example: my-cm-handle responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RestModuleDefinition' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred /v1/ch/searches: post: tags: - network-cm-proxy summary: Execute cm handle search using the available conditions 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. operationId: searchCmHandles requestBody: content: application/json: schema: $ref: '#/components/schemas/CmHandleQueryParameters' examples: Cm handle properties query: $ref: '#/components/examples/pubPropCmHandleQueryParameters' Cm handle modules query: $ref: '#/components/examples/modulesCmHandleQueryParameters' All cm handle query parameters: $ref: '#/components/examples/allCmHandleQueryParameters' Cm handle with CPS path state query: $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters' Cm handle with data sync flag query: $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters' required: true responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RestOutputCmHandle' "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred /v1/ch/{cm-handle}: get: tags: - network-cm-proxy summary: Retrieve CM handle details description: Retrieve CM handle details and properties by cm handle id operationId: retrieveCmHandleDetailsById 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 example: my-cm-handle responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/RestOutputCmHandle' "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details "404": description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 message: Not found error message details: Not found error details "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred /v1/ch/{cm-handle}/properties: get: tags: - network-cm-proxy summary: Get CM handle properties description: Get CM handle properties by cm handle id operationId: getCmHandlePublicPropertiesByCmHandleId 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 example: my-cm-handle responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/RestOutputCmHandlePublicProperties' "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details "404": description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 message: Not found error message details: Not found error details "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred /v1/ch/id-searches: post: tags: - network-cm-proxy summary: Execute cm handle query upon a given set of query parameters 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. operationId: searchCmHandleIds requestBody: content: application/json: schema: $ref: '#/components/schemas/CmHandleQueryParameters' examples: Cm handle properties query: $ref: '#/components/examples/pubPropCmHandleQueryParameters' Cm handle modules query: $ref: '#/components/examples/modulesCmHandleQueryParameters' All cm handle query parameters: $ref: '#/components/examples/allCmHandleQueryParameters' Cm handle with CPS path state query: $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters' Cm handle with data sync flag query: $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters' required: true responses: "200": description: OK content: application/json: schema: type: array items: type: string "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details "404": description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 message: Not found error message details: Not found error details "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred /v1/ch/{cm-handle}/state: get: tags: - network-cm-proxy summary: Get CM handle state description: Get CM handle state by cm handle id operationId: getCmHandleStateByCmHandleId 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 example: my-cm-handle responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/RestOutputCmHandleCompositeState' "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details "404": description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 message: Not found error message details: Not found error details "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred /v1/ch/{cm-handle}/data-sync: 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: - 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 example: my-cm-handle - name: dataSyncEnabled in: query description: Is used to enable or disable the data synchronization flag required: true schema: type: boolean example: true responses: "200": description: OK content: application/json: schema: type: object "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred "502": description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request components: schemas: ErrorMessage: title: Error type: object properties: status: type: string message: type: string details: type: string DmiErrorMessage: title: DMI Error Message type: object properties: message: type: string example: Bad Gateway Error Message NCMP dmi-response: $ref: '#/components/schemas/DmiErrorMessage_dmiresponse' RestModuleReference: title: Module reference details type: object properties: moduleName: type: string example: my-module-name revision: type: string example: my-module-revision RestModuleDefinition: title: Module definitions type: object properties: moduleName: type: string example: my-module-name revision: type: string example: 2020-09-15 content: type: string example: | module stores { yang-version 1.1; namespace "org:onap:ccsdk:sample"; prefix book-store; revision "2020-09-15" { description "Sample Model"; } } CmHandleQueryParameters: title: Cm Handle query parameters for executing cm handle search type: object properties: cmHandleQueryParameters: type: array items: $ref: '#/components/schemas/ConditionProperties' conditions: type: array description: "not necessary, it is just for backward compatibility" deprecated: true items: $ref: '#/components/schemas/OldConditionProperties' ConditionProperties: properties: conditionName: type: string conditionParameters: type: array items: type: object additionalProperties: type: string OldConditionProperties: properties: name: type: string conditionParameters: type: array items: $ref: '#/components/schemas/ModuleNameAsJsonObject' deprecated: true ModuleNameAsJsonObject: properties: moduleName: type: string example: my-module RestOutputCmHandle: title: CM handle Details type: object properties: cmHandle: type: string example: my-cm-handle1 publicCmHandleProperties: $ref: '#/components/schemas/CmHandlePublicProperties' state: $ref: '#/components/schemas/CmHandleCompositeState' CmHandlePublicProperties: type: array items: type: object additionalProperties: type: string example: Book Type CmHandleCompositeState: type: object properties: cmHandleState: type: string example: ADVISED lockReason: $ref: '#/components/schemas/lock-reason' lastUpdateTime: type: string example: 2022-12-31T20:30:40.000+0000 dataSyncEnabled: type: boolean example: false dataSyncState: $ref: '#/components/schemas/dataStores' lock-reason: type: object properties: reason: type: string example: LOCKED_MISBEHAVING details: type: string example: locked due to failure in module sync dataStores: type: object properties: operational: $ref: '#/components/schemas/sync-state' running: $ref: '#/components/schemas/sync-state' sync-state: type: object properties: syncState: type: string example: NONE_REQUESTED lastSyncTime: type: string example: 2022-12-31T20:30:40.000+0000 RestOutputCmHandlePublicProperties: type: object properties: publicCmHandleProperties: $ref: '#/components/schemas/CmHandlePublicProperties' RestOutputCmHandleCompositeState: type: object properties: state: $ref: '#/components/schemas/CmHandleCompositeState' DmiErrorMessage_dmiresponse: type: object properties: http-code: type: integer example: 400 body: type: string example: Bad Request responses: BadRequest: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details InternalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 500 message: Internal Server Error details: Internal Server Error occurred BadGateway: description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request Ok: description: OK content: application/json: schema: type: object Created: description: Created content: {} NoContent: description: No Content content: {} NotFound: description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: status: 400 message: Not found error message details: Not found error details parameters: datastoreName: name: datastore-name in: path description: The type of the requested data required: true schema: type: string example: ncmp-datastore:running cmHandleInPath: 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 example: my-cm-handle resourceIdentifierInQuery: name: resourceIdentifier in: query 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. required: true allowReserved: true schema: type: string examples: sample 1: value: resourceIdentifier: \shops\bookstore sample 2: value: resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]" sample 3: value: resourceIdentifier: "parent=shops,child=bookstore" optionsParamInQuery: name: options in: query 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." required: false allowReserved: true schema: type: string examples: sample 1: value: options: (depth=3) sample 2: value: options: (fields=book) sample 3: value: options: "(depth=2,fields=book/authors)" topicParamInQuery: name: topic in: query description: topic parameter in query. required: false allowReserved: true schema: type: string examples: sample 1: value: topic: my-topic-name includeDescendantsOptionInQuery: name: include-descendants in: query description: Determines if descendants are included in response required: false schema: type: boolean default: false contentParamInHeader: 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 example: application/yang-data+json default: application/json requiredTopicParamInQuery: name: topic in: query description: mandatory topic parameter in query. required: true allowReserved: true schema: type: string examples: sample 1: value: topic: my-topic-name cpsPathInQuery: name: cps-path in: query description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" required: false schema: type: string default: / examples: container cps path: value: //bookstore list attributes cps path: value: "//categories[@code=1]" dataSyncEnabled: name: dataSyncEnabled in: query description: Is used to enable or disable the data synchronization flag required: true schema: type: boolean example: true examples: dataSampleResponse: summary: Sample response description: Sample response for selecting 'sample 1'. 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: summary: Sample request description: Sample request body 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: summary: Sample patch request description: Sample patch request body 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']" securitySchemes: basicAuth: type: http scheme: basic