diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/api/swagger/cps/openapi.yaml | 1816 | ||||
-rw-r--r-- | docs/api/swagger/ncmp/openapi.yaml | 88 | ||||
-rw-r--r-- | docs/api/swagger/policy-executor/openapi.yaml | 315 | ||||
-rw-r--r-- | docs/cps-delta-endpoints.rst | 53 | ||||
-rw-r--r-- | docs/cps-delta-feature.rst | 13 | ||||
-rw-r--r-- | docs/release-notes.rst | 38 |
6 files changed, 1229 insertions, 1094 deletions
diff --git a/docs/api/swagger/cps/openapi.yaml b/docs/api/swagger/cps/openapi.yaml index 74b5234828..d22b2887a6 100644 --- a/docs/api/swagger/cps/openapi.yaml +++ b/docs/api/swagger/cps/openapi.yaml @@ -11,14 +11,14 @@ info: title: ONAP Open API v3 Configuration Persistence Service version: 3.5.2 servers: - - url: /cps/api +- url: /cps/api security: - - basicAuth: [] +- basicAuth: [] tags: - - description: cps Admin - name: cps-admin - - description: cps Data - name: cps-data +- description: cps Admin + name: cps-admin +- description: cps Data + name: cps-data paths: /v1/dataspaces: post: @@ -26,13 +26,13 @@ paths: description: Create a new dataspace operationId: createDataspace parameters: - - description: dataspace-name - in: query - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string + - description: dataspace-name + in: query + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string responses: "201": content: @@ -83,29 +83,29 @@ paths: description: Internal Server Error summary: Create a dataspace tags: - - cps-admin + - cps-admin /{apiVersion}/dataspaces: delete: description: Delete a dataspace operationId: deleteDataspace parameters: - - description: apiVersion - in: path - name: apiVersion - required: true - schema: - default: v2 - enum: - - v1 - - v2 - type: string - - description: dataspace-name - in: query - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string + - description: apiVersion + in: path + name: apiVersion + required: true + schema: + default: v2 + enum: + - v1 + - v2 + type: string + - description: dataspace-name + in: query + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string responses: "204": content: {} @@ -152,19 +152,19 @@ paths: description: Internal Server Error summary: Delete a dataspace tags: - - cps-admin + - cps-admin /v2/dataspaces: post: description: Create a new dataspace operationId: createDataspaceV2 parameters: - - description: dataspace-name - in: query - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string + - description: dataspace-name + in: query + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string responses: "201": description: Created without response body @@ -210,22 +210,22 @@ paths: description: Internal Server Error summary: Create a dataspace tags: - - cps-admin + - cps-admin /{apiVersion}/admin/dataspaces: get: description: Read all dataspaces operationId: getAllDataspaces parameters: - - description: apiVersion - in: path - name: apiVersion - required: true - schema: - default: v2 - enum: - - v1 - - v2 - type: string + - description: apiVersion + in: path + name: apiVersion + required: true + schema: + default: v2 + enum: + - v1 + - v2 + type: string responses: "200": content: @@ -267,29 +267,29 @@ paths: description: Internal Server Error summary: Get all dataspaces tags: - - cps-admin + - cps-admin /{apiVersion}/admin/dataspaces/{dataspace-name}: get: description: Read a dataspace given a dataspace name operationId: getDataspace parameters: - - description: apiVersion - in: path - name: apiVersion - required: true - schema: - default: v2 - enum: - - v1 - - v2 - type: string - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string + - description: apiVersion + in: path + name: apiVersion + required: true + schema: + default: v2 + enum: + - v1 + - v2 + type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string responses: "200": content: @@ -329,34 +329,34 @@ paths: description: Internal Server Error summary: Get a dataspace tags: - - cps-admin + - cps-admin /v1/dataspaces/{dataspace-name}/anchors: post: deprecated: true description: Create a new anchor in the given dataspace operationId: createAnchor parameters: - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: schema-set-name - in: query - name: schema-set-name - required: true - schema: - example: my-schema-set - type: string - - description: anchor-name - in: query - name: anchor-name - required: true - schema: - example: my-anchor - type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: schema-set-name + in: query + name: schema-set-name + required: true + schema: + example: my-schema-set + type: string + - description: anchor-name + in: query + name: anchor-name + required: true + schema: + example: my-anchor + type: string responses: "201": content: @@ -407,33 +407,33 @@ paths: description: Internal Server Error summary: Create an anchor tags: - - cps-admin + - cps-admin /v2/dataspaces/{dataspace-name}/anchors: post: description: Create a new anchor in the given dataspace operationId: createAnchorV2 parameters: - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: schema-set-name - in: query - name: schema-set-name - required: true - schema: - example: my-schema-set - type: string - - description: anchor-name - in: query - name: anchor-name - required: true - schema: - example: my-anchor - type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: schema-set-name + in: query + name: schema-set-name + required: true + schema: + example: my-schema-set + type: string + - description: anchor-name + in: query + name: anchor-name + required: true + schema: + example: my-anchor + type: string responses: "201": description: Created without response body @@ -479,29 +479,29 @@ paths: description: Internal Server Error summary: Create an anchor tags: - - cps-admin + - cps-admin /{apiVersion}/dataspaces/{dataspace-name}/anchors: get: description: "Read all anchors, given a dataspace" operationId: getAnchors parameters: - - description: apiVersion - in: path - name: apiVersion - required: true - schema: - default: v2 - enum: - - v1 - - v2 - type: string - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string + - description: apiVersion + in: path + name: apiVersion + required: true + schema: + default: v2 + enum: + - v1 + - v2 + type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string responses: "200": content: @@ -543,36 +543,36 @@ paths: description: Internal Server Error summary: Get anchors tags: - - cps-admin + - cps-admin /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}: delete: description: Delete an anchor given an anchor name and a dataspace operationId: deleteAnchor parameters: - - description: apiVersion - in: path - name: apiVersion - required: true - schema: - default: v2 - enum: - - v1 - - v2 - type: string - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: anchor-name - in: path - name: anchor-name - required: true - schema: - example: my-anchor - type: string + - description: apiVersion + in: path + name: apiVersion + required: true + schema: + default: v2 + enum: + - v1 + - v2 + type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: anchor-name + in: path + name: anchor-name + required: true + schema: + example: my-anchor + type: string responses: "204": content: {} @@ -609,35 +609,35 @@ paths: description: Internal Server Error summary: Delete an anchor tags: - - cps-admin + - cps-admin get: description: Read an anchor given an anchor name and a dataspace operationId: getAnchor parameters: - - description: apiVersion - in: path - name: apiVersion - required: true - schema: - default: v2 - enum: - - v1 - - v2 - type: string - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: anchor-name - in: path - name: anchor-name - required: true - schema: - example: my-anchor - type: string + - description: apiVersion + in: path + name: apiVersion + required: true + schema: + default: v2 + enum: + - v1 + - v2 + type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: anchor-name + in: path + name: anchor-name + required: true + schema: + example: my-anchor + type: string responses: "200": content: @@ -677,27 +677,27 @@ paths: description: Internal Server Error summary: Get an anchor tags: - - cps-admin + - cps-admin /v1/dataspaces/{dataspace-name}/schema-sets: post: deprecated: true description: Create a new schema set in the given dataspace operationId: createSchemaSet parameters: - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: schema-set-name - in: query - name: schema-set-name - required: true - schema: - example: my-schema-set - type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: schema-set-name + in: query + name: schema-set-name + required: true + schema: + example: my-schema-set + type: string requestBody: content: multipart/form-data: @@ -754,26 +754,26 @@ paths: description: Internal Server Error summary: Create a schema set tags: - - cps-admin + - cps-admin /v2/dataspaces/{dataspace-name}/schema-sets: post: description: Create a new schema set in the given dataspace operationId: createSchemaSetV2 parameters: - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: schema-set-name - in: query - name: schema-set-name - required: true - schema: - example: my-schema-set - type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: schema-set-name + in: query + name: schema-set-name + required: true + schema: + example: my-schema-set + type: string requestBody: content: multipart/form-data: @@ -825,29 +825,29 @@ paths: description: Internal Server Error summary: Create a schema set tags: - - cps-admin + - cps-admin /{apiVersion}/dataspaces/{dataspace-name}/schema-sets: get: description: "Read all schema sets, given a dataspace" operationId: getSchemaSets parameters: - - description: apiVersion - in: path - name: apiVersion - required: true - schema: - default: v2 - enum: - - v1 - - v2 - type: string - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string + - description: apiVersion + in: path + name: apiVersion + required: true + schema: + default: v2 + enum: + - v1 + - v2 + type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string responses: "200": content: @@ -889,36 +889,36 @@ paths: description: Internal Server Error summary: Get schema sets tags: - - cps-admin + - cps-admin /{apiVersion}/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}: delete: description: Delete a schema set given a schema set name and a dataspace operationId: deleteSchemaSet parameters: - - description: apiVersion - in: path - name: apiVersion - required: true - schema: - default: v2 - enum: - - v1 - - v2 - type: string - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: schema-set-name - in: path - name: schema-set-name - required: true - schema: - example: my-schema-set - type: string + - description: apiVersion + in: path + name: apiVersion + required: true + schema: + default: v2 + enum: + - v1 + - v2 + type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: schema-set-name + in: path + name: schema-set-name + required: true + schema: + example: my-schema-set + type: string responses: "204": content: {} @@ -965,35 +965,35 @@ paths: description: Internal Server Error summary: Delete a schema set tags: - - cps-admin + - cps-admin get: description: Read a schema set given a schema set name and a dataspace operationId: getSchemaSet parameters: - - description: apiVersion - in: path - name: apiVersion - required: true - schema: - default: v2 - enum: - - v1 - - v2 - type: string - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: schema-set-name - in: path - name: schema-set-name - required: true - schema: - example: my-schema-set - type: string + - description: apiVersion + in: path + name: apiVersion + required: true + schema: + default: v2 + enum: + - v1 + - v2 + type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: schema-set-name + in: path + name: schema-set-name + required: true + schema: + example: my-schema-set + type: string responses: "200": content: @@ -1033,7 +1033,7 @@ paths: description: Internal Server Error summary: Get a schema set tags: - - cps-admin + - cps-admin /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/node: get: deprecated: true @@ -1041,40 +1041,40 @@ paths: anchor and dataspace operationId: getNodeByDataspaceAndAnchor parameters: - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: anchor-name - in: path - name: anchor-name - required: true - schema: - example: my-anchor - type: string - - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" - examples: - container xpath: - value: /shops/bookstore - list attributes xpath: - value: "/shops/bookstore/categories[@code=1]" - in: query - name: xpath - required: false - schema: - default: / - type: string - - description: include-descendants - in: query - name: include-descendants - required: false - schema: - default: false - example: false - type: boolean + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: anchor-name + in: path + name: anchor-name + required: true + schema: + example: my-anchor + type: string + - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" + in: query + name: xpath + required: false + schema: + default: / + type: string + - description: include-descendants + in: query + name: include-descendants + required: false + schema: + default: false + example: false + type: boolean responses: "200": content: @@ -1118,7 +1118,7 @@ paths: description: Internal Server Error summary: Get a node tags: - - cps-data + - cps-data x-codegen-request-body-name: xpath /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/node: get: @@ -1126,42 +1126,42 @@ paths: anchor and dataspace operationId: getNodeByDataspaceAndAnchorV2 parameters: - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: anchor-name - in: path - name: anchor-name - required: true - schema: - example: my-anchor - type: string - - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" - examples: - container xpath: - value: /shops/bookstore - list attributes xpath: - value: "/shops/bookstore/categories[@code=1]" - in: query - name: xpath - required: false - schema: - default: / - type: string - - description: "Number of descendants to query. Allowed values are 'none', 'all',\ + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: anchor-name + in: path + name: anchor-name + required: true + schema: + example: my-anchor + type: string + - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" + in: query + name: xpath + required: false + schema: + default: / + type: string + - description: "Number of descendants to query. Allowed values are 'none', 'all',\ \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive\ \ number." - in: query - name: descendants - required: false - schema: - default: none - example: "3" - type: string + in: query + name: descendants + required: false + schema: + default: none + example: "3" + type: string responses: "200": content: @@ -1205,7 +1205,7 @@ paths: description: Internal Server Error summary: Get a node tags: - - cps-data + - cps-data x-codegen-request-body-name: xpath /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes: delete: @@ -1213,49 +1213,49 @@ paths: xpath. operationId: deleteDataNode parameters: - - description: apiVersion - in: path - name: apiVersion - required: true - schema: - default: v2 - enum: - - v1 - - v2 - type: string - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: anchor-name - in: path - name: anchor-name - required: true - schema: - example: my-anchor - type: string - - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" - examples: - container xpath: - value: /shops/bookstore - list attributes xpath: - value: "/shops/bookstore/categories[@code=1]" - in: query - name: xpath - required: false - schema: - default: / - type: string - - description: observed-timestamp - in: query - name: observed-timestamp - required: false - schema: - example: 2021-03-21T00:10:34.030-0100 - type: string + - description: apiVersion + in: path + name: apiVersion + required: true + schema: + default: v2 + enum: + - v1 + - v2 + type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: anchor-name + in: path + name: anchor-name + required: true + schema: + example: my-anchor + type: string + - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" + in: query + name: xpath + required: false + schema: + default: / + type: string + - description: observed-timestamp + in: query + name: observed-timestamp + required: false + schema: + example: 2021-03-21T00:10:34.030-0100 + type: string responses: "204": content: {} @@ -1292,63 +1292,63 @@ paths: description: Internal Server Error summary: Delete a data node tags: - - cps-data + - cps-data patch: description: Update a data node leaves for a given dataspace and anchor and a parent node xpath. This operation is currently supported for one top level data node only. operationId: updateNodeLeaves parameters: - - description: apiVersion - in: path - name: apiVersion - required: true - schema: - default: v2 - enum: - - v1 - - v2 - type: string - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: anchor-name - in: path - name: anchor-name - required: true - schema: - example: my-anchor - type: string - - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" - examples: - container xpath: - value: /shops/bookstore - list attributes xpath: - value: "/shops/bookstore/categories[@code=1]" - in: query - name: xpath - required: false - schema: - default: / - type: string - - description: observed-timestamp - in: query - name: observed-timestamp - required: false - schema: - example: 2021-03-21T00:10:34.030-0100 - type: string - - description: Content type in header - in: header - name: Content-Type - required: true - schema: - example: application/json - type: string + - description: apiVersion + in: path + name: apiVersion + required: true + schema: + default: v2 + enum: + - v1 + - v2 + type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: anchor-name + in: path + name: anchor-name + required: true + schema: + example: my-anchor + type: string + - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" + in: query + name: xpath + required: false + schema: + default: / + type: string + - description: observed-timestamp + in: query + name: observed-timestamp + required: false + schema: + example: 2021-03-21T00:10:34.030-0100 + type: string + - description: Content type in header + in: header + name: Content-Type + required: true + schema: + example: application/json + type: string requestBody: content: application/json: @@ -1410,61 +1410,61 @@ paths: description: Internal Server Error summary: Update node leaves tags: - - cps-data + - cps-data post: description: Create a node for a given anchor and dataspace operationId: createNode parameters: - - description: apiVersion - in: path - name: apiVersion - required: true - schema: - default: v2 - enum: - - v1 - - v2 - type: string - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: anchor-name - in: path - name: anchor-name - required: true - schema: - example: my-anchor - type: string - - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" - examples: - container xpath: - value: /shops/bookstore - list attributes xpath: - value: "/shops/bookstore/categories[@code=1]" - in: query - name: xpath - required: false - schema: - default: / - type: string - - description: observed-timestamp - in: query - name: observed-timestamp - required: false - schema: - example: 2021-03-21T00:10:34.030-0100 - type: string - - description: Content type in header - in: header - name: Content-Type - required: true - schema: - example: application/json - type: string + - description: apiVersion + in: path + name: apiVersion + required: true + schema: + default: v2 + enum: + - v1 + - v2 + type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: anchor-name + in: path + name: anchor-name + required: true + schema: + example: my-anchor + type: string + - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" + in: query + name: xpath + required: false + schema: + default: / + type: string + - description: observed-timestamp + in: query + name: observed-timestamp + required: false + schema: + example: 2021-03-21T00:10:34.030-0100 + type: string + - description: Content type in header + in: header + name: Content-Type + required: true + schema: + example: application/json + type: string requestBody: content: application/json: @@ -1534,62 +1534,62 @@ paths: description: Internal Server Error summary: Create a node tags: - - cps-data + - cps-data put: description: "Replace a node with descendants for a given dataspace, anchor\ \ and a parent node xpath" operationId: replaceNode parameters: - - description: apiVersion - in: path - name: apiVersion - required: true - schema: - default: v2 - enum: - - v1 - - v2 - type: string - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: anchor-name - in: path - name: anchor-name - required: true - schema: - example: my-anchor - type: string - - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" - examples: - container xpath: - value: /shops/bookstore - list attributes xpath: - value: "/shops/bookstore/categories[@code=1]" - in: query - name: xpath - required: false - schema: - default: / - type: string - - description: observed-timestamp - in: query - name: observed-timestamp - required: false - schema: - example: 2021-03-21T00:10:34.030-0100 - type: string - - description: Content type in header - in: header - name: Content-Type - required: true - schema: - example: application/json - type: string + - description: apiVersion + in: path + name: apiVersion + required: true + schema: + default: v2 + enum: + - v1 + - v2 + type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: anchor-name + in: path + name: anchor-name + required: true + schema: + example: my-anchor + type: string + - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" + in: query + name: xpath + required: false + schema: + default: / + type: string + - description: observed-timestamp + in: query + name: observed-timestamp + required: false + schema: + example: 2021-03-21T00:10:34.030-0100 + type: string + - description: Content type in header + in: header + name: Content-Type + required: true + schema: + example: application/json + type: string requestBody: content: application/json: @@ -1651,45 +1651,45 @@ paths: description: Internal Server Error summary: Replace a node with descendants tags: - - cps-data + - cps-data /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes: delete: deprecated: true description: Delete one or all list element(s) for a given anchor and dataspace operationId: deleteListOrListElement parameters: - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: anchor-name - in: path - name: anchor-name - required: true - schema: - example: my-anchor - type: string - - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" - examples: - container xpath: - value: /shops/bookstore - list attributes xpath: - value: "/shops/bookstore/categories[@code=1]" - in: query - name: xpath - required: true - schema: - type: string - - description: observed-timestamp - in: query - name: observed-timestamp - required: false - schema: - example: 2021-03-21T00:10:34.030-0100 - type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: anchor-name + in: path + name: anchor-name + required: true + schema: + example: my-anchor + type: string + - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" + in: query + name: xpath + required: true + schema: + type: string + - description: observed-timestamp + in: query + name: observed-timestamp + required: false + schema: + example: 2021-03-21T00:10:34.030-0100 + type: string responses: "204": content: {} @@ -1726,61 +1726,61 @@ paths: description: Internal Server Error summary: Delete one or all list element(s) tags: - - cps-data + - cps-data /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes: post: description: Add list element(s) to a list for a given anchor and dataspace operationId: addListElements parameters: - - description: apiVersion - in: path - name: apiVersion - required: true - schema: - default: v2 - enum: - - v1 - - v2 - type: string - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: anchor-name - in: path - name: anchor-name - required: true - schema: - example: my-anchor - type: string - - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" - examples: - container xpath: - value: /shops/bookstore - list attributes xpath: - value: "/shops/bookstore/categories[@code=1]" - in: query - name: xpath - required: true - schema: - type: string - - description: observed-timestamp - in: query - name: observed-timestamp - required: false - schema: - example: 2021-03-21T00:10:34.030-0100 - type: string - - description: Content type in header - in: header - name: Content-Type - required: true - schema: - example: application/json - type: string + - description: apiVersion + in: path + name: apiVersion + required: true + schema: + default: v2 + enum: + - v1 + - v2 + type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: anchor-name + in: path + name: anchor-name + required: true + schema: + example: my-anchor + type: string + - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" + in: query + name: xpath + required: true + schema: + type: string + - description: observed-timestamp + in: query + name: observed-timestamp + required: false + schema: + example: 2021-03-21T00:10:34.030-0100 + type: string + - description: Content type in header + in: header + name: Content-Type + required: true + schema: + example: application/json + type: string requestBody: content: application/json: @@ -1840,53 +1840,53 @@ paths: description: Internal Server Error summary: Add list element(s) tags: - - cps-data + - cps-data put: description: "Replace list content under a given parent, anchor and dataspace" operationId: replaceListContent parameters: - - description: apiVersion - in: path - name: apiVersion - required: true - schema: - default: v2 - enum: - - v1 - - v2 - type: string - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: anchor-name - in: path - name: anchor-name - required: true - schema: - example: my-anchor - type: string - - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" - examples: - container xpath: - value: /shops/bookstore - list attributes xpath: - value: "/shops/bookstore/categories[@code=1]" - in: query - name: xpath - required: true - schema: - type: string - - description: observed-timestamp - in: query - name: observed-timestamp - required: false - schema: - example: 2021-03-21T00:10:34.030-0100 - type: string + - description: apiVersion + in: path + name: apiVersion + required: true + schema: + default: v2 + enum: + - v1 + - v2 + type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: anchor-name + in: path + name: anchor-name + required: true + schema: + example: my-anchor + type: string + - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" + in: query + name: xpath + required: true + schema: + type: string + - description: observed-timestamp + in: query + name: observed-timestamp + required: false + schema: + example: 2021-03-21T00:10:34.030-0100 + type: string requestBody: content: application/json: @@ -1939,55 +1939,55 @@ paths: description: Internal Server Error summary: Replace list content tags: - - cps-data + - cps-data /v2/dataspaces/{dataspace-name}/anchors/{source-anchor-name}/delta: get: description: Get delta between two anchors within a given dataspace operationId: getDeltaByDataspaceAndAnchors parameters: - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: source-anchor-name - in: path - name: source-anchor-name - required: true - schema: - example: my-anchor - type: string - - description: target-anchor-name - in: query - name: target-anchor-name - required: true - schema: - example: my-anchor - type: string - - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" - examples: - container xpath: - value: /shops/bookstore - list attributes xpath: - value: "/shops/bookstore/categories[@code=1]" - in: query - name: xpath - required: false - schema: - default: / - type: string - - description: "Number of descendants to query. Allowed values are 'none', 'all',\ + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: source-anchor-name + in: path + name: source-anchor-name + required: true + schema: + example: my-anchor + type: string + - description: target-anchor-name + in: query + name: target-anchor-name + required: true + schema: + example: my-anchor + type: string + - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" + in: query + name: xpath + required: false + schema: + default: / + type: string + - description: "Number of descendants to query. Allowed values are 'none', 'all',\ \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive\ \ number." - in: query - name: descendants - required: false - schema: - default: none - example: "3" - type: string + in: query + name: descendants + required: false + schema: + default: none + example: "3" + type: string responses: "200": content: @@ -2031,38 +2031,38 @@ paths: description: Internal Server Error summary: Get delta between anchors in the same dataspace tags: - - cps-data + - cps-data x-codegen-request-body-name: xpath post: description: Get delta between an anchor in a dataspace and JSON payload operationId: getDeltaByDataspaceAnchorAndPayload parameters: - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: source-anchor-name - in: path - name: source-anchor-name - required: true - schema: - example: my-anchor - type: string - - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" - examples: - container xpath: - value: /shops/bookstore - list attributes xpath: - value: "/shops/bookstore/categories[@code=1]" - in: query - name: xpath - required: false - schema: - default: / - type: string + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: source-anchor-name + in: path + name: source-anchor-name + required: true + schema: + example: my-anchor + type: string + - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" + in: query + name: xpath + required: false + schema: + default: / + type: string requestBody: content: multipart/form-data: @@ -2121,47 +2121,47 @@ paths: description: Internal Server Error summary: Get delta between an anchor and JSON payload tags: - - cps-data + - cps-data /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query: get: deprecated: true description: Query data nodes for the given dataspace and anchor using CPS path operationId: getNodesByDataspaceAndAnchorAndCpsPath parameters: - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: anchor-name - in: path - name: anchor-name - required: true - schema: - example: my-anchor - 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: include-descendants - in: query - name: include-descendants - required: false - schema: - default: false - example: false - type: boolean + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: anchor-name + in: path + name: anchor-name + required: true + schema: + example: my-anchor + 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: include-descendants + in: query + name: include-descendants + required: false + schema: + default: false + example: false + type: boolean responses: "200": content: @@ -2205,49 +2205,49 @@ paths: description: Internal Server Error summary: Query data nodes tags: - - cps-query + - cps-query x-codegen-request-body-name: xpath /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query: get: description: Query data nodes for the given dataspace and anchor using CPS path operationId: getNodesByDataspaceAndAnchorAndCpsPathV2 parameters: - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - type: string - - description: anchor-name - in: path - name: anchor-name - required: true - schema: - example: my-anchor - 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: "Number of descendants to query. Allowed values are 'none', 'all',\ + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: anchor-name + in: path + name: anchor-name + required: true + schema: + example: my-anchor + 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: "Number of descendants to query. Allowed values are 'none', 'all',\ \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive\ \ number." - in: query - name: descendants - required: false - schema: - default: none - example: "3" - type: string + in: query + name: descendants + required: false + schema: + default: none + example: "3" + type: string responses: "200": content: @@ -2291,7 +2291,7 @@ paths: description: Internal Server Error summary: Query data nodes tags: - - cps-query + - cps-query x-codegen-request-body-name: xpath /v2/dataspaces/{dataspace-name}/nodes/query: get: @@ -2299,51 +2299,51 @@ paths: path operationId: getNodesByDataspaceAndCpsPath parameters: - - description: dataspace-name - in: path - name: dataspace-name - required: true - schema: - example: my-dataspace - 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: "Number of descendants to query. Allowed values are 'none', 'all',\ + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + 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: "Number of descendants to query. Allowed values are 'none', 'all',\ \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive\ \ number." - in: query - name: descendants - required: false - schema: - default: none - example: "3" - type: string - - description: page index for pagination over anchors. It must be greater then - zero if provided. - in: query - name: pageIndex - required: false - schema: - example: 1 - type: integer - - description: number of records (anchors) per page. It must be greater then - zero if provided. - in: query - name: pageSize - required: false - schema: - example: 10 - type: integer + in: query + name: descendants + required: false + schema: + default: none + example: "3" + type: string + - description: page index for pagination over anchors. It must be greater then + zero if provided. + in: query + name: pageIndex + required: false + schema: + example: 1 + type: integer + - description: number of records (anchors) per page. It must be greater then + zero if provided. + in: query + name: pageSize + required: false + schema: + example: 10 + type: integer responses: "200": content: @@ -2387,7 +2387,7 @@ paths: description: Internal Server Error summary: Query data nodes across anchors tags: - - cps-query + - cps-query x-codegen-request-body-name: xpath components: examples: @@ -2396,52 +2396,52 @@ components: test:bookstore: bookstore-name: Chapters categories: - - code: 1 - name: SciFi - - code: 2 - name: kids + - code: 1 + name: SciFi + - code: 2 + name: kids dataSampleXml: value: <stores xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <bookstore xmlns="org:onap:ccsdk:sample"> <bookstore-name>Chapters</bookstore-name> <categories> <code>1</code> <name>SciFi</name> <code>2</code> <name>kids</name> </categories> </bookstore> </stores> deltaReportSample: value: - - action: create - xpath: "/bookstore/categories/[@code=3]" - target-data: - code: "3," - name: kidz - - action: remove - xpath: "/bookstore/categories/[@code=1]" - source-data: - code: "1," - name: Fiction - - action: replace - xpath: "/bookstore/categories/[@code=2]" - source-data: - name: Funny - target-data: - name: Comic + - action: create + xpath: "/bookstore/categories/[@code=3]" + target-data: + code: "3," + name: kidz + - action: remove + xpath: "/bookstore/categories/[@code=1]" + source-data: + code: "1," + name: Fiction + - action: replace + xpath: "/bookstore/categories/[@code=2]" + source-data: + name: Funny + target-data: + name: Comic dataSampleAcrossAnchors: value: - - anchorName: bookstore1 - dataNode: - test:bookstore: - bookstore-name: Chapters - categories: - - code: 1 - name: SciFi - - code: 2 - name: kids - - anchorName: bookstore2 - dataNode: - test:bookstore: - bookstore-name: Chapters - categories: - - code: 1 - name: SciFi - - code: 2 - name: kids + - anchorName: bookstore1 + dataNode: + test:bookstore: + bookstore-name: Chapters + categories: + - code: 1 + name: SciFi + - code: 2 + name: kids + - anchorName: bookstore2 + dataNode: + test:bookstore: + bookstore-name: Chapters + categories: + - code: 1 + name: SciFi + - code: 2 + name: kids parameters: dataspaceNameInQuery: description: dataspace-name @@ -2459,8 +2459,8 @@ components: schema: default: v2 enum: - - v1 - - v2 + - v1 + - v2 type: string dataspaceNameInPath: description: dataspace-name @@ -2725,19 +2725,19 @@ components: format: binary type: string required: - - file + - file type: object SchemaSetDetails: example: dataspaceName: my-dataspace name: my-schema-set moduleReferences: - - name: my-module-reference-name - namespace: my-module-reference-namespace - revision: my-module-reference-revision - - name: my-module-reference-name - namespace: my-module-reference-namespace - revision: my-module-reference-revision + - name: my-module-reference-name + namespace: my-module-reference-namespace + revision: my-module-reference-revision + - name: my-module-reference-name + namespace: my-module-reference-namespace + revision: my-module-reference-revision properties: dataspaceName: example: my-dataspace @@ -2750,7 +2750,7 @@ components: example: my-schema-set type: string required: - - moduleReferences + - moduleReferences title: Schema set details by dataspace and schemasetName type: object ModuleReferences: @@ -2777,16 +2777,16 @@ components: test:bookstore: bookstore-name: Chapters categories: - - code: 1 - name: SciFi - - code: 2 - name: kids + - code: 1 + name: SciFi + - code: 2 + name: kids type: object file: format: binary type: string required: - - json + - json type: object securitySchemes: basicAuth: diff --git a/docs/api/swagger/ncmp/openapi.yaml b/docs/api/swagger/ncmp/openapi.yaml index a227addda5..871090fc7c 100644 --- a/docs/api/swagger/ncmp/openapi.yaml +++ b/docs/api/swagger/ncmp/openapi.yaml @@ -20,13 +20,14 @@ paths: 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" + - description: "The identifier (cmHandle or alternate) 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 + example: my-cm-handle-reference 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 @@ -130,13 +131,14 @@ paths: 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" + - description: "The identifier (cmHandle or alternate) 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 + example: my-cm-handle-reference 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 @@ -264,13 +266,14 @@ paths: 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" + - description: "The identifier (cmHandle or alternate) 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 + example: my-cm-handle-reference 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 @@ -377,13 +380,14 @@ paths: 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" + - description: "The identifier (cmHandle or alternate) 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 + example: my-cm-handle-reference 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 @@ -495,13 +499,14 @@ paths: 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" + - description: "The identifier (cmHandle or alternate) 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 + example: my-cm-handle-reference 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 @@ -824,13 +829,14 @@ paths: handle operationId: getModuleReferencesByCmHandle parameters: - - description: "The identifier for a network function, network element, subnetwork\ - \ or any other cm object by managed Network CM Proxy" + - description: "The identifier (cmHandle or alternate) 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 + example: my-cm-handle-reference type: string responses: "200": @@ -880,13 +886,14 @@ paths: \ 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" + - description: "The identifier (cmHandle or alternate) 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 + example: my-cm-handle-reference type: string - description: Filter for a module name.This is an optional parameter in: query @@ -1017,13 +1024,14 @@ paths: 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" + - description: "The identifier (cmHandle or alternate) 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 + example: my-cm-handle-reference type: string responses: "200": @@ -1070,13 +1078,14 @@ paths: 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" + - description: "The identifier (cmHandle or alternate) 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 + example: my-cm-handle-reference type: string responses: "200": @@ -1210,13 +1219,14 @@ paths: 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" + - description: "The identifier (cmHandle or alternate) 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 + example: my-cm-handle-reference type: string responses: "200": @@ -1464,14 +1474,15 @@ components: 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" + cmHandleReferenceInPath: + description: "The identifier (cmHandle or alternate) 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 + example: my-cm-handle-reference type: string resourceIdentifierInQuery: description: The format of resource identifier depend on the associated DMI @@ -1558,6 +1569,15 @@ components: required: true schema: 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 cpsPathInQuery: description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" examples: diff --git a/docs/api/swagger/policy-executor/openapi.yaml b/docs/api/swagger/policy-executor/openapi.yaml index 6b73d98ed6..1248c0d08b 100644 --- a/docs/api/swagger/policy-executor/openapi.yaml +++ b/docs/api/swagger/policy-executor/openapi.yaml @@ -18,55 +18,170 @@ openapi: 3.0.3 info: + description: Allows NCMP to execute a policy defined by a third party implementation + before proceeding with a CM operation title: Policy Executor - description: "Allows NCMP to execute a policy defined by a third party implementation before proceeding with a CM operation" version: 1.0.0 +servers: +- url: / +security: +- bearerAuth: [] tags: - - name: policy-executor - description: "Execute all your policies" +- description: Execute all your policies + name: policy-executor paths: /policy-executor/api/v1/{action}: post: - description: "Fire a Policy action" + description: Fire a Policy action operationId: executePolicyAction parameters: - - $ref: '#/components/parameters/authorizationInHeader' - - $ref: '#/components/parameters/actionInPath' - requestBody: + - description: Bearer token may be used to identify client as part of a policy + explode: false + in: header + name: Authorization + required: false + schema: + type: string + style: simple + - description: "The policy action. Currently supported options: 'execute'" + explode: false + in: path + name: action required: true - description: "The action request body" + schema: + example: execute + type: string + style: simple + requestBody: content: application/json: schema: $ref: '#/components/schemas/PolicyExecutionRequest' - tags: - - policy-executor + description: The action request body + required: true responses: - '200': - description: "Successful policy execution" + "200": content: application/json: schema: $ref: '#/components/schemas/PolicyExecutionResponse' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '500': - $ref: '#/components/responses/InternalServerError' - + description: Successful policy execution + "400": + content: + application/json: + example: + status: 400 + message: Bad Request + details: The provided request is not valid + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad request + "401": + content: + application/json: + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized request + "403": + content: + application/json: + example: + status: 403 + message: Request Forbidden + details: This request is forbidden + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Request 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 + tags: + - policy-executor components: - securitySchemes: - bearerAuth: - type: http - description: "Bearer token (from client that called CPS-NCMP),used by policies to identify the client" - scheme: bearer + parameters: + actionInPath: + description: "The policy action. Currently supported options: 'execute'" + explode: false + in: path + name: action + required: true + schema: + example: execute + type: string + style: simple + authorizationInHeader: + description: Bearer token may be used to identify client as part of a policy + explode: false + in: header + name: Authorization + required: false + schema: + type: string + style: simple + responses: + BadRequest: + content: + application/json: + example: + status: 400 + message: Bad Request + details: The provided request is not valid + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad request + Unauthorized: + content: + application/json: + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized request + Forbidden: + content: + application/json: + example: + status: 403 + message: Request Forbidden + details: This request is forbidden + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Request 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 + NotImplemented: + content: + application/json: + example: + status: 501 + message: Not Implemented + details: Method not implemented + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Method not (yet) implemented schemas: ErrorMessage: - type: object - title: Error properties: status: type: string @@ -74,125 +189,73 @@ components: type: string details: type: string - - Request: + title: Error type: object + Request: + example: + schema: org.onap.cps.ncmp.policy-executor:ncmp-create-schema:1.0.0 + data: "{}" properties: schema: + description: The schema for the data in this request. The schema name should + include the type of operation + example: org.onap.cps.ncmp.policy-executor:ncmp-create-schema:1.0.0 type: string - description: "The schema for the data in this request. The schema name should include the type of operation" - example: "org.onap.cps.ncmp.policy-executor:ncmp-create-schema:1.0.0" data: + description: The data related to the request. The format of the object is + determined by the schema type: object - description: "The data related to the request. The format of the object is determined by the schema" required: - - schema - - data - - PolicyExecutionRequest: + - data + - schema type: object + PolicyExecutionRequest: + example: + decisionType: allow + requests: + - schema: org.onap.cps.ncmp.policy-executor:ncmp-create-schema:1.0.0 + data: "{}" + - schema: org.onap.cps.ncmp.policy-executor:ncmp-create-schema:1.0.0 + data: "{}" properties: decisionType: - type: string description: "The type of decision. Currently supported options: 'allow'" - example: "allow" + example: allow + type: string requests: - type: array items: $ref: '#/components/schemas/Request' + type: array required: - - decisionType - - requests - - PolicyExecutionResponse: + - decisionType + - requests type: object + PolicyExecutionResponse: + example: + decision: deny + decisionId: 550e8400-e29b-41d4-a716-446655440000 + message: Object locked due to recent change properties: decisionId: + description: Unique ID for the decision (for auditing purposes) + example: 550e8400-e29b-41d4-a716-446655440000 type: string - description: "Unique ID for the decision (for auditing purposes)" - example: "550e8400-e29b-41d4-a716-446655440000" decision: - type: string description: "The decision outcome. Currently supported values: 'allow','deny'" - example: "deny" + example: deny + type: string message: + description: Additional information regarding the decision outcome + example: Object locked due to recent change type: string - description: "Additional information regarding the decision outcome" - example: "Object locked due to recent change" required: - - decisionId - - decision - - message - - responses: - BadRequest: - description: "Bad request" - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - example: - status: 400 - message: "Bad Request" - details: "The provided request is not valid" - Unauthorized: - description: "Unauthorized request" - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - example: - status: 401 - message: "Unauthorized request" - details: "This request is unauthorized" - Forbidden: - description: "Request forbidden" - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - example: - status: 403 - message: "Request Forbidden" - details: "This request is forbidden" - - 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" - - NotImplemented: - description: "Method not (yet) implemented" - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - example: - status: 501 - message: "Not Implemented" - details: "Method not implemented" - - parameters: - actionInPath: - name: action - in: path - description: "The policy action. Currently supported options: 'execute'" - required: true - schema: - type: string - example: "execute" - authorizationInHeader: - name: Authorization - in: header - description: "Bearer token may be used to identify client as part of a policy" - schema: - type: string - -security: - - bearerAuth: [] + - decision + - decisionId + - message + type: object + securitySchemes: + bearerAuth: + description: "Bearer token (from client that called CPS-NCMP),used by policies\ + \ to identify the client" + scheme: bearer + type: http diff --git a/docs/cps-delta-endpoints.rst b/docs/cps-delta-endpoints.rst index ecb7550f44..47f52dc670 100644 --- a/docs/cps-delta-endpoints.rst +++ b/docs/cps-delta-endpoints.rst @@ -1,38 +1,53 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. Copyright (C) 2021 Pantheon.tech .. Copyright (C) 2024 TechMahindra Ltd. .. _cpsDeltaEndpoints: -.. toctree:: - :maxdepth: 1 - CPS Delta Endpoints ################### -The CPS Delta feature provides 1 endpoint: +The CPS Delta feature provides two endpoints: + +1. GET /v2/dataspaces/{dataspace-name}/anchors/{source-anchor-name}/delta +2. POST /v2/dataspaces/{dataspace-name}/anchors/{source-anchor-name}/delta -- /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/delta +Common Parameters of both the endpoints +--------------------------------------- +Common Path Parameters +^^^^^^^^^^^^^^^^^^^^^^ +The following parameters are common inputs between the two endpoints: + - **dataspace-name:** name of dataspace where the anchor(s) to be used for delta generation are stored. + - **source-anchor-name:** the source anchor name, the data under this anchor will be the reference data for delta report generation -Description ------------ -The following is a Get endpoint, which allows the user to find the delta between configurations stored under two anchors within the same dataspace. +Common Query Parameter +^^^^^^^^^^^^^^^^^^^^^^ +Both the endpoint need the following query parameters as input: + - **xpath:** the xpath to a particular data node. + - Example: /bookstore/categories[@code='1'] -Path Parameters ---------------- -The endpoint takes 2 path parameters as input: - - **dataspace-name:** name of dataspace where the 2 anchors to be used for delta generation are stored. - - **anchor-name:** the source anchor name, the data under this anchor will be the reference data for delta report generation +Description of API 1: Delta between 2 Anchors +--------------------------------------------- +This API performs a GET operation, which allows the user to find the delta between configurations stored under two anchors within the same dataspace. The API has following input parameters: -Query Parameters ----------------- -The endpoint takes 3 query parameters as input: - - **target-anchor-name:** the data retrieved from target anchor gets compared against the data retrieved from source anchor - - **xpath:** the xpath to a particular data node, Example: /bookstore/categories[@code='1'] +Specific Query Parameters +^^^^^^^^^^^^^^^^^^^^^^^^^ +The endpoint takes following additional/specific query parameters as input: + - **target-anchor-name:** the data retrieved from target anchor is compared against the data retrieved from source anchor - **descendants:** specifies the number of descendants to query. +Description of API 2: Delta between Anchor and JSON payload +----------------------------------------------------------- +This API performs a POST operation, which allows the user to find the delta between configurations stored under an anchors and a JSON payload provided as part of the request. The API has the following input parameters: + +Request Body for Endpoint 2 +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The endpoint accepts a **multipart/form-data** input as part of request body. This allows the user to provide the following inputs as part of request body: + - **JSON payload:** this field accepts a valid JSON string as an input. The data provided as part of this JSON will be parsed using the schema, the schema is either retrieved using the anchor name or it can be provided as part of request body using the optional parameter of request body defined below. Once the JSON is parsed and validated, it is compared to the data fetched from the source anchor and the delta report is generated. + - **schema-context:** this is an optional parameter and allows the user to provide the schema of the JSON payload, as a yang or zip file, and this schema can be used to parse the JSON string in case the schema of JSON differs from the schema associated with source anchor. If the schema of JSON payload is similar to the schema associated with the anchor then this parameter can be left empty. + Sample Delta Report ------------------- +Both the APIs have the same format for the delta report. The format is as follows: .. code-block:: json diff --git a/docs/cps-delta-feature.rst b/docs/cps-delta-feature.rst index 34aa43df53..ee3df45378 100644 --- a/docs/cps-delta-feature.rst +++ b/docs/cps-delta-feature.rst @@ -1,6 +1,5 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. Copyright (C) 2021 Pantheon.tech .. Copyright (C) 2024 TechMahindra Ltd. .. _cpsDelta: @@ -10,24 +9,26 @@ CPS Delta Feature ################# -- The concept of CPS Delta Feature is to have the ability to find the delta or difference between two configurations stored in CPS DB. +- The concept of CPS Delta Feature is to have the ability to find the delta or difference between two configurations in CPS. -- The Delta feature brings a new functionality: +- The Delta feature provides two new endpoints, providing the following functionalities: - Ability to find the delta between the configurations stored in two anchors within the same dataspace. + - Ability to find the delta between the configurations stored under an anchor and a JSON payload provided as part of REST request. -The calculated differences can then be used to generate a Delta Report which can be sent over the Kafka Notification Service to the user. +The difference found are compiled into a Delta Report returned by the server. This report can be used in several different ways, one such use case is sending it over the Kafka Notification Service to the user. Delta Report Format ------------------- -The Delta Report is based on the RFC 9144, which defines a set of parameters to be included in the Delta Report. In CPS only the relevant parameters defined in RFC 9144 are used. These include: - - **action:** This parameter defines how the data nodes changed between two configurations. If data nodes are added, deleted or modified then the 'action' parameter in the delta report will be set to 'create', 'remove' or 'replace' respectively for each data node. +The Delta Report is based on the RFC 6902 and RFC 9144, which define a set of parameters to be included in the Delta Report. In CPS only the relevant parameters defined in the RFCs are used. These include: + - **action:** This parameter defines how the data nodes changed between two configurations. If data nodes are added, deleted or modified then the 'action' parameter in the delta report will be set to one of the following pre-defined operation values, i.e., 'create', 'remove' or 'replace' respectively for each data node. - **xpath:** This parameter will provide the xpath of each data node that has been either added, deleted or modified. - **source-data:** this parameter is added to the delta report when a data node is removed or updated, this represents the source/reference data against which the delta is being generated. In case of newly added data node this field is not included in the delta report. - **target-data:** this parameter is added to the delta report when a data node is added or updated, this represents the data values that are being compared to the source data. In case of a data node being removed this field is not included in the delta report. **Note.** In case of an existing data node being modified, both the source-data and target-data fields are present in the delta report. +**Additional Information.** `Analysis of RFC 9144 and RFC 6902 for Delta Report generation <https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16523520/Analysis+of+RFC+9144+and+RFC6902+for+Delta+Report+generation>`_ Mechanism for Delta generation ------------------------------ diff --git a/docs/release-notes.rst b/docs/release-notes.rst index 7340e7a788..cebb1c0800 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -16,6 +16,34 @@ CPS Release Notes .. * * * OSLO * * * .. ==================== +Version: 3.5.4 +============== + +Release Data +------------ + ++--------------------------------------+--------------------------------------------------------+ +| **CPS Project** | | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Docker images** | onap/cps-and-ncmp:3.5.4 | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Release designation** | 3.5.4 Oslo | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Release date** | Not yet released | +| | | ++--------------------------------------+--------------------------------------------------------+ + +Bug Fixes +--------- +3.5.4 + +Features +-------- +3.5.4 + Version: 3.5.3 ============== @@ -32,17 +60,25 @@ Release Data | **Release designation** | 3.5.3 Oslo | | | | +--------------------------------------+--------------------------------------------------------+ -| **Release date** | Not yet released | +| **Release date** | 2024 October 04 | | | | +--------------------------------------+--------------------------------------------------------+ Bug Fixes --------- 3.5.3 + - `CPS-2353 <https://lf-onap.atlassian.net/browse/CPS-2353>`_ Slow cmHandle registration when we use moduleSetTag, alternateId and dataProducerIdentifier + - `CPS-2395 <https://lf-onap.atlassian.net/browse/CPS-2395>`_ Retry mechanism (with back off algorithm) is removed with more frequent watchdog poll + - `CPS-2409 <https://lf-onap.atlassian.net/browse/CPS-2409>`_ Return NONE for get effective trust level api if the trust level caches empty (restart case) + - `CPS-2430 <https://lf-onap.atlassian.net/browse/CPS-2430>`_ Fix memory leak related to using arrays in Hibernate + Features -------- 3.5.3 + - `CPS-2247 <https://lf-onap.atlassian.net/browse/CPS-2247>`_ Policy Executor: Invoke Policy Executor and handle 'deny' response + - `CPS-2412 <https://lf-onap.atlassian.net/browse/CPS-2412>`_ Policy Executor: handle errors + - `CPS-2417 <https://lf-onap.atlassian.net/browse/CPS-2417>`_ Remove Hazelcast cache for prefix resolver Version: 3.5.2 |