X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=docs%2Fapi%2Fswagger%2Fncmp%2Fopenapi.yaml;h=b9eee5603dc740632de98deef81d2fd096cbda8f;hb=1a65023937c209ae05c8e84093376b737e78320c;hp=b7a65632e76cb4d8ca9f8ba595447b39d6fe92e9;hpb=59aa954d37f8819acc1f927d045087254e7a6aea;p=cps.git diff --git a/docs/api/swagger/ncmp/openapi.yaml b/docs/api/swagger/ncmp/openapi.yaml index b7a65632e..b9eee5603 100644 --- a/docs/api/swagger/ncmp/openapi.yaml +++ b/docs/api/swagger/ncmp/openapi.yaml @@ -6,14 +6,21 @@ info: servers: - url: /ncmp paths: - /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-operational: + /v1/ch/{cm-handle}/data/ds/{ncmp-datastore-name}: get: tags: - network-cm-proxy - summary: Get resource data from pass-through operational for cm handle - description: Get resource data from pass-through operational for given cm handle - operationId: getResourceDataOperationalForCmHandle + summary: Get resource data for cm handle + description: Get resource data for given cm handle + operationId: getResourceDataForCmHandle parameters: + - name: ncmp-datastore-name + in: path + description: The type of the requested data + required: true + schema: + type: string + example: ncmp-datastore:operational - name: cm-handle in: path description: "The identifier for a network function, network element, subnetwork\ @@ -41,16 +48,6 @@ paths: sample 3: value: resourceIdentifier: "parent=shops,child=bookstore" - - name: Accept - in: header - description: "Accept parameter for response, if accept parameter is null,\ - \ that means client can accept any format." - required: false - schema: - type: string - enum: - - application/json - - application/yang-data+json - name: options in: query description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\ @@ -70,120 +67,24 @@ paths: sample 3: value: options: "(depth=2,fields=book/authors)" - 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 - /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-running: - get: - tags: - - network-cm-proxy - summary: Get resource data from pass-through running for cm handle - description: Get resource data from pass-through running for given cm handle - operationId: getResourceDataRunningForCmHandle - parameters: - - name: cm-handle - in: path - description: "The identifier for a network function, network element, subnetwork\ - \ or any other cm object by managed Network CM Proxy" - required: true - schema: - type: string - example: my-cm-handle - - name: resourceIdentifier + - name: topic 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 + description: topic parameter in query. + required: false 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: Accept - in: header - description: "Accept parameter for response, if accept parameter is null,\ - \ that means client can accept any format." - required: false - schema: - type: string - enum: - - application/json - - application/yang-data+json - - name: options + topic: my-topic-name + - name: include-descendants 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." + description: Determines if descendants are included in response 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)" + type: boolean + default: false responses: "200": description: OK @@ -234,6 +135,17 @@ paths: 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 @@ -242,6 +154,13 @@ paths: handle operationId: updateResourceDataRunningForCmHandle parameters: + - name: ncmp-datastore-name + in: path + description: The type of the requested data + required: true + schema: + type: string + example: ncmp-datastore:operational - name: cm-handle in: path description: "The identifier for a network function, network element, subnetwork\ @@ -340,6 +259,17 @@ paths: 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 @@ -347,6 +277,13 @@ paths: description: create resource data from pass-through running for given cm handle operationId: createResourceDataRunningForCmHandle parameters: + - name: ncmp-datastore-name + in: path + description: The type of the requested data + required: true + schema: + type: string + example: ncmp-datastore:operational - name: cm-handle in: path description: "The identifier for a network function, network element, subnetwork\ @@ -442,6 +379,17 @@ paths: 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 @@ -449,6 +397,13 @@ paths: description: Delete resource data from pass-through running for a given cm handle operationId: deleteResourceDataRunningForCmHandle parameters: + - name: ncmp-datastore-name + in: path + description: The type of the requested data + required: true + schema: + type: string + example: ncmp-datastore:operational - name: cm-handle in: path description: "The identifier for a network function, network element, subnetwork\ @@ -539,6 +494,17 @@ paths: 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 @@ -547,6 +513,13 @@ paths: handle operationId: patchResourceDataRunningForCmHandle parameters: + - name: ncmp-datastore-name + in: path + description: The type of the requested data + required: true + schema: + type: string + example: ncmp-datastore:operational - name: cm-handle in: path description: "The identifier for a network function, network element, subnetwork\ @@ -639,6 +612,17 @@ paths: 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: @@ -664,7 +648,7 @@ paths: schema: type: array items: - $ref: '#/components/schemas/ModuleReference' + $ref: '#/components/schemas/RestModuleReference' "400": description: Bad Request content: @@ -705,19 +689,95 @@ paths: 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 searches using 'hasAllModules' condition to get - all cm handles for the given module names - operationId: executeCmHandleSearch + 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/Conditions' + $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": @@ -725,7 +785,9 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CmHandles' + type: array + items: + $ref: '#/components/schemas/RestOutputCmHandle' "400": description: Bad Request content: @@ -809,6 +871,151 @@ paths: 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: @@ -839,7 +1046,157 @@ paths: 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: + securitySchemes: + basicAuth: + type: http + scheme: basic schemas: ErrorMessage: title: Error @@ -851,7 +1208,16 @@ components: type: string details: type: string - ModuleReference: + 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: @@ -861,45 +1227,59 @@ components: revision: type: string example: my-module-revision - Conditions: + RestModuleDefinition: + title: Module definitions + type: object + properties: + moduleName: + type: string + example: my-module-name + revision: + type: string + example: 2020-09-15T00:00:00.000+00:00 + content: + type: string + example: "module stores {\n yang-version 1.1;\n namespace \"org:onap:ccsdk:sample\"\ + ;\n prefix book-store;\n revision \"2020-09-15\" {\n description\n\ + \ \"Sample Model\";\n }\n}\n" + CmHandleQueryParameters: + title: Cm Handle query parameters for executing cm handle search type: object properties: + cmHandleQueryParameters: + type: array + items: + $ref: '#/components/schemas/ConditionProperties' conditions: - $ref: '#/components/schemas/ConditionsData' - ConditionsData: - type: array - items: - $ref: '#/components/schemas/ConditionProperties' + 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 - example: hasAllModules conditionParameters: - $ref: '#/components/schemas/ModuleNamesAsJsonArray' - ModuleNamesAsJsonArray: - type: array - items: - $ref: '#/components/schemas/ModuleNameAsJsonObject' + type: array + items: + $ref: '#/components/schemas/ModuleNameAsJsonObject' + deprecated: true ModuleNameAsJsonObject: properties: moduleName: type: string example: my-module - CmHandles: - type: object - properties: - cmHandles: - $ref: '#/components/schemas/CmHandleProperties' - CmHandleProperties: - type: array - items: - $ref: '#/components/schemas/CmHandleProperty' - CmHandleProperty: - properties: - cmHandleId: - type: string - example: my-cm-handle-id RestOutputCmHandle: title: CM handle Details type: object @@ -909,6 +1289,8 @@ components: example: my-cm-handle1 publicCmHandleProperties: $ref: '#/components/schemas/CmHandlePublicProperties' + state: + $ref: '#/components/schemas/CmHandleCompositeState' CmHandlePublicProperties: type: array items: @@ -916,6 +1298,66 @@ components: 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 examples: dataSampleResponse: summary: Sample response @@ -995,3 +1437,50 @@ components: 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']" + +security: + - basicAuth: []