diff options
Diffstat (limited to 'vid-automation/src/main')
12 files changed, 145 insertions, 158 deletions
diff --git a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/BasePresets/BaseMSOPreset.java b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/BasePresets/BaseMSOPreset.java index 8ad111849..2bc664591 100644 --- a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/BasePresets/BaseMSOPreset.java +++ b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/BasePresets/BaseMSOPreset.java @@ -1,12 +1,10 @@ package org.onap.simulator.presetGenerator.presets.BasePresets; -import vid.automation.test.infra.Features; +import static org.apache.commons.lang3.StringUtils.isNotEmpty; import java.util.Map; +import vid.automation.test.infra.Features; -/** - * Created by itzikliderman on 27/12/2017. - */ public abstract class BaseMSOPreset extends BasePreset { public static final String DEFAULT_CLOUD_OWNER = "irma-aic"; @@ -31,14 +29,14 @@ public abstract class BaseMSOPreset extends BasePreset { protected String addCloudOwnerIfNeeded() { return Features.FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST.isActive() ? - "\"cloudOwner\": \""+cloudOwner+"\"," : ""; + "\"cloudOwner\": \"" + cloudOwner + "\"," : ""; } protected String addPlatformIfNeeded(String platform) { - return platform != "" ? - " \"platform\": {" + - " \"platformName\": \""+platform+"\"," + - "}," : ""; + return isNotEmpty(platform) ? + " \"platform\": {" + + " \"platformName\": \"" + platform + "\"," + + "}," : ""; } @Override @@ -49,7 +47,7 @@ public abstract class BaseMSOPreset extends BasePreset { @Override public Map<String, String> getRequestHeaders() { Map<String, String> map = super.getRequestHeaders(); - map.put("X-ONAP-PartnerName", "VID"); + map.put("X-ONAP-PartnerName", "VID.VID"); return map; } } diff --git a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/BasePresets/BaseSDCPreset.java b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/BasePresets/BaseSDCPreset.java index d5f8b84cd..ad8dfb3ac 100644 --- a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/BasePresets/BaseSDCPreset.java +++ b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/BasePresets/BaseSDCPreset.java @@ -1,12 +1,19 @@ package org.onap.simulator.presetGenerator.presets.BasePresets; -/** - * Created by itzikliderman on 27/12/2017. - */ +import java.util.Map; + public abstract class BaseSDCPreset extends BasePreset { @Override protected String getRootPath() { return "/sdc/v1/catalog/services"; } + + @Override + public Map<String, String> getRequestHeaders() { + Map<String, String> map = super.getRequestHeaders(); + map.put("X-ONAP-PartnerName", "VID.VID"); + return map; + } + } diff --git a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aai/PresetAAIGetTenants.java b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aai/PresetAAIGetTenants.java index 0808eaba6..575a8888e 100644 --- a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aai/PresetAAIGetTenants.java +++ b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aai/PresetAAIGetTenants.java @@ -1,5 +1,6 @@ package org.onap.simulator.presetGenerator.presets.aai; +import org.apache.commons.lang3.StringUtils; import org.onap.simulator.presetGenerator.presets.BasePresets.BaseAAIPreset; import org.springframework.http.HttpMethod; @@ -9,21 +10,46 @@ public class PresetAAIGetTenants extends BaseAAIPreset { private final String subscriberId; private final String serviceType; private String responseBody; + private static final String responseBodyResourceDefault = "presets_templates/PresetAAIGetTenants.json"; public PresetAAIGetTenants(String subscriberId, String serviceType, String responseBodyResource) { this.subscriberId = subscriberId; this.serviceType = serviceType; - this.responseBody = loadResourceAsString(responseBodyResource); + this.responseBody = loadResponseBody(responseBodyResource); } public PresetAAIGetTenants() { this( - "e433710f-9217-458d-a79d-1c7aff376d89", - "TYLER SILVIA", - "presets_templates/PresetAAIGetTenants.json" + "e433710f-9217-458d-a79d-1c7aff376d89", + "TYLER SILVIA", + responseBodyResourceDefault ); } + public PresetAAIGetTenants(String subscriberId, String serviceType) { + this( + subscriberId, + serviceType, + responseBodyResourceDefault + ); + } + + private String loadResponseBody(String responseBodyResource) { + + String responseBody = loadResourceAsString(responseBodyResource); + + if (StringUtils.equals(responseBodyResource, responseBodyResourceDefault)) { + responseBody = setServiceTypeInTheResponse(responseBody); + } + + return responseBody; + } + + private String setServiceTypeInTheResponse(String resourceBodyAsString) { + final String serviceTypePlaceHolder = "<service-type>"; + return resourceBodyAsString.replace(serviceTypePlaceHolder, this.serviceType); + } + @Override public Object getResponseBody() { return responseBody; @@ -38,6 +64,4 @@ public class PresetAAIGetTenants extends BaseAAIPreset { public String getReqPath() { return getRootPath() + "/business/customers/customer/" + this.subscriberId + "/service-subscriptions/service-subscription/" + this.serviceType; } - - } diff --git a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aai/PresetAAIServiceDesignAndCreationPut.java b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aai/PresetAAIServiceDesignAndCreationPut.java index 180685282..5ffd24253 100644 --- a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aai/PresetAAIServiceDesignAndCreationPut.java +++ b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aai/PresetAAIServiceDesignAndCreationPut.java @@ -208,6 +208,7 @@ public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset { " {" + " \"model-version-id\": \"0903e1c0-8e03-4936-b5c2-260653b96413\"," + " \"model-name\": \"action-data\"," + + " \"orchestration-type\": \"a la carte\"," + " \"model-version\": \"1.0\"," + " \"model-description\": \"honor immunity exile prong below misshapen\"," + " \"resource-version\": \"4076846985447\"" + @@ -226,6 +227,7 @@ public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset { " {" + " \"model-version-id\": \"666a06ee-4b57-46df-bacf-908da8f10c3f\"," + " \"model-name\": \"multicast-configuration\"," + + " \"orchestration-type\": \"a la carte\"," + " \"model-version\": \"1.0\"," + " \"model-description\": \"python bullwhip appointment computation ambidextrous heaving\"," + " \"resource-version\": \"1500136282691\"" + @@ -244,6 +246,7 @@ public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset { " {" + " \"model-version-id\": \"20c4431c-246d-11e7-93ae-92361f002671\"," + " \"model-name\": \"vSAMP10aDEV::base::module-0\"," + + " \"orchestration-type\": \"a la carte\"," + " \"model-version\": \"2\"," + " \"model-description\": \"MSO aLaCarte VF vSAMP10aDEV Base\"," + " \"resource-version\": \"1492627634300\"" + @@ -262,6 +265,7 @@ public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset { " {" + " \"model-version-id\": \"797a6c41-0f80-4d35-a288-3920c4e06baa\"," + " \"model-name\": \"CONTRAIL30_L2NODHCP\"," + + " \"orchestration-type\": \"macro\"," + " \"model-version\": \"1.0\"," + " \"model-description\": \"contrail 3.0.x L2 network for AIC 3.x sites (and No DHCP).\"," + " \"resource-version\": \"1492814035003\"," + @@ -307,6 +311,7 @@ public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset { " {" + " \"model-version-id\": \"f1bde010-cc5f-4765-941f-75f15b24f9fc\"," + " \"model-name\": \"BkVmxAv061917..base_vPE_AV..module-0\"," + + " \"orchestration-type\": \"macro\"," + " \"model-version\": \"2\"," + " \"resource-version\": \"1497897268769\"," + " \"relationship-list\": {" + @@ -351,6 +356,7 @@ public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset { " {" + " \"model-version-id\": \"ipe-resource-id-ps-02\"," + " \"model-name\": \"abc\"," + + " \"orchestration-type\": \"macro\"," + " \"model-version\": \"v1.0\"," + " \"resource-version\": \"1493389520357\"," + " \"relationship-list\": {" + @@ -395,6 +401,7 @@ public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset { " {" + " \"model-version-id\": \"lmoser410-connector-model-version-id\"," + " \"model-name\": \"connector\"," + + " \"orchestration-type\": \"macro\"," + " \"model-version\": \"v1.0\"," + " \"resource-version\": \"1493389444766\"" + " }" + diff --git a/vid-automation/src/main/java/vid/automation/test/infra/Features.java b/vid-automation/src/main/java/vid/automation/test/infra/Features.java index 6a15d8961..312c3fd99 100644 --- a/vid-automation/src/main/java/vid/automation/test/infra/Features.java +++ b/vid-automation/src/main/java/vid/automation/test/infra/Features.java @@ -50,6 +50,7 @@ public enum Features implements Feature { FLAG_PNP_INSTANTIATION, FLAG_HANDLE_SO_WORKFLOWS, FLAG_CREATE_ERROR_REPORTS, + FLAG_SHOW_ORCHESTRATION_TYPE, FLAG_FLASH_MORE_ACTIONS_BUTTON_IN_OLD_VIEW_EDIT, FLAG_FLASH_REDUCED_RESPONSE_CHANGEMG, FLAG_FLASH_CLOUD_REGION_AND_NF_ROLE_OPTIONAL_SEARCH, diff --git a/vid-automation/src/main/java/vid/automation/test/sections/BrowseASDCPage.java b/vid-automation/src/main/java/vid/automation/test/sections/BrowseASDCPage.java index febbe6e83..de69e0047 100644 --- a/vid-automation/src/main/java/vid/automation/test/sections/BrowseASDCPage.java +++ b/vid-automation/src/main/java/vid/automation/test/sections/BrowseASDCPage.java @@ -37,7 +37,7 @@ public class BrowseASDCPage extends VidBasePage { } public int countCurrentRowsInTable(){ - List<WebElement> rowsInTable = Get.byClass("alt-row"); + List<WebElement> rowsInTable = Get.byClass("sdcServiceModel"); return rowsInTable.size(); } diff --git a/vid-automation/src/main/java/vid/automation/test/sections/VidBasePage.java b/vid-automation/src/main/java/vid/automation/test/sections/VidBasePage.java index 7290204d6..43dd68f06 100644 --- a/vid-automation/src/main/java/vid/automation/test/sections/VidBasePage.java +++ b/vid-automation/src/main/java/vid/automation/test/sections/VidBasePage.java @@ -4,10 +4,7 @@ import com.aventstack.extentreports.Status; import org.junit.Assert; import org.onap.sdc.ci.tests.execute.setup.ExtentTestActions; import org.onap.sdc.ci.tests.utilities.GeneralUIUtils; -import org.openqa.selenium.By; -import org.openqa.selenium.JavascriptExecutor; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; +import org.openqa.selenium.*; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import vid.automation.test.Constants; @@ -113,6 +110,17 @@ public class VidBasePage { return this; } + public boolean isModelWithGivenServiceUUIDVisible(String serviceUUID) { + String elementTestId = Constants.DEPLOY_BUTTON_TESTS_ID_PREFIX + serviceUUID; + try { + GeneralUIUtils.getWebElementByTestID(elementTestId, 10); + GeneralUIUtils.ultimateWait(); + } catch (TimeoutException te) { + return false; + } + return true; + } + public void screenshotDeployDialog(String serviceUUID) { try { GeneralUIUtils.ultimateWait(); diff --git a/vid-automation/src/main/java/vid/automation/test/test/BrowseASDCTest.java b/vid-automation/src/main/java/vid/automation/test/test/BrowseASDCTest.java index f082044fd..eb08c1f2a 100644 --- a/vid-automation/src/main/java/vid/automation/test/test/BrowseASDCTest.java +++ b/vid-automation/src/main/java/vid/automation/test/test/BrowseASDCTest.java @@ -31,8 +31,9 @@ import java.util.List; import static org.hamcrest.MatcherAssert.assertThat; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; -import static vid.automation.test.infra.Features.FLAG_1908_TRANSPORT_SERVICE_NEW_INSTANTIATION_UI; import static vid.automation.test.infra.Features.FLAG_5G_IN_NEW_INSTANTIATION_UI; +import static vid.automation.test.infra.Features.FLAG_SHOW_ORCHESTRATION_TYPE; +import static vid.automation.test.infra.Features.FLAG_1908_TRANSPORT_SERVICE_NEW_INSTANTIATION_UI; import static vid.automation.test.infra.ModelInfo.*; @@ -479,4 +480,39 @@ public class BrowseASDCTest extends CreateInstanceDialogBaseTest { assertFalse(Exists.tagNameInAnotherElement(serviceModelsTbody, "tr"), "Table should be empty on empty results"); resetGetServicesCache(); } + + private static final String[] macroModelsIds = { + "f1bde010-cc5f-4765-941f-75f15b24f9fc", + "lmoser410-connector-model-version-id", + "ipe-resource-id-ps-02", + "797a6c41-0f80-4d35-a288-3920c4e06baa", + }; + private static final String[] alacarteModelsIds = { + "0903e1c0-8e03-4936-b5c2-260653b96413", + "666a06ee-4b57-46df-bacf-908da8f10c3f", + "20c4431c-246d-11e7-93ae-92361f002671", + }; + + @DataProvider + public static Object[][] filterOrchestrationType() { + return new Object[][]{{"a la carte", 3, alacarteModelsIds},{"macro", 4, macroModelsIds}}; + } + + @Test(dataProvider = "filterOrchestrationType") + @FeatureTogglingTest(FLAG_SHOW_ORCHESTRATION_TYPE) + public void browseSdcModel_filterModelsWithOrchestrationType_alacarte( + String orchestrationType,int numberOfOccurrence, String[] expectedModelsIds) { + resetGetServicesCache(); + SimulatorApi.clearAll(); + BrowseASDCPage browseAsdcPage = registerSimulatorAndGoToBrowseSDC(); + GeneralUIUtils.ultimateWait(); + assertThat(browseAsdcPage.countCurrentRowsInTable(),(Matchers.greaterThan(numberOfOccurrence))); + browseAsdcPage.fillFilterText(orchestrationType); + Assert.assertEquals(browseAsdcPage.countCurrentRowsInTable(),numberOfOccurrence); + for(String id : expectedModelsIds) { + Assert.assertTrue(browseAsdcPage.isModelWithGivenServiceUUIDVisible(id)); + } + browseAsdcPage.fillFilterText(""); + } + } diff --git a/vid-automation/src/main/java/vid/automation/test/test/ChangeManagementTest.java b/vid-automation/src/main/java/vid/automation/test/test/ChangeManagementTest.java index 7c577cabf..d9c771b6f 100644 --- a/vid-automation/src/main/java/vid/automation/test/test/ChangeManagementTest.java +++ b/vid-automation/src/main/java/vid/automation/test/test/ChangeManagementTest.java @@ -23,6 +23,7 @@ import com.aventstack.extentreports.Status; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.primitives.Ints; + import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; @@ -33,6 +34,7 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; + import net.javacrumbs.jsonunit.core.Option; import org.json.JSONException; import org.junit.Assert; @@ -223,7 +225,7 @@ public class ChangeManagementTest extends VidBaseTestCase { , "changeManagement/mso_get_change_managements_scaleout.json" ); SimulatorApi.registerExpectationFromPreset(new PresetAAIGetSubscribersGet(), APPEND); - if(FLAG_FLASH_REDUCED_RESPONSE_CHANGEMG.isActive()){ + if (FLAG_FLASH_REDUCED_RESPONSE_CHANGEMG.isActive()) { String AAI_VNFS_FOR_CHANGE_MANAGEMENT_JSON_BY_PARAMS = "registration_to_simulator/changeManagement/get_vnf_data_by_globalid_and_service_type_with_modelVer.json"; String globalCustomerId = "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"; String serviceType = "vRichardson"; @@ -246,9 +248,9 @@ public class ChangeManagementTest extends VidBaseTestCase { if (Features.FLAG_FLASH_CLOUD_REGION_AND_NF_ROLE_OPTIONAL_SEARCH.isActive()) { SimulatorApi.registerExpectationFromPreset(new PresetAAIGetTenants( - VNF_DATA_WITH_IN_PLACE.subscriberId, - VNF_DATA_WITH_IN_PLACE.serviceType, - "presets_templates/PresetAAIGetTenants_service_type_vWINIFRED.json"), SimulatorApi.RegistrationStrategy.APPEND); + VNF_DATA_WITH_IN_PLACE.subscriberId, + VNF_DATA_WITH_IN_PLACE.serviceType), + SimulatorApi.RegistrationStrategy.APPEND); } diff --git a/vid-automation/src/main/resources/presets_templates/PresetAAIGetTenants.json b/vid-automation/src/main/resources/presets_templates/PresetAAIGetTenants.json index 039d2d558..c3eca2e0a 100644 --- a/vid-automation/src/main/resources/presets_templates/PresetAAIGetTenants.json +++ b/vid-automation/src/main/resources/presets_templates/PresetAAIGetTenants.json @@ -1,5 +1,5 @@ { - "service-type": "TYLER SILVIA", + "service-type": "<service-type>", "resource-version": "1494001841964", "relationship-list": { "relationship": [ diff --git a/vid-automation/src/main/resources/presets_templates/PresetAAIGetTenants_service_type_vWINIFRED.json b/vid-automation/src/main/resources/presets_templates/PresetAAIGetTenants_service_type_vWINIFRED.json deleted file mode 100644 index 8cd6d19a7..000000000 --- a/vid-automation/src/main/resources/presets_templates/PresetAAIGetTenants_service_type_vWINIFRED.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "service-type": "vWINIFRED", - "resource-version": "1494001841964", - "relationship-list": { - "relationship": [ - { - "related-to": "tenant", - "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/irma-aic/AAIAIC25/tenants/tenant/092eb9e8e4b7412e8787dd091bc58e86", - "relationship-data": [ - { - "relationship-key": "cloud-region.cloud-owner", - "relationship-value": "irma-aic" - }, - { - "relationship-key": "cloud-region.cloud-region-id", - "relationship-value": "AAIAIC25" - }, - { - "relationship-key": "tenant.tenant-id", - "relationship-value": "092eb9e8e4b7412e8787dd091bc58e86" - } - ], - "related-to-property": [ - { - "property-key": "tenant.tenant-name", - "property-value": "USP-SIP-IC-24335-T-01" - } - ] - }, - { - "related-to": "tenant", - "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/irma-aic/hvf6/tenants/tenant/bae71557c5bb4d5aac6743a4e5f1d054", - "relationship-data": [ - { - "relationship-key": "cloud-region.cloud-owner", - "relationship-value": "irma-aic" - }, - { - "relationship-key": "cloud-region.cloud-region-id", - "relationship-value": "hvf6" - }, - { - "relationship-key": "tenant.tenant-id", - "relationship-value": "bae71557c5bb4d5aac6743a4e5f1d054" - } - ], - "related-to-property": [ - { - "property-key": "tenant.tenant-name", - "property-value": "AIN Web Tool-15-D-testalexandria" - } - ] - }, - { - "related-to": "tenant", - "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/irma-aic/hvf6/tenants/tenant/229bcdc6eaeb4ca59d55221141d01f8e", - "relationship-data": [ - { - "relationship-key": "cloud-region.cloud-owner", - "relationship-value": "irma-aic" - }, - { - "relationship-key": "cloud-region.cloud-region-id", - "relationship-value": "hvf6" - }, - { - "relationship-key": "tenant.tenant-id", - "relationship-value": "229bcdc6eaeb4ca59d55221141d01f8e" - } - ], - "related-to-property": [ - { - "property-key": "tenant.tenant-name", - "property-value": "AIN Web Tool-15-D-STTest2" - } - ] - }, - { - "related-to": "tenant", - "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/irma-aic/hvf6/tenants/tenant/cb42a77ff45b48a8b8deb83bb64acc74", - "relationship-data": [ - { - "relationship-key": "cloud-region.cloud-owner", - "relationship-value": "irma-aic" - }, - { - "relationship-key": "cloud-region.cloud-region-id", - "relationship-value": "hvf6" - }, - { - "relationship-key": "tenant.tenant-id", - "relationship-value": "cb42a77ff45b48a8b8deb83bb64acc74" - } - ], - "related-to-property": [ - { - "property-key": "tenant.tenant-name", - "property-value": "ro-T11" - } - ] - }, - { - "related-to": "tenant", - "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/irma-aic/hvf6/tenants/tenant/fa45ca53c80b492fa8be5477cd84fc2b", - "relationship-data": [ - { - "relationship-key": "cloud-region.cloud-owner", - "relationship-value": "irma-aic" - }, - { - "relationship-key": "cloud-region.cloud-region-id", - "relationship-value": "hvf6" - }, - { - "relationship-key": "tenant.tenant-id", - "relationship-value": "fa45ca53c80b492fa8be5477cd84fc2b" - } - ], - "related-to-property": [ - { - "property-key": "tenant.tenant-name", - "property-value": "ro-T112" - } - ] - } - ] - } -} diff --git a/vid-automation/src/main/resources/registration_to_simulator/changeManagement/get_vnf_data_by_globalid_and_service_type_response.json b/vid-automation/src/main/resources/registration_to_simulator/changeManagement/get_vnf_data_by_globalid_and_service_type_response.json index 258cd0e1a..5ee78f308 100644 --- a/vid-automation/src/main/resources/registration_to_simulator/changeManagement/get_vnf_data_by_globalid_and_service_type_response.json +++ b/vid-automation/src/main/resources/registration_to_simulator/changeManagement/get_vnf_data_by_globalid_and_service_type_response.json @@ -51,6 +51,38 @@ ] }, { + "id": "454760", + "node-type": "vf-module", + "url": "https://aai.onap.org:8443/aai/v13/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25/vf-modules/vf-module/98da0cd7-008a-4935-864e-333bb97bd15a", + "properties": { + "vf-module-id": "98da0cd7-008a-4935-864e-333bb97bd15a", + "vf-module-name": "ws-vnf", + "heat-stack-id": "ws-vnf/ba8955da-912d-4aa7-8bbe-ff51025f56fe", + "orchestration-status": "active", + "is-base-vf-module": true, + "automated-assignment": false, + "resource-version": "1551709026933", + "model-invariant-id": "4c6d21f0-dc36-46e7-ba9e-c8b602054d12", + "model-version-id": "0040b766-37e8-42e7-a930-bfc568265735", + "model-customization-id": "1cb1464c-4bf2-4910-8eac-e7d27b597d58", + "module-index": 0 + }, + "related-to": [ + { + "id": "442472", + "relationship-label": "org.onap.relationships.inventory.BelongsTo", + "node-type": "generic-vnf", + "url": "/aai/v13/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25" + }, + { + "id": "430168", + "relationship-label": "org.onap.relationships.inventory.Uses", + "node-type": "vserver", + "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0/vservers/vserver/154e8975-5a59-4824-af5d-b6564b7b712a" + } + ] + }, + { "id": "3775807704", "node-type": "service-instance", "url": "https://aai.onap.org:8443/aai/v10/business/customers/customer/a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb/service-subscriptions/service-subscription/vRichardson/service-instances/service-instance/9ad4ac55-a5e0-4b49-95c0-b2d846abf700", |