org.onap migration
[vid.git] / vid-app-common / src / main / java / org / onap / vid / mso / rest / OperationalEnvironment / OperationEnvironmentRequestDetails.java
1 package org.onap.vid.mso.rest.OperationalEnvironment;
2
3
4 import com.fasterxml.jackson.annotation.JsonProperty;
5 import com.fasterxml.jackson.annotation.JsonTypeInfo;
6 import com.fasterxml.jackson.annotation.JsonTypeName;
7
8 import java.util.List;
9
10 public class OperationEnvironmentRequestDetails {
11     private final RequestInfo requestInfo;
12     private final List<RelatedInstance> relatedInstanceList;
13     private final RequestParameters requestParameters;
14
15     public OperationEnvironmentRequestDetails(@JsonProperty(value = "requestInfo", required = true) RequestInfo requestInfo,
16                                               @JsonProperty(value = "relatedInstanceList", required = true) List<RelatedInstance> relatedInstanceList,
17                                               @JsonProperty(value = "requestParameters", required = true) RequestParameters requestParameters) {
18         this.requestInfo = requestInfo;
19         this.relatedInstanceList = relatedInstanceList;
20         this.requestParameters = requestParameters;
21     }
22
23     public RequestInfo getRequestInfo() {
24         return requestInfo;
25     }
26
27     public List<RelatedInstance> getRelatedInstanceList() {
28         return relatedInstanceList;
29     }
30
31     public RequestParameters getRequestParameters() {
32         return requestParameters;
33     }
34
35     public static class RequestInfo {
36         private final String resourceType;
37         private final String instanceName;
38         private final String source;
39         private final String requestorId;
40
41         public RequestInfo(@JsonProperty(value = "resourceType", required = true) String resourceType,
42                            @JsonProperty(value = "instanceName", required = true) String instanceName,
43                            @JsonProperty(value = "source", required = true) String source,
44                            @JsonProperty(value = "requestorId", required = true) String requestorId) {
45             this.resourceType = resourceType;
46             this.instanceName = instanceName;
47             this.source = source;
48             this.requestorId = requestorId;
49         }
50
51         public String getResourceType() {
52             return resourceType;
53         }
54
55         public String getInstanceName() {
56             return instanceName;
57         }
58
59         public String getSource() {
60             return source;
61         }
62
63         public String getRequestorId() {
64             return requestorId;
65         }
66     }
67
68     public static class RequestParameters {
69         private final String operationalEnvironmentType;
70         private final String tenantContext;
71         private final String workloadContext;
72
73         public RequestParameters(@JsonProperty(value = "operationalEnvironmentType", required = true) String operationalEnvironmentType,
74                                  @JsonProperty(value = "tenantContext", required = true) String tenantContext,
75                                  @JsonProperty(value = "workloadContext", required = true) String workloadContext) {
76             this.operationalEnvironmentType = operationalEnvironmentType;
77             this.tenantContext = tenantContext;
78             this.workloadContext = workloadContext;
79         }
80         public String getOperationalEnvironmentType() {
81             return operationalEnvironmentType;
82         }
83
84         public String getTenantContext() {
85             return tenantContext;
86         }
87
88         public String getWorkloadContext() {
89             return workloadContext;
90         }
91     }
92
93     @JsonTypeName("relatedInstance")
94     @JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME)
95     public static class RelatedInstance {
96         private final String resourceType;
97         private final String instanceId;
98         private final String instanceName;
99
100         public String getResourceType() {
101             return resourceType;
102         }
103
104         public String getInstanceId() {
105             return instanceId;
106         }
107
108         public String getInstanceName() {
109             return instanceName;
110         }
111
112         public RelatedInstance(@JsonProperty(value = "instanceName", required = true) String resourceType,
113                                @JsonProperty(value = "instanceId", required = true) String instanceId,
114                                @JsonProperty(value = "instanceName", required = true) String instanceName) {
115             this.resourceType = resourceType;
116             this.instanceId = instanceId;
117             this.instanceName = instanceName;
118         }
119     }
120 }