Merge "a-la-carte services e2e test - add more 2 VfModules"
[vid.git] / vid-automation / src / main / java / org / onap / simulator / presetGenerator / presets / mso / PresetMSOAddOrRemoveOneInstanceGroupMember.java
1 package org.onap.simulator.presetGenerator.presets.mso;
2
3 public class PresetMSOAddOrRemoveOneInstanceGroupMember extends PresetMSOBaseCreateInstancePost {
4
5     public enum InstanceGroupMemberAction {
6         Add("/addMembers"),
7         Remove("/removeMembers");
8
9         private final String actionPath;
10
11         InstanceGroupMemberAction(String actionPath) {
12             this.actionPath = actionPath;
13         }
14
15         public String getActionPAth() {
16             return actionPath;
17         }
18     }
19
20
21     private final String memberInstanceId;
22     private final String userId;
23     private final InstanceGroupMemberAction action;
24
25     public PresetMSOAddOrRemoveOneInstanceGroupMember(String vnfGroupInstanceId, String memberInstanceId, String userId, String requestId, InstanceGroupMemberAction action) {
26         super(requestId, vnfGroupInstanceId);
27         this.memberInstanceId = memberInstanceId;
28         this.userId = userId;
29         this.action = action;
30     }
31
32     @Override
33     public String getReqPath() {
34         return getRootPath() + "/serviceInstantiation/v./instanceGroups/" + responseInstanceId + action.getActionPAth();
35     }
36
37     @Override
38     public Object getRequestBody() {
39         return "{" +
40                 "  \"requestDetails\": {" +
41                 "    \"requestInfo\": {" +
42                 "      \"source\": \"VID\"," +
43                 "      \"requestorId\": \"" + userId + "\"" +
44                 "    }," +
45                 "    \"relatedInstanceList\": [" +
46                 "      {" +
47                 "        \"relatedInstance\": {" +
48                 "          \"instanceId\": \"" + memberInstanceId + "\"," +
49                 "          \"modelInfo\": {" +
50                 "            \"modelType\": \"vnf\"" +
51                 "          }" +
52                 "        }" +
53                 "      }" +
54                 "    ]" +
55                 "  }" +
56                 "}" +
57                 "";
58     }
59
60 }