976228bf0616cc5c103010fdcc59e6f1c0a32592
[vid.git] / vid-automation / src / main / java / org / onap / simulator / presetGenerator / presets / aai / PresetAAIGetCloudRegionFromVnf.java
1 package org.onap.simulator.presetGenerator.presets.aai;
2
3 import com.google.common.collect.ImmutableList;
4 import com.google.common.collect.ImmutableMap;
5 import java.util.Collections;
6 import java.util.List;
7 import java.util.Map;
8 import org.onap.simulator.presetGenerator.presets.BasePresets.BaseAAIPreset;
9 import org.springframework.http.HttpMethod;
10
11 public class PresetAAIGetCloudRegionFromVnf extends BaseAAIPreset {
12
13     private String vnfInstanceId;
14
15     public PresetAAIGetCloudRegionFromVnf(String vnfInstanceId) {
16         this.vnfInstanceId = vnfInstanceId;
17     }
18
19     public String getVnfInstanceId() {
20         return vnfInstanceId;
21     }
22
23     @Override
24     public HttpMethod getReqMethod() {
25         return HttpMethod.PUT;
26     }
27
28     @Override
29     public String getReqPath() {
30         return getRootPath() + "/query";
31     }
32
33     @Override
34     public Map<String, List> getQueryParams() {
35         return ImmutableMap.of(
36                 "format", Collections.singletonList("simple")
37         );
38     }
39
40     @Override
41     public Object getRequestBody() {
42         return ImmutableMap.of(
43                 "start", ImmutableList.of("/network/generic-vnfs/generic-vnf/" + getVnfInstanceId()),
44                 "query", "/query/cloud-region-fromVnf"
45         );
46     }
47
48     @Override
49     public Object getResponseBody() {
50         return "{" +
51                 "    \"results\": [" +
52                 "        {" +
53                 "            \"id\": \"363687968\"," +
54                 "            \"node-type\": \"generic-vnf\"," +
55                 "            \"url\": \"/aai/v14/network/generic-vnfs/generic-vnf/" + getVnfInstanceId() + "\"," +
56                 "            \"properties\": {" +
57                 "                \"vnf-id\": \"" + getVnfInstanceId() + "\"," +
58                 "                \"vnf-name\": \"zhvf23bmogx05_oam_01_rk\"," +
59                 "                \"vnf-type\": \"vMOG_SVC_UPDATED_FLAV_OAM/vMOG_VSP_UPDATED_FLAV 0\"," +
60                 "                \"service-id\": \"db171b8f-115c-4992-a2e3-ee04cae357e0\"," +
61                 "                \"prov-status\": \"NVTPROV\"," +
62                 "                \"orchestration-status\": \"Created\"," +
63                 "                \"in-maint\": false," +
64                 "                \"is-closed-loop-disabled\": false," +
65                 "                \"resource-version\": \"1522780608709\"," +
66                 "                \"model-invariant-id\": \"5108d7e4-f32a-44cd-8835-433a70915b8c\"," +
67                 "                \"model-version-id\": \"bae37933-b694-4b4e-a734-db63416f9cfe\"," +
68                 "                \"model-customization-id\": \"732305c6-d36a-47ee-a701-6f28f87b90cd\"," +
69                 "                \"nf-type\": \"POLICY\"," +
70                 "                \"nf-function\": \"Emanuel Orchestration Gateway (MOG)\"," +
71                 "                \"nf-role\": \"vMOG\"," +
72                 "                \"nf-naming-code\": \"\"" +
73                 "            }," +
74                 "            \"related-to\": [" +
75                 "                {" +
76                 "                    \"id\": \"193753168\"," +
77                 "                    \"relationship-label\": \"org.onap.relationships.inventory.ComposedOf\"," +
78                 "                    \"node-type\": \"service-instance\"," +
79                 "                    \"url\": \"/aai/v14/business/customers/customer/a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb/service-subscriptions/service-subscription/vMOG/service-instances/service-instance/7f10ffe2-548f-4168-8722-b782d05675b7\"" +
80                 "                }" +
81                 "            ]" +
82                 "        }," +
83                 "        {" +
84                 "            \"id\": \"8757432\"," +
85                 "            \"node-type\": \"tenant\"," +
86                 "            \"url\": \"/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/irma-aic/hvf23b/tenants/tenant/3e9a20a3e89e45f884e09df0cc2d2d2a\"," +
87                 "            \"properties\": {" +
88                 "                \"tenant-id\": \"3e9a20a3e89e45f884e09df0cc2d2d2a\"," +
89                 "                \"tenant-name\": \"APPC-24595-T-IST-02C\"," +
90                 "                \"resource-version\": \"1539855222745\"" +
91                 "            }," +
92                 "            \"related-to\": [" +
93                 "                {" +
94                 "                    \"id\": \"264798392\"," +
95                 "                    \"relationship-label\": \"org.onap.relationships.inventory.BelongsTo\"," +
96                 "                    \"node-type\": \"vserver\"," +
97                 "                    \"url\": \"/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/irma-aic/hvf23b/tenants/tenant/3e9a20a3e89e45f884e09df0cc2d2d2a/vservers/vserver/088c2bf0-80e2-4bdf-93ae-b2469fbeba84\"" +
98                 "                }" +
99                 "            ]" +
100                 "        }," +
101                 "        {" +
102                 "            \"id\": \"302227536\"," +
103                 "            \"node-type\": \"cloud-region\"," +
104                 "            \"url\": \"/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/irma-aic/hvf23b\"," +
105                 "            \"properties\": {" +
106                 "                \"cloud-owner\": \"irma-aic\"," +
107                 "                \"cloud-region-id\": \"hvf23b\"," +
108                 "                \"cloud-type\": \"openstack\"," +
109                 "                \"owner-defined-type\": \"lcp\"," +
110                 "                \"cloud-region-version\": \"3.0\"," +
111                 "                \"identity-url\": \"https://iden.onap.org:5000/v2.0\"," +
112                 "                \"cloud-zone\": \"z1\"," +
113                 "                \"complex-name\": \"c1\"," +
114                 "                \"sriov-automation\": \"false\"," +
115                 "                \"resource-version\": \"1539855222969\"" +
116                 "            }," +
117                 "            \"related-to\": [" +
118                 "                {" +
119                 "                    \"id\": \"2744328\"," +
120                 "                    \"relationship-label\": \"org.onap.relationships.inventory.BelongsTo\"," +
121                 "                    \"node-type\": \"tenant\"," +
122                 "                    \"url\": \"/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/irma-aic/hvf23b/tenants/tenant/5452d6bd0cb34e99a3553d349456c642\"" +
123                 "                }" +
124                 "            ]" +
125                 "        }" +
126                 "    ]" +
127                 "}";
128     }
129
130 }