diff options
Diffstat (limited to 'docs/api')
-rw-r--r-- | docs/api/swagger/cps/openapi.yaml | 102 | ||||
-rw-r--r-- | docs/api/swagger/ncmp/openapi-inventory.yaml | 2 | ||||
-rw-r--r-- | docs/api/swagger/ncmp/openapi.yaml | 92 | ||||
-rw-r--r-- | docs/api/swagger/policy-executor/openapi.yaml | 347 |
4 files changed, 328 insertions, 215 deletions
diff --git a/docs/api/swagger/cps/openapi.yaml b/docs/api/swagger/cps/openapi.yaml index 7cba5816f2..3069b18d1e 100644 --- a/docs/api/swagger/cps/openapi.yaml +++ b/docs/api/swagger/cps/openapi.yaml @@ -9,11 +9,7 @@ info: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0 title: ONAP Open API v3 Configuration Persistence Service - version: 1.0.0 - x-planned-retirement-date: "202212" - x-component: Modeling - x-logo: - url: cps_logo.png + version: 3.5.4 servers: - url: /cps/api security: @@ -40,7 +36,7 @@ paths: responses: "201": content: - text/plain: + application/json: schema: example: my-resource type: string @@ -364,7 +360,7 @@ paths: responses: "201": content: - text/plain: + application/json: schema: example: my-resource type: string @@ -711,7 +707,7 @@ paths: responses: "201": content: - text/plain: + application/json: schema: example: my-resource type: string @@ -1346,7 +1342,7 @@ paths: schema: example: 2021-03-21T00:10:34.030-0100 type: string - - description: Content type header + - description: Content type in header in: header name: Content-Type required: true @@ -1455,6 +1451,15 @@ paths: schema: default: / type: string + - description: "Boolean flag to validate data, without persisting it. Default\ + \ value is set to false." + in: query + name: dry-run + required: false + schema: + default: false + example: false + type: boolean - description: observed-timestamp in: query name: observed-timestamp @@ -1462,7 +1467,7 @@ paths: schema: example: 2021-03-21T00:10:34.030-0100 type: string - - description: Content type header + - description: Content type in header in: header name: Content-Type required: true @@ -1491,7 +1496,7 @@ paths: responses: "201": content: - text/plain: + application/json: schema: example: my-resource type: string @@ -1587,6 +1592,13 @@ paths: 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: @@ -1595,7 +1607,16 @@ paths: $ref: '#/components/examples/dataSample' value: null schema: + type: string + application/xml: + examples: + dataSample: + $ref: '#/components/examples/dataSampleXml' + value: null + schema: type: object + xml: + name: stores required: true responses: "200": @@ -1762,6 +1783,13 @@ paths: 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: @@ -1770,12 +1798,21 @@ paths: $ref: '#/components/examples/dataSample' value: null schema: + type: string + application/xml: + examples: + dataSample: + $ref: '#/components/examples/dataSampleXml' + value: null + schema: type: object + xml: + name: stores required: true responses: "201": content: - text/plain: + application/json: schema: example: my-resource type: string @@ -1912,7 +1949,7 @@ paths: summary: Replace list content tags: - cps-data - /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/deltaAnchors: + /v2/dataspaces/{dataspace-name}/anchors/{source-anchor-name}/delta: get: description: Get delta between two anchors within a given dataspace operationId: getDeltaByDataspaceAndAnchors @@ -1924,9 +1961,9 @@ paths: schema: example: my-dataspace type: string - - description: anchor-name + - description: source-anchor-name in: path - name: anchor-name + name: source-anchor-name required: true schema: example: my-anchor @@ -2005,7 +2042,6 @@ paths: tags: - cps-data x-codegen-request-body-name: xpath - /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/deltaPayload: post: description: Get delta between an anchor in a dataspace and JSON payload operationId: getDeltaByDataspaceAnchorAndPayload @@ -2017,9 +2053,9 @@ paths: schema: example: my-dataspace type: string - - description: anchor-name + - description: source-anchor-name in: path - name: anchor-name + name: source-anchor-name required: true schema: example: my-anchor @@ -2379,17 +2415,17 @@ components: <code>2</code> <name>kids</name> </categories> </bookstore> </stores> deltaReportSample: value: - - action: ADD + - action: create xpath: "/bookstore/categories/[@code=3]" target-data: code: "3," name: kidz - - action: REMOVE + - action: remove xpath: "/bookstore/categories/[@code=1]" source-data: code: "1," name: Fiction - - action: UPDATE + - action: replace xpath: "/bookstore/categories/[@code=2]" source-data: name: Funny @@ -2515,14 +2551,24 @@ components: schema: example: 2021-03-21T00:10:34.030-0100 type: string - contentTypeHeader: - description: Content type header + contentTypeInHeader: + description: Content type in header in: header name: Content-Type required: true schema: example: application/json type: string + dryRunInQuery: + description: "Boolean flag to validate data, without persisting it. Default\ + \ value is set to false." + in: query + name: dry-run + required: false + schema: + default: false + example: false + type: boolean requiredXpathInQuery: description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" examples: @@ -2535,6 +2581,14 @@ components: required: true schema: type: string + sourceAnchorNameInPath: + description: source-anchor-name + in: path + name: source-anchor-name + required: true + schema: + example: my-anchor + type: string targetAnchorNameInQuery: description: target-anchor-name in: query @@ -2577,7 +2631,7 @@ components: responses: Created: content: - text/plain: + application/json: schema: example: my-resource type: string diff --git a/docs/api/swagger/ncmp/openapi-inventory.yaml b/docs/api/swagger/ncmp/openapi-inventory.yaml index 4f5180d510..a2c7af6fda 100644 --- a/docs/api/swagger/ncmp/openapi-inventory.yaml +++ b/docs/api/swagger/ncmp/openapi-inventory.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: description: NCMP Inventory API title: NCMP Inventory API - version: "1.0" + version: 3.5.4 servers: - url: /ncmpInventory security: diff --git a/docs/api/swagger/ncmp/openapi.yaml b/docs/api/swagger/ncmp/openapi.yaml index 7b33fa156b..f93395a6db 100644 --- a/docs/api/swagger/ncmp/openapi.yaml +++ b/docs/api/swagger/ncmp/openapi.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: description: NCMP to CPS Proxy API title: NCMP to CPS Proxy API - version: "1.0" + version: 3.5.4 servers: - url: /ncmp security: @@ -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 @@ -608,7 +613,7 @@ paths: post: description: This request will be handled asynchronously using messaging to the supplied topic. The rest response will be an acknowledge with a requestId - to identify the relevant messages. A maximum of 50 cm handles per operation + to identify the relevant messages. A maximum of 200 cm handles per operation is supported. operationId: executeDataOperationForCmHandles parameters: @@ -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 98c5b1e79a..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: /policy-executor/api +- url: / +security: +- bearerAuth: [] tags: - - name: policy-executor - description: "Execute all your policies" +- description: Execute all your policies + name: policy-executor paths: - /v1/{action}: + /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' - '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,149 +189,73 @@ components: type: string details: type: string - - Payload: + title: Error type: object + Request: + example: + schema: org.onap.cps.ncmp.policy-executor:ncmp-create-schema:1.0.0 + data: "{}" properties: - targetFdn: - type: string - description: "The complete FDN (Fully Distinguished Name) for the element to be changed" - example: "/Subnetwork=Ireland/MeContext=Athlone/ManagedElement=Athlone/SomeFunction=1/Cell=12" - cmHandleId: - type: string - description: "The CM handle ID (optional)" - example: "F811AF64F5146DFC545EC60B73DE948E" - resourceIdentifier: + 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 resource identifier (optional)" - example: "ManagedElement=Athlone/SomeFunction=1/Cell=12" - cmChangeRequest: + data: + description: The data related to the request. The format of the object is + determined by the schema type: object - description: "The content of the change to be made" - example: '{"Cell":[{"id":"Cell-id","attributes":{"administrativeState":"UNLOCKED"}}]}' required: - - targetFdn - - cmChangeRequest - - 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: - payloadType: - type: string - description: "The type of payload. Currently supported options: 'cm_write'" - example: "cm_write" decisionType: + description: "The type of decision. Currently supported options: 'allow'" + example: allow type: string - description: "The type of decision. Currently supported options: 'permit'" - example: "permit" - payload: - type: array + requests: items: - $ref: '#/components/schemas/Payload' + $ref: '#/components/schemas/Request' + type: array required: - - payloadType - - decisionType - - payload - - 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: + description: "The decision outcome. Currently supported values: 'allow','deny'" + example: deny type: string - description: "The decision outcome. Currently supported values: 'permit','deny'" - example: "deny" 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: - NotFound: - description: "The specified resource was not found" - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - example: - status: 404 - message: "Resource Not Found" - details: "The requested resource is not found" - 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" - 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" - - 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 |