aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/mso/model/VfModuleInstantiationRequestDetails.java
blob: 9a3a0c853c0a3dfb1eae07bdcdf0e248e6d921af (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
package org.onap.vid.mso.model;

import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/* Based on this model:

{
  "requestDetails": {
      "modelInfo": {
          “modelType”: “vfModule”,
          “modelInvariantId”: “ff5256d2-5a33-55df-13ab-12abad84e7ff”,
          “modelVersionId”: “fe6478e5-ea33-3346-ac12-ab121484a3fe”,
          “modelCustomizationId”: “856f9806-b01a-11e6-80f5-76304dec7eb7”,
          “modelName”: “vSAMP12..base..module-0”,
          "modelVersion": "1"
      },
      “cloudConfiguration”: {
          “lcpCloudRegionId”: “mdt1”,
          “tenantId”: “88a6ca3ee0394ade9403f075db23167e”
      },
      "requestInfo": {
          “instanceName”: “MSOTEST103a-vSAMP12_base_module-0”,
          “source”: “VID”,
          “suppressRollback”: true,
          “requestorId”: “az2016”
      },
      "relatedInstanceList": [
         {
      // This related instance captures the volumeGroup to attach
            “relatedInstance”: {
               “instanceId”: “17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c”,
               “instanceName”: “MSOTESTVOL103a-vSAMP12_base_module-0_vol”,
               “modelInfo”: {
                  “modelType”: “volumeGroup”
               }
            }
         },
         {
            “relatedInstance”: {
               “instanceId”: “{serviceInstanceId}”,
               “modelInfo”: {
                  “modelType”: “service”,
                  “modelInvariantId”: “ff3514e3-5a33-55df-13ab-12abad84e7ff”,
                  “modelVersionId”: “fe6985cd-ea33-3346-ac12-ab121484a3fe”,
                  “modelName”: “{parent service model name}”,
                  "modelVersion": "1.0"
               }
            }
         },
         {
            “relatedInstance”: {
               “instanceId”: “{vnfInstanceId}”,
               "modelInfo": {
                  “modelType”: “vnf”,
                  “modelInvariantId”: “ff5256d1-5a33-55df-13ab-12abad84e7ff”,
                  “modelVersionId”: “fe6478e4-ea33-3346-ac12-ab121484a3fe”,
                  “modelName”: “vSAMP12”,
                  "modelVersion": "1.0",
		     “modelCustomizationName”: “vSAMP12 1”,
		     “modelCustomizationId”: “a7f1d08e-b02d-11e6-80f5-76304dec7eb7”
               }
            }
         }
      ],
      “requestParameters”: {
          “usePreload”: true,
          “userParams”: []
      }
  }
}


 */

public class VfModuleInstantiationRequestDetails extends BaseResourceInstantiationRequestDetails {

    public VfModuleInstantiationRequestDetails(
            @JsonProperty(value = "modelInfo", required = true) ModelInfo modelInfo,
            @JsonProperty(value = "cloudConfiguration", required = true) CloudConfiguration cloudConfiguration,
            @JsonProperty(value = "requestInfo", required = true) RequestInfo requestInfo,
            @JsonProperty(value = "relatedInstanceList", required = true) List<RelatedInstance> relatedInstanceList,
            @JsonProperty(value = "requestParameters", required = true) RequestParametersVfModule requestParameters)
    {
        super(modelInfo, cloudConfiguration, requestInfo, relatedInstanceList, requestParameters);
    }

    public static class RequestParametersVfModule extends BaseResourceInstantiationRequestDetails.RequestParameters {
        private final boolean usePreload;

        public RequestParametersVfModule(List<? extends UserParamTypes> userParams, boolean usePreload) {
            super(userParams);
            this.usePreload = usePreload;
        }

        public boolean isUsePreload() {
            return usePreload;
        }
    }

    public static class UserParamMap<K,V> extends HashMap<K,V> implements UserParamTypes, Map<K,V>  {

        public UserParamMap() {
            super();
        }
    }
}