Merge automation from ECOMP's repository
[vid.git] / vid-automation / src / main / java / org / onap / simulator / presetGenerator / presets / mso / PresetMSOCreateVNFInstanceOnlyRelatedServiceInstance.java
1 package org.onap.simulator.presetGenerator.presets.mso;
2
3 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetCloudOwnersByCloudRegionId;
4
5 public class PresetMSOCreateVNFInstanceOnlyRelatedServiceInstance extends PresetMSOBaseCreateInstancePost {
6     private final String suffix;
7     private String serviceInstanceId;
8     private String vnfInstanceName;
9
10     public PresetMSOCreateVNFInstanceOnlyRelatedServiceInstance(String vnfInstanceName, String vnfRequestId, String serviceInstanceId, String vnfInstanceId, int suffix) {
11         super(vnfRequestId, vnfInstanceId);
12         this.vnfInstanceName = vnfInstanceName;
13         this.serviceInstanceId = serviceInstanceId;
14         this.cloudOwner = PresetAAIGetCloudOwnersByCloudRegionId.ATT_NC;
15         this.suffix = formatSuffix(suffix);
16     }
17
18     @Override
19     public String getReqPath() {
20         return getRootPath() + "/serviceInstantiation/v./serviceInstances/" + serviceInstanceId + "/vnfs";
21     }
22
23     @Override
24     public Object getRequestBody() {
25         return "{" +
26                 "  \"requestDetails\": {" +
27                 "    \"modelInfo\": {" +
28                 "      \"modelType\": \"vnf\"," +
29                 "      \"modelInvariantId\": \"ff5256d1-5a33-55df-13ab-12abad84e7ff\"," +
30                 "      \"modelVersionId\": \"fe042c22-ba82-43c6-b2f6-8f1fc4164091\"," +
31                 "      \"modelName\": \"vSAMP12\"," +
32                 "      \"modelVersion\": \"1.0\"," +
33                 "      \"modelCustomizationName\": \"vSAMP12 1\"," +
34                 "      \"modelCustomizationId\": \"a7f1d08e-b02d-11e6-80f5-76304dec7eb7\"" +
35                 "    }," +
36                 "    \"cloudConfiguration\": {" +
37                 "      \"lcpCloudRegionId\": \"mdt1\"," +
38                        addCloudOwnerIfNeeded() +
39                 "      \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\"" +
40                 "    }," +
41                 "    \"requestInfo\": {" +
42                 "      \"instanceName\": \"" + vnfInstanceName+suffix + "\"," +
43                 "      \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\"," +
44                 "      \"source\": \"VID\"," +
45                 "      \"suppressRollback\": true," +
46                 "      \"requestorId\": \"us16807000\"" +
47                 "    }," +
48                 "    \"platform\": {" +
49                 "      \"platformName\": \"vnf_platformName\"" +
50                 "    }," +
51                 "    \"lineOfBusiness\": {" +
52                 "      \"lineOfBusinessName\": \"vnf_lineOfBusinessName\"" +
53                 "    }," +
54                 "    \"relatedInstanceList\": [" +
55                 "      {" +
56                 "        \"relatedInstance\": {" +
57                 "          \"instanceId\": \"" + serviceInstanceId + "\"," +
58                 "          \"modelInfo\": {" +
59                 "            \"modelInvariantId\": \"0367689e-d41e-483f-b200-eab17e4a7f8d\"," +
60                 "            \"modelVersionId\": \"e3c34d88-a216-4f1d-a782-9af9f9588705\"," +
61                 "            \"modelName\": \"gayawabawe\"," +
62                 "            \"modelVersion\": \"5.1\"" +
63                 "          }" +
64                 "        }" +
65                 "      }" +
66                 "    ]," +
67                 "    \"requestParameters\": {" +
68                 "      \"userParams\": []," +
69                 "      \"testApi\": \"VNF_API\"" +
70                 "    }" +
71                 "  }" +
72                 "}";
73     }
74 }