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