Merge from ECOMP's repository
[vid.git] / vid-app-common / src / main / java / org / onap / vid / services / AsyncInstantiationBusinessLogic.java
1 package org.onap.vid.services;
2
3 import org.onap.vid.aai.model.ResourceType;
4 import org.onap.vid.changeManagement.RequestDetailsWrapper;
5 import org.onap.vid.job.Job;
6 import org.onap.vid.model.JobAuditStatus;
7 import org.onap.vid.model.ServiceInfo;
8 import org.onap.vid.model.serviceInstantiation.*;
9 import org.onap.vid.mso.model.*;
10 import org.onap.vid.mso.rest.AsyncRequestStatus;
11
12 import java.util.Arrays;
13 import java.util.List;
14 import java.util.Map;
15 import java.util.UUID;
16 import java.util.function.Consumer;
17
18 public interface AsyncInstantiationBusinessLogic {
19
20     List<String> PARAMS_TO_IGNORE = Arrays.asList("vnf_name", "vf_module_name");
21
22     List<ServiceInfo> getAllServicesInfo();
23
24     List<UUID> pushBulkJob(ServiceInstantiation request, String userId);
25
26     RequestDetailsWrapper<ServiceInstantiationRequestDetails> generateMacroServiceInstantiationRequest(UUID uuid, ServiceInstantiation details, String optimisticUniqueServiceInstanceName, String userId);
27
28     RequestDetailsWrapper<ServiceInstantiationRequestDetails> generateALaCarteServiceInstantiationRequest(UUID uuid, ServiceInstantiation details, String optimisticUniqueServiceInstanceName, String userId);
29
30     RequestDetailsWrapper<ServiceDeletionRequestDetails> generateALaCarteServiceDeletionRequest(UUID uuid, ServiceInstantiation details, String userId);
31
32     RequestDetailsWrapper<VnfInstantiationRequestDetails> generateVnfInstantiationRequest(Vnf vnfDetails, ModelInfo serviceModelInfo, String serviceInstanceId, String userId);
33
34     RequestDetailsWrapper<VfModuleInstantiationRequestDetails> generateVfModuleInstantiationRequest(VfModule vfModuleDetails, ModelInfo serviceModelInfo, String serviceInstanceId, ModelInfo vnfModelInfo, String vnfInstanceId, String vgInstanceId, String userId);
35
36     RequestDetailsWrapper<VolumeGroupRequestDetails> generateVolumeGroupInstantiationRequest(VfModule vfModuleDetails, ModelInfo serviceModelInfo, String serviceInstanceId, ModelInfo vnfModelInfo, String vnfInstanceId, String userId);
37
38     RequestDetailsWrapper<NetworkInstantiationRequestDetails> generateNetworkInstantiationRequest(Network networkDetails, ModelInfo serviceModelInfo, String serviceInstanceId, String userId);
39
40     RequestDetailsWrapper<InstanceGroupInstantiationRequestDetails> generateInstanceGroupInstantiationRequest(InstanceGroup request, ModelInfo serviceModelInfo, String serviceInstanceId, String userId);
41
42     List<Map<String,String>> buildVnfInstanceParams(List<Map<String, String>> currentVnfInstanceParams, List<VfModuleMacro> vfModules);
43
44     String getServiceInstantiationPath(ServiceInstantiation serviceInstantiationRequest);
45
46     String getServiceDeletionPath(String serviceInstanceId);
47
48     String getVnfInstantiationPath(String serviceInstanceId);
49
50     String getNetworkInstantiationPath(String serviceInstanceId);
51
52     String getVfmoduleInstantiationPath(String serviceInstanceId, String vnfInstanceId);
53
54     String getVolumeGroupInstantiationPath(String serviceInstanceId, String vnfInstanceId);
55
56     String getInstanceGroupInstantiationPath();
57
58     String getInstanceGroupDeletePath(String instanceGroupId);
59
60     String getOrchestrationRequestsPath();
61
62     ServiceInfo getServiceInfoByJobId(UUID jobUUID);
63
64     List<JobAuditStatus> getAuditStatuses(UUID jobUUID, JobAuditStatus.SourceStatus source);
65
66     ServiceInfo updateServiceInfo(UUID jobUUID, Consumer<ServiceInfo> serviceUpdater);
67
68     ServiceInfo updateServiceInfoAndAuditStatus(UUID jobUuid, Job.JobStatus jobStatus);
69
70     void auditVidStatus(UUID jobUUID, Job.JobStatus jobStatus);
71
72     void auditMsoStatus(UUID jobUUID, AsyncRequestStatus.Request msoRequestStatus);
73
74     void auditMsoStatus(UUID jobUUID, String jobStatus, String requestId, String additionalInfo);
75
76     Job.JobStatus calcStatus(AsyncRequestStatus asyncRequestStatus);
77
78     void handleFailedInstantiation(UUID jobUUID);
79
80     void deleteJob(UUID jobId);
81
82     void hideServiceInfo(UUID jobUUID);
83
84     int getCounterForName(String name);
85
86     int getMaxRetriesGettingFreeNameFromAai();
87
88     void setMaxRetriesGettingFreeNameFromAai(int maxRetriesGettingFreeNameFromAai);
89
90     String getUniqueName(String name, ResourceType resourceType);
91
92
93 }