aboutsummaryrefslogtreecommitdiffstats
path: root/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOAddOrRemoveOneInstanceGroupMember.java
blob: eba6be2569aa5c0b5d9255411047f4d3333d6bd7 (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
package org.onap.simulator.presetGenerator.presets.mso;

public class PresetMSOAddOrRemoveOneInstanceGroupMember extends PresetMSOBaseCreateInstancePost {

    public enum InstanceGroupMemberAction {
        Add("/addMembers"),
        Remove("/removeMembers");

        private final String actionPath;

        InstanceGroupMemberAction(String actionPath) {
            this.actionPath = actionPath;
        }

        public String getActionPAth() {
            return actionPath;
        }
    }


    private final String memberInstanceId;
    private final String userId;
    private final InstanceGroupMemberAction action;

    public PresetMSOAddOrRemoveOneInstanceGroupMember(String vnfGroupInstanceId, String memberInstanceId, String userId, String requestId, InstanceGroupMemberAction action) {
        super(requestId, vnfGroupInstanceId);
        this.memberInstanceId = memberInstanceId;
        this.userId = userId;
        this.action = action;
    }

    @Override
    public String getReqPath() {
        return getRootPath() + "/serviceInstantiation/v./instanceGroups/" + responseInstanceId + action.getActionPAth();
    }

    @Override
    public Object getRequestBody() {
        return "{" +
                "  \"requestDetails\": {" +
                "    \"requestInfo\": {" +
                "      \"source\": \"VID\"," +
                "      \"requestorId\": \"" + userId + "\"" +
                "    }," +
                "    \"relatedInstanceList\": [" +
                "      {" +
                "        \"relatedInstance\": {" +
                "          \"instanceId\": \"" + memberInstanceId + "\"," +
                "          \"modelInfo\": {" +
                "            \"modelType\": \"vnf\"" +
                "          }" +
                "        }" +
                "      }" +
                "    ]" +
                "  }" +
                "}" +
                "";
    }

}