package org.onap.vid.services; import org.onap.vid.aai.model.ResourceType; import org.onap.vid.changeManagement.RequestDetailsWrapper; import org.onap.vid.job.Job; import org.onap.vid.model.JobAuditStatus; import org.onap.vid.model.ServiceInfo; import org.onap.vid.model.serviceInstantiation.*; import org.onap.vid.mso.model.*; import org.onap.vid.mso.rest.AsyncRequestStatus; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.UUID; import java.util.function.Consumer; public interface AsyncInstantiationBusinessLogic { List PARAMS_TO_IGNORE = Arrays.asList("vnf_name", "vf_module_name"); List getAllServicesInfo(); List pushBulkJob(ServiceInstantiation request, String userId); RequestDetailsWrapper generateMacroServiceInstantiationRequest(UUID uuid, ServiceInstantiation details, String optimisticUniqueServiceInstanceName, String userId); RequestDetailsWrapper generateALaCarteServiceInstantiationRequest(UUID uuid, ServiceInstantiation details, String optimisticUniqueServiceInstanceName, String userId); RequestDetailsWrapper generateALaCarteServiceDeletionRequest(UUID uuid, ServiceInstantiation details, String userId); RequestDetailsWrapper generateVnfInstantiationRequest(Vnf vnfDetails, ModelInfo serviceModelInfo, String serviceInstanceId, String userId); RequestDetailsWrapper generateVfModuleInstantiationRequest(VfModule vfModuleDetails, ModelInfo serviceModelInfo, String serviceInstanceId, ModelInfo vnfModelInfo, String vnfInstanceId, String vgInstanceId, String userId); RequestDetailsWrapper generateVolumeGroupInstantiationRequest(VfModule vfModuleDetails, ModelInfo serviceModelInfo, String serviceInstanceId, ModelInfo vnfModelInfo, String vnfInstanceId, String userId); RequestDetailsWrapper generateNetworkInstantiationRequest(Network networkDetails, ModelInfo serviceModelInfo, String serviceInstanceId, String userId); RequestDetailsWrapper generateInstanceGroupInstantiationRequest(InstanceGroup request, ModelInfo serviceModelInfo, String serviceInstanceId, String userId); List> buildVnfInstanceParams(List> currentVnfInstanceParams, List vfModules); String getServiceInstantiationPath(ServiceInstantiation serviceInstantiationRequest); String getServiceDeletionPath(String serviceInstanceId); String getVnfInstantiationPath(String serviceInstanceId); String getNetworkInstantiationPath(String serviceInstanceId); String getVfmoduleInstantiationPath(String serviceInstanceId, String vnfInstanceId); String getVolumeGroupInstantiationPath(String serviceInstanceId, String vnfInstanceId); String getInstanceGroupInstantiationPath(); String getInstanceGroupDeletePath(String instanceGroupId); String getOrchestrationRequestsPath(); ServiceInfo getServiceInfoByJobId(UUID jobUUID); List getAuditStatuses(UUID jobUUID, JobAuditStatus.SourceStatus source); ServiceInfo updateServiceInfo(UUID jobUUID, Consumer serviceUpdater); ServiceInfo updateServiceInfoAndAuditStatus(UUID jobUuid, Job.JobStatus jobStatus); void auditVidStatus(UUID jobUUID, Job.JobStatus jobStatus); void auditMsoStatus(UUID jobUUID, AsyncRequestStatus.Request msoRequestStatus); void auditMsoStatus(UUID jobUUID, String jobStatus, String requestId, String additionalInfo); Job.JobStatus calcStatus(AsyncRequestStatus asyncRequestStatus); void handleFailedInstantiation(UUID jobUUID); void deleteJob(UUID jobId); void hideServiceInfo(UUID jobUUID); int getCounterForName(String name); int getMaxRetriesGettingFreeNameFromAai(); void setMaxRetriesGettingFreeNameFromAai(int maxRetriesGettingFreeNameFromAai); String getUniqueName(String name, ResourceType resourceType); }