components:
schemas:
+ # Common Schemas
ErrorMessage:
type: object
title: Error
details:
type: string
+ # Request Schemas
RestDmiPluginRegistration:
type: object
properties:
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
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
$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
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;
return new ResponseEntity<>(HttpStatus.CREATED);
}
+ @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>