1d2e69d54d20359ee95fac3bc83bbf8bca7f606d
[vid.git] / vid-app-common / src / main / java / org / onap / vid / model / serviceInstantiation / ServiceInstantiation.java
1 package org.onap.vid.model.serviceInstantiation;
2
3 import com.fasterxml.jackson.annotation.JsonProperty;
4 import org.onap.vid.domain.mso.ModelInfo;
5 import org.onap.vid.job.JobAdapter;
6
7 import java.util.Collections;
8 import java.util.List;
9 import java.util.Map;
10
11 public class ServiceInstantiation implements JobAdapter.AsyncJobRequest {
12
13     private final ModelInfo modelInfo;
14
15     private final String owningEntityId;
16
17     private final String owningEntityName;
18
19     private final String projectName;
20
21     private final String subscriberName;
22
23     private final String globalSubscriberId;
24
25     private final String productFamilyId;
26
27     private final String instanceName;
28
29     private final Boolean isUserProvidedNaming;
30
31     private final String subscriptionServiceType;
32
33     private final String lcpCloudRegionId;
34
35     private final String tenantId;
36
37     private final String tenantName;
38
39     private final String aicZoneId;
40
41     private final String aicZoneName;
42
43     private final Map<String, Vnf> vnfs;
44
45     private final List<Map<String,String>> instanceParams;
46
47     private final boolean isPause;
48
49     private final int bulkSize;
50
51     private final boolean rollbackOnFailure;
52
53     public ServiceInstantiation(@JsonProperty("modelInfo") ModelInfo modelInfo,
54                                 @JsonProperty("owningEntityId") String owningEntityId,
55                                 @JsonProperty("owningEntityName") String owningEntityName,
56                                 @JsonProperty("projectName") String projectName,
57                                 @JsonProperty("globalSubscriberId") String globalSubscriberId,
58                                 @JsonProperty("subscriberName") String subscriberName,
59                                 @JsonProperty("productFamilyId") String productFamilyId,
60                                 @JsonProperty("instanceName") String instanceName,
61                                 @JsonProperty("isUserProvidedNaming") Boolean isUserProvidedNaming,
62                                 @JsonProperty("subscriptionServiceType") String subscriptionServiceType,
63                                 @JsonProperty("lcpCloudRegionId") String lcpCloudRegionId,
64                                 @JsonProperty("tenantId") String tenantId,
65                                 @JsonProperty("tenantName") String tenantName,
66                                 @JsonProperty("aicZoneId") String aicZoneId,
67                                 @JsonProperty("aicZoneName") String aicZoneName,
68                                 @JsonProperty("vnfs") Map<String, Vnf> vnfs,
69                                 @JsonProperty("instanceParams") List<Map<String, String>> instanceParams,
70                                 @JsonProperty("pause") boolean isPause,
71                                 @JsonProperty("bulkSize") int bulkSize,
72                                 @JsonProperty("rollbackOnFailure") boolean rollbackOnFailure
73                                ) {
74
75         this.modelInfo = modelInfo;
76         this.modelInfo.setModelType("service");
77         this.owningEntityId = owningEntityId;
78         this.owningEntityName = owningEntityName;
79         this.projectName = projectName;
80         this.globalSubscriberId = globalSubscriberId;
81         this.subscriberName = subscriberName;
82         this.productFamilyId = productFamilyId;
83         this.instanceName = instanceName;
84         this.isUserProvidedNaming = isUserProvidedNaming;
85         this.subscriptionServiceType = subscriptionServiceType;
86         this.lcpCloudRegionId = lcpCloudRegionId;
87         this.tenantId = tenantId;
88         this.tenantName = tenantName;
89         this.aicZoneId = aicZoneId;
90         this.aicZoneName = aicZoneName;
91         this.vnfs = vnfs;
92         this.instanceParams = instanceParams;
93         this.isPause = isPause;
94         this.bulkSize = bulkSize;
95         this.rollbackOnFailure = rollbackOnFailure;
96     }
97
98     public ModelInfo getModelInfo() {
99         return modelInfo;
100     }
101
102     public String getOwningEntityId() {
103         return owningEntityId;
104     }
105
106     public String getOwningEntityName() {
107         return owningEntityName;
108     }
109
110     public String getProjectName() {
111         return projectName;
112     }
113
114     public String getGlobalSubscriberId() {
115         return globalSubscriberId;
116     }
117
118     public String getSubscriberName() {
119         return subscriberName;
120     }
121
122     public String getProductFamilyId() {
123         return productFamilyId;
124     }
125
126     public String getInstanceName() {
127         return instanceName;
128     }
129
130     @JsonProperty("isUserProvidedNaming")
131     public Boolean isUserProvidedNaming() { return isUserProvidedNaming; }
132
133     public String getSubscriptionServiceType() {
134         return subscriptionServiceType;
135     }
136
137     public String getLcpCloudRegionId() {
138         return lcpCloudRegionId;
139     }
140
141     public String getTenantId() {
142         return tenantId;
143     }
144
145     public String getTenantName() {
146         return tenantName;
147     }
148
149     public String getAicZoneId() {
150         return aicZoneId;
151     }
152
153     public String getAicZoneName() {
154         return aicZoneName;
155     }
156
157     public Map<String, Vnf> getVnfs() {
158         return vnfs;
159     }
160
161     public List<Map<String, String>> getInstanceParams() {
162         return instanceParams == null ? Collections.emptyList() : instanceParams;
163     }
164
165     public boolean isPause() {
166         return isPause;
167     }
168
169     public int getBulkSize() { return bulkSize; }
170
171     public boolean isRollbackOnFailure() {
172         return rollbackOnFailure;
173     }
174 }