public void createSliceProfilesInAai(DelegateExecution execution) {
+ String serviceCategory = execution.getVariable("serviceCategory")
+ if (execution.getVariable("IsRANNfAlonePresent")) {
+ ServiceInstance ANNF_sliceProfileInstance = new ServiceInstance();
+ String ANNF_sliceProfileInstanceId = UUID.randomUUID().toString()
+ String ANNF_sliceProfileId = UUID.randomUUID().toString()
+ execution.setVariable("ANNF_sliceProfileInstanceId", ANNF_sliceProfileInstanceId)
+ execution.setVariable("ANNF_sliceProfileId", ANNF_sliceProfileId)
+ SliceProfiles ANNF_SliceProfiles = new SliceProfiles()
+ SliceProfile ANNF_SliceProfile = createSliceProfile("AN_NF", execution)
+ ANNF_SliceProfiles.getSliceProfile().add(ANNF_SliceProfile)
+ logger.debug("sliceProfiles : 1. " + ANNF_SliceProfiles.toString())
+ //ANNF slice profile instance creation
+ ANNF_sliceProfileInstance.setServiceInstanceId(ANNF_sliceProfileInstanceId)
+ String sliceInstanceName = "sliceprofile_" + ANNF_sliceProfileId
+ ANNF_sliceProfileInstance.setServiceInstanceName(sliceInstanceName)
+ String serviceType = execution.getVariable("sst") as String
+ ANNF_sliceProfileInstance.setServiceType(serviceType)
+ String serviceStatus = "deactivated"
+ ANNF_sliceProfileInstance.setOrchestrationStatus(serviceStatus)
+ String serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("ranNfSliceProfile") as String, "pLMNIdList")
+ ANNF_sliceProfileInstance.setServiceInstanceLocationId(jsonUtil.StringArrayToList(serviceInstanceLocationid).get(0))
+ String serviceRole = "slice-profile-instance"
+ ANNF_sliceProfileInstance.setServiceRole(serviceRole)
+ ArrayList<String> snssaiList = jsonUtil.StringArrayToList(execution.getVariable("snssaiList") as String)
+ String snssai = snssaiList.get(0)
+ ANNF_sliceProfileInstance.setEnvironmentContext(snssai)
+ ANNF_sliceProfileInstance.setWorkloadContext("AN_NF")
+ ANNF_sliceProfileInstance.setSliceProfiles(ANNF_SliceProfiles)
+ String serviceFunctionAnnf = jsonUtil.getJsonValue(execution.getVariable("ranNfSliceProfile") as String, "resourceSharingLevel")
+ ANNF_sliceProfileInstance.setServiceFunction(serviceFunctionAnnf)
+ logger.debug("completed ANNF sliceprofileinstance build : " + ANNF_sliceProfileInstance.toString())
+ String msg = ""
+ try {
+
+ AAIResourcesClient client = new AAIResourcesClient()
+ AAIResourceUri sliceProfileUri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business().customer(execution.getVariable("globalSubscriberId") as String).serviceSubscription(execution.getVariable("subscriptionServiceType") as String).serviceInstance(ANNF_sliceProfileInstanceId))
+ client.create(sliceProfileUri, ANNF_sliceProfileInstance)
+ } catch (BpmnError e) {
+ throw e
+ } catch (Exception ex) {
+ msg = "Exception in AnNssmfUtils.createSliceProfilesInAai " + ex.getMessage()
+ logger.info(msg)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ }
+else{
org.onap.aai.domain.yang.ServiceInstance ANNF_sliceProfileInstance = new ServiceInstance();
org.onap.aai.domain.yang.ServiceInstance TNFH_sliceProfileInstance = new ServiceInstance();
org.onap.aai.domain.yang.ServiceInstance TNMH_sliceProfileInstance = new ServiceInstance();
String TNFH_sliceProfileId = UUID.randomUUID().toString()
String TNMH_sliceProfileInstanceId = UUID.randomUUID().toString()
String TNMH_sliceProfileId = UUID.randomUUID().toString()
- execution.setVariable("ANNF_sliceProfileInstanceId",ANNF_sliceProfileInstanceId)
- execution.setVariable("ANNF_sliceProfileId",ANNF_sliceProfileId)
- execution.setVariable("TNFH_sliceProfileInstanceId",TNFH_sliceProfileInstanceId)
- execution.setVariable("TNFH_sliceProfileId",TNFH_sliceProfileId)
- execution.setVariable("TNMH_sliceProfileInstanceId",TNMH_sliceProfileInstanceId)
- execution.setVariable("TNMH_sliceProfileId",TNMH_sliceProfileId)
+ execution.setVariable("ANNF_sliceProfileInstanceId", ANNF_sliceProfileInstanceId)
+ execution.setVariable("ANNF_sliceProfileId", ANNF_sliceProfileId)
+ execution.setVariable("TNFH_sliceProfileInstanceId", TNFH_sliceProfileInstanceId)
+ execution.setVariable("TNFH_sliceProfileId", TNFH_sliceProfileId)
+ execution.setVariable("TNMH_sliceProfileInstanceId", TNMH_sliceProfileInstanceId)
+ execution.setVariable("TNMH_sliceProfileId", TNMH_sliceProfileId)
//slice profiles assignment
org.onap.aai.domain.yang.SliceProfiles ANNF_SliceProfiles = new SliceProfiles()
org.onap.aai.domain.yang.SliceProfiles TNFH_SliceProfiles = new SliceProfiles()
org.onap.aai.domain.yang.SliceProfile ANNF_SliceProfile = new SliceProfile()
org.onap.aai.domain.yang.SliceProfile TNFH_SliceProfile = new SliceProfile()
org.onap.aai.domain.yang.SliceProfile TNMH_SliceProfile = new SliceProfile()
- ANNF_SliceProfile = createSliceProfile("AN-NF", execution)
- TNFH_SliceProfile = createSliceProfile("TN-FH",execution)
- TNMH_SliceProfile = createSliceProfile("TN-MH",execution)
-
+ ANNF_SliceProfile = createSliceProfile("AN_NF", execution)
+ TNFH_SliceProfile = createSliceProfile("TN_FH", execution)
+ TNMH_SliceProfile = createSliceProfile("TN_MH", execution)
+
ANNF_SliceProfiles.getSliceProfile().add(ANNF_SliceProfile)
TNFH_SliceProfiles.getSliceProfile().add(TNFH_SliceProfile)
TNMH_SliceProfiles.getSliceProfile().add(TNMH_SliceProfile)
-
- logger.debug("sliceProfiles : 1. "+ANNF_SliceProfiles.toString()+"\n 2. "+TNFH_SliceProfiles.toString()+"\n 3. "+TNMH_SliceProfiles.toString())
+
+ logger.debug("sliceProfiles : 1. " + ANNF_SliceProfiles.toString() + "\n 2. " + TNFH_SliceProfiles.toString() + "\n 3. " + TNMH_SliceProfiles.toString())
//ANNF slice profile instance creation
ANNF_sliceProfileInstance.setServiceInstanceId(ANNF_sliceProfileInstanceId)
- String sliceInstanceName = "sliceprofile_"+ANNF_sliceProfileId
+ String sliceInstanceName = "sliceprofile_" + ANNF_sliceProfileId
ANNF_sliceProfileInstance.setServiceInstanceName(sliceInstanceName)
String serviceType = jsonUtil.getJsonValue(execution.getVariable("ranNfSliceProfile"), "sST")
ANNF_sliceProfileInstance.setServiceType(serviceType)
String serviceStatus = "deactivated"
ANNF_sliceProfileInstance.setOrchestrationStatus(serviceStatus)
- String serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("ranNfSliceProfile"), "plmnIdList")
- ANNF_sliceProfileInstance.setServiceInstanceLocationId(serviceInstanceLocationid)
+ String serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("ranNfSliceProfile"), "pLMNIdList")
+ ANNF_sliceProfileInstance.setServiceInstanceLocationId(jsonUtil.StringArrayToList(serviceInstanceLocationid).get(0))
String serviceRole = "slice-profile-instance"
ANNF_sliceProfileInstance.setServiceRole(serviceRole)
- ArrayList<String> snssaiList = execution.getVariable("snssaiList")
+ ArrayList<String> snssaiList = jsonUtil.StringArrayToList(execution.getVariable("snssaiList") as String)
String snssai = snssaiList.get(0)
ANNF_sliceProfileInstance.setEnvironmentContext(snssai)
- ANNF_sliceProfileInstance.setWorkloadContext("AN-NF")
+ ANNF_sliceProfileInstance.setWorkloadContext("AN_NF")
ANNF_sliceProfileInstance.setSliceProfiles(ANNF_SliceProfiles)
String serviceFunctionAnnf = jsonUtil.getJsonValue(execution.getVariable("ranNfSliceProfile"), "resourceSharingLevel")
ANNF_sliceProfileInstance.setServiceFunction(serviceFunctionAnnf)
- logger.debug("completed ANNF sliceprofileinstance build : "+ ANNF_sliceProfileInstance.toString())
+ logger.debug("completed ANNF sliceprofileinstance build : "+ ANNF_sliceProfileInstance.toString())
//TNFH slice profile instance creation
TNFH_sliceProfileInstance.setServiceInstanceId(TNFH_sliceProfileInstanceId)
serviceType = jsonUtil.getJsonValue(execution.getVariable("tnFhSliceProfile"), "sST")
TNFH_sliceProfileInstance.setServiceType(serviceType)
TNFH_sliceProfileInstance.setOrchestrationStatus(serviceStatus)
- serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("tnFhSliceProfile"), "plmnIdList")
- TNFH_sliceProfileInstance.setServiceInstanceLocationId(serviceInstanceLocationid)
+ serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("tnFhSliceProfile"), "pLMNIdList")
+ TNFH_sliceProfileInstance.setServiceInstanceLocationId(jsonUtil.StringArrayToList(serviceInstanceLocationid).get(0))
TNFH_sliceProfileInstance.setServiceRole(serviceRole)
TNFH_sliceProfileInstance.setEnvironmentContext(snssai)
- TNFH_sliceProfileInstance.setWorkloadContext("TN-FH")
+ TNFH_sliceProfileInstance.setWorkloadContext("TN_FH")
TNFH_sliceProfileInstance.setSliceProfiles(TNFH_SliceProfiles)
String serviceFunctionTnFH = jsonUtil.getJsonValue(execution.getVariable("tnFhSliceProfile"), "resourceSharingLevel")
TNFH_sliceProfileInstance.setServiceFunction(serviceFunctionTnFH)
- logger.debug("completed TNFH sliceprofileinstance build : "+TNFH_sliceProfileInstance)
+ logger.debug("completed TNFH sliceprofileinstance build : "+TNFH_sliceProfileInstance)
//TNMH slice profile instance creation
TNMH_sliceProfileInstance.setServiceInstanceId(TNMH_sliceProfileInstanceId)
serviceType = jsonUtil.getJsonValue(execution.getVariable("tnMhSliceProfile"), "sST")
TNMH_sliceProfileInstance.setServiceType(serviceType)
TNMH_sliceProfileInstance.setOrchestrationStatus(serviceStatus)
- serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("tnMhSliceProfile"), "plmnIdList")
- TNMH_sliceProfileInstance.setServiceInstanceLocationId(serviceInstanceLocationid)
+ serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("tnMhSliceProfile"), "pLMNIdList")
+ TNMH_sliceProfileInstance.setServiceInstanceLocationId(jsonUtil.StringArrayToList(serviceInstanceLocationid).get(0))
TNMH_sliceProfileInstance.setServiceRole(serviceRole)
TNMH_sliceProfileInstance.setEnvironmentContext(snssai)
- TNMH_sliceProfileInstance.setWorkloadContext("TN-MH")
+ TNMH_sliceProfileInstance.setWorkloadContext("TN_MH")
TNMH_sliceProfileInstance.setSliceProfiles(TNMH_SliceProfiles)
String serviceFunctionTnMH = jsonUtil.getJsonValue(execution.getVariable("tnMhSliceProfile"), "resourceSharingLevel")
TNMH_sliceProfileInstance.setServiceFunction(serviceFunctionTnMH)
- logger.debug("completed TNMH sliceprofileinstance build : "+TNMH_sliceProfileInstance)
+ logger.debug("completed TNMH sliceprofileinstance build : "+TNMH_sliceProfileInstance)
String msg = ""
try {
logger.info(msg)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
}
+ }
}
private SliceProfile createSliceProfile(String domainType, DelegateExecution execution) {
SliceProfile result = new SliceProfile()
Map<String,Object> profile
switch(domainType) {
- case "AN-NF":
- profile = objectMapper.readValue(execution.getVariable("ranNfSliceProfile"), Map.class)//pending fields - maxBandwidth, sST, plmnIdList, cSReliabilityMeanTime,
- //msgSizeByte, maxNumberofPDUSessions,overallUserDensity,transferIntervalTarget
+ case "AN_NF":
+ profile = objectMapper.readValue(execution.getVariable("ranNfSliceProfile"), Map.class)//pending fields - cSReliabilityMeanTime, cSAvailabilityTarget, terminalDensity, msgSizeByte
result.setJitter(profile.get("jitter"))
result.setLatency(profile.get("latency"))
+ result.setMaxBandwidth(profile.get("maxbandwidth"))
result.setResourceSharingLevel(profile.get("resourceSharingLevel"))
result.setUeMobilityLevel(profile.get("uEMobilityLevel"))
result.setMaxNumberOfUEs(profile.get("maxNumberofUEs"))
result.setActivityFactor(profile.get("activityFactor"))
- result.setCoverageAreaTAList(profile.get("coverageAreaTAList"))
+ result.setCoverageAreaTAList(profile.get("coverageAreaTAList").toString())
result.setExpDataRateDL(profile.get("expDataRateDL"))
result.setExpDataRateUL(profile.get("expDataRateUL"))
result.setSurvivalTime(profile.get("survivalTime"))
+ result.setMaxNumberOfPDUSession(profile.get("maxNumberofPDUSession"))
result.setAreaTrafficCapDL(profile.get("areaTrafficCapDL"))
result.setAreaTrafficCapUL(profile.get("areaTrafficCapUL"))
+ result.setOverallUserDensity(profile.get("overallUserDensity"))
+ result.setTransferIntervalTarget(profile.get("transferIntervalTarget"))
result.setExpDataRate(profile.get("expDataRate"))
result.setProfileId(execution.getVariable("ANNF_sliceProfileId"))
break
- case "TN-FH":
- profile = objectMapper.readValue(execution.getVariable("tnFhSliceProfile"), Map.class) //pending fields - maxBandwidth, sST, plmnIdList
+ case "TN_FH":
+ profile = objectMapper.readValue(execution.getVariable("tnFhSliceProfile"), Map.class)
result.setJitter(profile.get("jitter"))
result.setLatency(profile.get("latency"))
+ result.setMaxBandwidth(profile.get("maxbandwidth"))
result.setResourceSharingLevel(profile.get("resourceSharingLevel"))
result.setProfileId(execution.getVariable("TNFH_sliceProfileId"))
break
- case "TN-MH":
- profile = objectMapper.readValue(execution.getVariable("tnMhSliceProfile"), Map.class)//pending fields - maxBandwidth, sST, plmnIdList
+ case "TN_MH":
+ profile = objectMapper.readValue(execution.getVariable("tnMhSliceProfile"), Map.class)
result.setJitter(profile.get("jitter"))
result.setLatency(profile.get("latency"))
+ result.setMaxBandwidth(profile.get("maxbandwidth"))
result.setResourceSharingLevel(profile.get("resourceSharingLevel"))
result.setProfileId(execution.getVariable("TNMH_sliceProfileId"))
break
JsonArray connectionLinksList = new JsonArray()
JsonObject connectionLinks = new JsonObject()
Gson jsonConverter = new Gson()
+ String TNFH_nssiInstanceId = UUID.randomUUID().toString()
+ String TNMH_nssiInstanceId = UUID.randomUUID().toString()
+
if(action.equals("allocate")){
JsonObject endpoints = new JsonObject()
if(domainType.equals("TN_FH")) {
serviceInfo.addProperty("serviceInvariantUuid", execution.getVariable("TNFH_modelInvariantUuid"))
serviceInfo.addProperty("serviceUuid", execution.getVariable("TNFH_modelUuid"))
+ serviceInfo.addProperty("nssiName", "nssi_tn_fh_"+TNFH_nssiInstanceId)
+ serviceInfo.addProperty("sst", execution.getVariable("sst"))
allocateTnNssi.addProperty("nsstId", execution.getVariable("TNFH_modelUuid"))
allocateTnNssi.addProperty("nssiName", execution.getVariable("TNFH_modelName"))
Map<String,Object> sliceProfile = objectMapper.readValue(execution.getVariable("tnFhSliceProfile"), Map.class)
}else if(domainType.equals("TN_MH")) {
serviceInfo.addProperty("serviceInvariantUuid", execution.getVariable("TNMH_modelInvariantUuid"))
serviceInfo.addProperty("serviceUuid", execution.getVariable("TNMH_modelUuid"))
+ serviceInfo.addProperty("nssiName", "nssi_tn_mh_"+TNMH_nssiInstanceId)
+ serviceInfo.addProperty("sst", execution.getVariable("sst"))
allocateTnNssi.addProperty("nsstId", execution.getVariable("TNMH_modelUuid"))
allocateTnNssi.addProperty("nssiName", execution.getVariable("TNMH_modelName"))
Map<String,Object> sliceProfile = objectMapper.readValue(execution.getVariable("tnMhSliceProfile"), Map.class)
endpoints.addProperty("transportEndpointB", execution.getVariable("tranportEp_ID_CUIN"))
connectionLinksList.add(endpoints)
}
-
- //Connection links
- connectionLinks.add("connectionLinks", connectionLinksList)
- transportSliceNetworksList.add(connectionLinks)
- allocateTnNssi.add("transportSliceNetworks", transportSliceNetworksList)
}else if(action.equals("modify-allocate")) {
+ JsonObject endpoints = new JsonObject()
if(domainType.equals("TN_FH")) {
allocateTnNssi.addProperty("nssiName", execution.getVariable("TNFH_nssiName"))
allocateTnNssi.addProperty("sliceProfileId", execution.getVariable("TNFH_sliceProfileInstanceId"))
allocateTnNssi.addProperty("nssiId", execution.getVariable("TNFH_NSSI"))
serviceInfo.addProperty("nssiId", execution.getVariable("TNFH_NSSI"))
+ serviceInfo.addProperty("nssiName", execution.getVariable("TNFH_nssiName"))
+ Map<String,Object> sliceProfile = objectMapper.readValue(execution.getVariable("tnFhSliceProfile"), Map.class)
+ sliceProfile.put("sliceProfileId", execution.getVariable("TNFH_sliceProfileInstanceId"))
+ allocateTnNssi.add("sliceProfile", jsonConverter.toJsonTree(sliceProfile))
+ endpoints.addProperty("transportEndpointA", execution.getVariable("tranportEp_ID_RU"))
+ endpoints.addProperty("transportEndpointB", execution.getVariable("tranportEp_ID_DUIN"))
+ connectionLinksList.add(endpoints)
}else if(domainType.equals("TN_MH")) {
allocateTnNssi.addProperty("nssiName", execution.getVariable("TNMH_nssiName"))
allocateTnNssi.addProperty("sliceProfileId", execution.getVariable("TNMH_sliceProfileInstanceId"))
allocateTnNssi.addProperty("nssiId", execution.getVariable("TNMH_NSSI"))
serviceInfo.addProperty("nssiId", execution.getVariable("TNMH_NSSI"))
+ serviceInfo.addProperty("nssiName", execution.getVariable("TNMH_nssiName"))
+ Map<String,Object> sliceProfile = objectMapper.readValue(execution.getVariable("tnMhSliceProfile"), Map.class)
+ sliceProfile.put("sliceProfileId", execution.getVariable("TNMH_sliceProfileInstanceId"))
+ allocateTnNssi.add("sliceProfile", jsonConverter.toJsonTree(sliceProfile))
+ endpoints.addProperty("transportEndpointA", execution.getVariable("tranportEp_ID_DUEG"))
+ endpoints.addProperty("transportEndpointB", execution.getVariable("tranportEp_ID_CUIN"))
+ connectionLinksList.add(endpoints)
}
}
+
+ //Connection links
+ connectionLinks.add("connectionLinks", connectionLinksList)
+ transportSliceNetworksList.add(connectionLinks)
+ allocateTnNssi.add("transportSliceNetworks", transportSliceNetworksList)
+
JsonParser parser = new JsonParser()
String nsiInfo = jsonUtil.getJsonValue(execution.getVariable("sliceParams"), "nsiInfo")
allocateTnNssi.add("nsiInfo",(JsonObject) parser.parse(nsiInfo))
public String buildDeallocateNssiRequest(DelegateExecution execution,String domainType) {
String globalSubscriberId = execution.getVariable("globalSubscriberId")
String subscriptionServiceType = execution.getVariable("subscriptionServiceType")
+
+ List<String> sNssaiList = execution.getVariable("snssaiList") as List<String>
+
+ DeAllocateNssi deallocateNssi = new DeAllocateNssi()
+ deallocateNssi.setNsiId(execution.getVariable("nsiId") as String)
+ deallocateNssi.setScriptName("TN1")
+ deallocateNssi.setSnssaiList(sNssaiList)
+ deallocateNssi.setTerminateNssiOption(0)
- JsonObject deAllocateNssi = new JsonObject()
- deAllocateNssi.addProperty("snssaiList", execution.getVariable("snssaiList"))
- deAllocateNssi.addProperty("nsiId", execution.getVariable("nsiId"))
- deAllocateNssi.addProperty("modifyAction", true)
- deAllocateNssi.addProperty("terminateNssiOption", 0)
- deAllocateNssi.addProperty("scriptName", "TN1")
-
- if(domainType.equals("TN_FH")) {
- deAllocateNssi.addProperty("nssiId", execution.getVariable("TNFH_NSSI"))
- deAllocateNssi.addProperty("sliceProfileId", execution.getVariable("TNFH_sliceProfileInstanceId"))
- }else if(domainType.equals("TN_MH")) {
- deAllocateNssi.addProperty("nssiId", execution.getVariable("TNMH_NSSI"))
- deAllocateNssi.addProperty("sliceProfileId", execution.getVariable("TNMH_sliceProfileInstanceId"))
- }
-
JsonObject esrInfo = new JsonObject()
- esrInfo.addProperty("networkType", "tn")
- esrInfo.addProperty("vendor", "ONAP_internal")
+ esrInfo.addProperty("networkType", "tn")
+ esrInfo.addProperty("vendor", "ONAP_internal")
JsonObject serviceInfo = new JsonObject()
- serviceInfo.addProperty("serviceInvariantUuid", null)
- serviceInfo.addProperty("serviceUuid", null)
serviceInfo.addProperty("globalSubscriberId", globalSubscriberId)
serviceInfo.addProperty("subscriptionServiceType", subscriptionServiceType)
-
+ serviceInfo.addProperty("modifyAction", true)
+
+ if(domainType.equals("TN_FH")) {
+ deallocateNssi.setNssiId(execution.getVariable("TNFH_NSSI") as String)
+ deallocateNssi.setSliceProfileId(execution.getVariable("TNFH_sliceProfileInstanceId") as String)
+ serviceInfo.addProperty("nssiId", execution.getVariable("TNFH_NSSI") as String)
+ }else if(domainType.equals("TN_MH")) {
+ deallocateNssi.setNssiId(execution.getVariable("TNMH_NSSI") as String)
+ deallocateNssi.setSliceProfileId(execution.getVariable("TNMH_sliceProfileInstanceId") as String)
+ serviceInfo.addProperty("nssiId", execution.getVariable("TNMH_NSSI") as String)
+ }
+
JsonObject json = new JsonObject()
- json.add("deAllocateNssi", deAllocateNssi)
+ Gson jsonConverter = new Gson()
+ json.add("deAllocateNssi", jsonConverter.toJsonTree(deallocateNssi))
json.add("esrInfo", esrInfo)
json.add("serviceInfo", serviceInfo)
return json.toString()
}
+
+ public String getModelUuid(DelegateExecution execution, String instanceId) {
+ String globalSubscriberId = execution.getVariable("globalSubscriberId")
+ String subscriptionServiceType = execution.getVariable("subscriptionServiceType")
+ ServiceInstance serviceInstance = new ServiceInstance()
+ AAIResourcesClient client = new AAIResourcesClient()
+ AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business().customer(globalSubscriberId).serviceSubscription(subscriptionServiceType).serviceInstance(instanceId))
+ if (!client.exists(uri)) {
+ exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Service Instance was not found in aai : ${instanceId}")
+ }
+ AAIResultWrapper wrapper = client.get(uri, NotFoundException.class)
+ Optional<ServiceInstance> si = wrapper.asBean(ServiceInstance.class)
+
+ if(si.isPresent()) {
+ serviceInstance = si.get()
+ }
+ return serviceInstance.getModelVersionId()
+ }
}