diff options
4 files changed, 86 insertions, 2 deletions
diff --git a/cps-ncmp-rest/docs/openapi/components.yaml b/cps-ncmp-rest/docs/openapi/components.yaml index d35919da4b..1f55ce1998 100644 --- a/cps-ncmp-rest/docs/openapi/components.yaml +++ b/cps-ncmp-rest/docs/openapi/components.yaml @@ -19,6 +19,7 @@ components: schemas: + # Common Schemas ErrorMessage: type: object title: Error @@ -30,6 +31,7 @@ components: details: type: string + # Request Schemas RestDmiPluginRegistration: type: object properties: @@ -65,6 +67,51 @@ components: type: string example: system-001 + Conditions: + type: object + properties: + conditions: + $ref: '#/components/schemas/ConditionsData' + ConditionsData: + type: array + items: + type: object + $ref: '#/components/schemas/ConditionProperties' + ConditionProperties: + properties: + name: + type: string + example: hasAllModules + conditionParameters: + $ref: '#/components/schemas/ConditionParameters' + ConditionParameters: + type: array + items: + type: object + $ref: '#/components/schemas/ConditionParameter' + ConditionParameter: + properties: + moduleName: + type: string + example: someModuleName + + #Response Schemas + CmHandles: + type: object + properties: + cmHandles: + $ref: '#/components/schemas/CmHandleProperties' + CmHandleProperties: + type: array + items: + type: object + $ref: '#/components/schemas/CmHandleProperty' + CmHandleProperty: + properties: + cmHandleId: + type: string + example: someCmHandleId + parameters: cmHandleInPath: name: cm-handle diff --git a/cps-ncmp-rest/docs/openapi/ncmp.yml b/cps-ncmp-rest/docs/openapi/ncmp.yml index 52245c3cc0..9e3560a2fa 100755 --- a/cps-ncmp-rest/docs/openapi/ncmp.yml +++ b/cps-ncmp-rest/docs/openapi/ncmp.yml @@ -283,4 +283,31 @@ fetchModuleReferencesByCmHandle: 403: $ref: 'components.yaml#/components/responses/Forbidden' 404: - $ref: 'components.yaml#/components/responses/NotFound'
\ No newline at end of file + $ref: 'components.yaml#/components/responses/NotFound' + +executeCmHandleSearch: + post: + description: Execute cm handle searches using 'hasAllModules' condition to get all cm handles for the given module names + tags: + - network-cm-proxy + summary: Execute cm handle search using the available conditions + operationId: executeCmHandleSearch + requestBody: + required: true + content: + application/json: + schema: + $ref: 'components.yaml#/components/schemas/Conditions' + responses: + 200: + description: OK + content: + application/json: + schema: + $ref: 'components.yaml#/components/schemas/CmHandles' + 400: + $ref: 'components.yaml#/components/responses/BadRequest' + 401: + $ref: 'components.yaml#/components/responses/Unauthorized' + 403: + $ref: 'components.yaml#/components/responses/Forbidden'
\ No newline at end of file diff --git a/cps-ncmp-rest/docs/openapi/openapi.yml b/cps-ncmp-rest/docs/openapi/openapi.yml index 69c2a117d6..64a74c5933 100755 --- a/cps-ncmp-rest/docs/openapi/openapi.yml +++ b/cps-ncmp-rest/docs/openapi/openapi.yml @@ -45,4 +45,7 @@ paths: $ref: 'ncmp.yml#/resourceDataForPassthroughRunning' /v1/ch/{cm-handle}/modules: - $ref: 'ncmp.yml#/fetchModuleReferencesByCmHandle'
\ No newline at end of file + $ref: 'ncmp.yml#/fetchModuleReferencesByCmHandle' + + /v1/ch/searches: + $ref: 'ncmp.yml#/executeCmHandleSearch'
\ No newline at end of file diff --git a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java index 9b15a7890d..14f33d1e24 100755 --- a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java +++ b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java @@ -29,6 +29,8 @@ import javax.validation.Valid; import javax.validation.constraints.NotNull; import org.onap.cps.ncmp.api.NetworkCmProxyDataService; import org.onap.cps.ncmp.rest.api.NetworkCmProxyApi; +import org.onap.cps.ncmp.rest.model.CmHandles; +import org.onap.cps.ncmp.rest.model.Conditions; import org.onap.cps.spi.FetchDescendantsOption; import org.onap.cps.spi.model.DataNode; import org.onap.cps.spi.model.ModuleReference; @@ -194,6 +196,11 @@ public class NetworkCmProxyController implements NetworkCmProxyApi { } @Override + public ResponseEntity<CmHandles> executeCmHandleSearch(final Conditions conditions) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + } + + @Override public ResponseEntity<Object> getModuleReferencesByCmHandle(final String cmHandle) { final Collection<ModuleReference> moduleReferences = networkCmProxyDataService.getYangResourcesModuleReferences(cmHandle); |