aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/mso/rest/OperationalEnvironment/OperationEnvironmentRequestDetails.java
blob: 2f6d233c2d1765dd4b4706326d9a946228829147 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
package org.onap.vid.mso.rest.OperationalEnvironment;


import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeName;

import java.util.List;

public class OperationEnvironmentRequestDetails {
    private final RequestInfo requestInfo;
    private final List<RelatedInstance> relatedInstanceList;
    private final RequestParameters requestParameters;

    public OperationEnvironmentRequestDetails(@JsonProperty(value = "requestInfo", required = true) RequestInfo requestInfo,
                                              @JsonProperty(value = "relatedInstanceList", required = true) List<RelatedInstance> relatedInstanceList,
                                              @JsonProperty(value = "requestParameters", required = true) RequestParameters requestParameters) {
        this.requestInfo = requestInfo;
        this.relatedInstanceList = relatedInstanceList;
        this.requestParameters = requestParameters;
    }

    public RequestInfo getRequestInfo() {
        return requestInfo;
    }

    public List<RelatedInstance> getRelatedInstanceList() {
        return relatedInstanceList;
    }

    public RequestParameters getRequestParameters() {
        return requestParameters;
    }

    public static class RequestInfo {
        private final String resourceType;
        private final String instanceName;
        private final String source;
        private final String requestorId;

        public RequestInfo(@JsonProperty(value = "resourceType", required = true) String resourceType,
                           @JsonProperty(value = "instanceName", required = true) String instanceName,
                           @JsonProperty(value = "source", required = true) String source,
                           @JsonProperty(value = "requestorId", required = true) String requestorId) {
            this.resourceType = resourceType;
            this.instanceName = instanceName;
            this.source = source;
            this.requestorId = requestorId;
        }

        public String getResourceType() {
            return resourceType;
        }

        public String getInstanceName() {
            return instanceName;
        }

        public String getSource() {
            return source;
        }

        public String getRequestorId() {
            return requestorId;
        }
    }

    public static class RequestParameters {
        private final String operationalEnvironmentType;
        private final String tenantContext;
        private final String workloadContext;

        public RequestParameters(@JsonProperty(value = "operationalEnvironmentType", required = true) String operationalEnvironmentType,
                                 @JsonProperty(value = "tenantContext", required = true) String tenantContext,
                                 @JsonProperty(value = "workloadContext", required = true) String workloadContext) {
            this.operationalEnvironmentType = operationalEnvironmentType;
            this.tenantContext = tenantContext;
            this.workloadContext = workloadContext;
        }
        public String getOperationalEnvironmentType() {
            return operationalEnvironmentType;
        }

        public String getTenantContext() {
            return tenantContext;
        }

        public String getWorkloadContext() {
            return workloadContext;
        }
    }

    @JsonTypeName("relatedInstance")
    @JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME)
    public static class RelatedInstance {
        private final String resourceType;
        private final String instanceId;
        private final String instanceName;

        public String getResourceType() {
            return resourceType;
        }

        public String getInstanceId() {
            return instanceId;
        }

        public String getInstanceName() {
            return instanceName;
        }

        public RelatedInstance(@JsonProperty(value = "instanceName", required = true) String resourceType,
                               @JsonProperty(value = "instanceId", required = true) String instanceId,
                               @JsonProperty(value = "instanceName", required = true) String instanceName) {
            this.resourceType = resourceType;
            this.instanceId = instanceId;
            this.instanceName = instanceName;
        }
    }
}