793037dbf62161160ef1db95a6589fc09530c291
[vid.git] / vid-automation / src / main / java / org / onap / simulator / presetGenerator / presets / mso / PresetMSOServiceInstanceGen2WithNames.java
1 package org.onap.simulator.presetGenerator.presets.mso;
2
3 import java.util.Map;
4
5 import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOServiceInstanceGen2WithNames.Keys.*;
6
7 public abstract class PresetMSOServiceInstanceGen2WithNames extends PresetMSOBaseCreateInstancePost {
8
9     public enum Keys {
10         SERVICE_NAME, VNF_NAME, VNF_NAME2, VFM_NAME1, VFM_NAME2, VG_NAME
11         , VNF_GROUP1_ACTION, RELATED_VNF1_ACTION, RELATED_VNF2_ACTION,
12     }
13
14     protected final Map<Keys, String> names;
15
16     protected final String suffix;
17
18     public PresetMSOServiceInstanceGen2WithNames(Map<Keys, String> names, int suffix) {
19         this(names, suffix, PresetMSOBaseCreateInstancePost.DEFAULT_REQUEST_ID);
20     }
21
22     public PresetMSOServiceInstanceGen2WithNames(Map<Keys, String> names, int suffix, String requestId) {
23         super(requestId);
24         this.names = names;
25         this.suffix = formatSuffix(suffix);
26     }
27
28     public PresetMSOServiceInstanceGen2WithNames(Map<Keys, String> names, int suffix, String requestId, String responseInstanceId) {
29         super(requestId, responseInstanceId);
30         this.names = names;
31         this.suffix = formatSuffix(suffix);
32     }
33
34     @Override
35     public boolean isStrictMatch() {
36         return true;
37     }
38
39     protected String getVnfInstanceParams() {
40         return " {" +
41                 "  \"vmx_int_net_len\": \"24\"," +
42                 "  \"vre_a_volume_size_0\": \"100\"," +
43                 "  \"availability_zone_0\": \"mtpocdv-kvm-az01\"" +
44                 "}";
45     }
46
47     @Override
48     public Object getRequestBody() {
49         return "{" +
50                 "  \"requestDetails\": {" +
51                 "    \"modelInfo\": {" +
52                 "      \"modelInvariantId\": \"300adb1e-9b0c-4d52-bfb5-fa5393c4eabb\"," +
53                 "      \"modelVersionId\": \"5c9e863f-2716-467b-8799-4a67f378dcaa\"," +
54                 "      \"modelName\": \"AIM_TRANSPORT_00004\"," +
55                 "      \"modelType\": \"service\"," +
56                 "      \"modelVersion\": \"1.0\"" +
57                 "    }," +
58                 "    \"owningEntity\": {" +
59                 "      \"owningEntityId\": \"someID\"," +
60                 "      \"owningEntityName\": \"someName\"" +
61                 "    }," +
62                 "    \"subscriberInfo\": {" +
63                 "      \"globalSubscriberId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\"" +
64                 "    }," +
65                 "    \"project\": {" +
66                 "      \"projectName\": \"myProject\"" +
67                 "    }," +
68                 "    \"requestInfo\": {" +
69                 "      \"instanceName\": \""+ names.get(SERVICE_NAME) + suffix + "\"," +
70                 "      \"productFamilyId\": \"myProductFamilyId\"," +
71                 "      \"source\": \"VID\"," +
72                 "      \"suppressRollback\": false," +
73                 "      \"requestorId\": \"us16807000\"" +
74                 "    }," +
75                 "    \"requestParameters\": {" +
76                 "      \"subscriptionServiceType\": \"mySubType\"," +
77                 "      \"aLaCarte\": false," +
78                 "      \"userParams\": [" +
79                 "        {" +
80                 "          \"service\": {" +
81                 "            \"modelInfo\": {" +
82                 "              \"modelVersionId\": \"5c9e863f-2716-467b-8799-4a67f378dcaa\"," +
83                 "              \"modelName\": \"AIM_TRANSPORT_00004\"," +
84                 "              \"modelType\": \"service\"" +
85                 "            }," +
86                 "            \"instanceName\": \""+ names.get(SERVICE_NAME) + suffix + "\"," +
87                 "            \"instanceParams\": []," +
88                 "            \"resources\": {" +
89                 "              \"vnfs\": [" +
90                 "                {" +
91                 "                  \"modelInfo\": {" +
92                 "                    \"modelCustomizationName\": \"2016-73_MOW-AVPN-vPE-BV-L 0\"," +
93                 "                    \"modelCustomizationId\": \"ab153b6e-c364-44c0-bef6-1f2982117f04\"," +
94                 "                    \"modelVersionId\": \"7f40c192-f63c-463e-ba94-286933b895f8\"," +
95                 "                    \"modelName\": \"2016-73_MOW-AVPN-vPE-BV-L\"," +
96                 "                    \"modelType\": \"vnf\"" +
97                 "                  }," +
98                 "                  \"cloudConfiguration\": {" +
99                 "                    \"lcpCloudRegionId\": \"hvf3\"," +
100                                     addCloudOwnerIfNeeded() +
101                 "                    \"tenantId\": \"greatTenant\"" +
102                 "                  }," +
103                 "                  \"platform\": {" +
104                 "                    \"platformName\": \"platformName\"" +
105                 "                  }," +
106                 "                  \"lineOfBusiness\": {" +
107                 "                    \"lineOfBusinessName\": \"lineOfBusinessName\"" +
108                 "                  }," +
109                 "                  \"productFamilyId\": \"myProductFamilyId\"," +
110                 "                  \"instanceParams\": ["+getVnfInstanceParams()+"]," +
111                 "                  \"vfModules\": [" +
112                 "                    {" +
113                 "                      \"modelInfo\": {" +
114                 "                        \"modelCustomizationId\": \"a25e8e8c-58b8-4eec-810c-97dcc1f5cb7f\"," +
115                 "                        \"modelVersionId\": \"4c75f813-fa91-45a4-89d0-790ff5f1ae79\"," +
116                 "                        \"modelName\": \"201673MowAvpnVpeBvL..AVPN_base_vPE_BV..module-0\"," +
117                 "                        \"modelType\": \"vfModule\"" +
118                 "                      }," +
119                 "                      \"instanceName\": \""+ names.get(VFM_NAME1)  + suffix +"\"," +
120                 "                      \"instanceParams\": [" +
121                 "                        {" +
122                 "                          \"vmx_int_net_len\": \"24\"" +
123                 "                        }" +
124                 "                      ]" +
125                 "                    }," +
126                 "                    {" +
127                 "                      \"modelInfo\": {" +
128                 "                        \"modelCustomizationId\": \"72d9d1cd-f46d-447a-abdb-451d6fb05fa8\"," +
129                 "                        \"modelVersionId\": \"56e2b103-637c-4d1a-adc8-3a7f4a6c3240\"," +
130                 "                        \"modelName\": \"201673MowAvpnVpeBvL..AVPN_vRE_BV..module-1\"," +
131                 "                        \"modelType\": \"vfModule\"" +
132                 "                      }," +
133                 "                      \"instanceName\": \"" + names.get(VFM_NAME2) + suffix + "\"," +
134                 "                      \"volumeGroupInstanceName\" : \"" + names.get(VG_NAME) + suffix + "\"," +
135                 "                      \"instanceParams\": [" +
136                 "                        {" +
137                 "                          \"vre_a_volume_size_0\": \"100\"," +
138                 "                          \"availability_zone_0\": \"mtpocdv-kvm-az01\"" +
139                 "                        }" +
140                 "                      ]" +
141                 "                    }" +
142                 "                  ]," +
143                 "                  \"instanceName\": \"" + names.get(VNF_NAME)+ suffix + "\"" +
144                 "                }" +
145                 "              ]" +
146                 "            }" +
147                 "          }" +
148                 "        }" +
149                 "      ]" +
150                 "    }" +
151                 "  }" +
152                 "}";
153
154     }
155
156
157 }