From 9e34db4166287c48d8aaccc680eee0f0d5714f8b Mon Sep 17 00:00:00 2001 From: romaingimbert Date: Fri, 3 Aug 2018 10:04:46 +0200 Subject: [PATCH] rollback EXTAPI-108 call tosca Change-Id: Icfe3594f7b34b7dabdc7941ce5fff3b52fd4703f Issue-ID: EXTAPI-108 Signed-off-by: romaingimbert --- .../ServiceSpecificationResource.java | 7 +- .../ServiceSpecificationService.java | 17 +- src/main/resources/jolt/getServiceCatalog.json | 8 +- src/test/java/org/onap/nbi/apis/ApiTest.java | 16 +- .../apis/assertions/ServiceCatalogAssertions.java | 67 ++++++- ...0-8e36-46c6-862c-236d9c626439_withoutTosca.json | 213 +++++++++++++++++++++ 6 files changed, 307 insertions(+), 21 deletions(-) create mode 100644 src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca.json diff --git a/src/main/java/org/onap/nbi/apis/servicecatalog/ServiceSpecificationResource.java b/src/main/java/org/onap/nbi/apis/servicecatalog/ServiceSpecificationResource.java index d4a53a4..e8ef9e3 100644 --- a/src/main/java/org/onap/nbi/apis/servicecatalog/ServiceSpecificationResource.java +++ b/src/main/java/org/onap/nbi/apis/servicecatalog/ServiceSpecificationResource.java @@ -43,7 +43,12 @@ public class ServiceSpecificationResource extends ResourceManagement { @RequestParam MultiValueMap params) { Map response = serviceSpecificationService.get(serviceSpecId); JsonRepresentation filter = new JsonRepresentation(params); - return this.getResponse(response, filter); + if (response.get("serviceSpecCharacteristic") != null) { + return this.getResponse(response, filter); + } else { + return this.getPartialResponse(response, filter); + + } } @GetMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE) diff --git a/src/main/java/org/onap/nbi/apis/servicecatalog/ServiceSpecificationService.java b/src/main/java/org/onap/nbi/apis/servicecatalog/ServiceSpecificationService.java index 3094f7b..69e4a51 100644 --- a/src/main/java/org/onap/nbi/apis/servicecatalog/ServiceSpecificationService.java +++ b/src/main/java/org/onap/nbi/apis/servicecatalog/ServiceSpecificationService.java @@ -23,6 +23,8 @@ import org.apache.commons.collections.CollectionUtils; import org.onap.nbi.apis.servicecatalog.jolt.FindServiceSpecJsonTransformer; import org.onap.nbi.apis.servicecatalog.jolt.GetServiceSpecJsonTransformer; import org.onap.nbi.apis.serviceorder.ServiceCatalogUrl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.MultiValueMap; @@ -45,16 +47,23 @@ public class ServiceSpecificationService { @Autowired private ServiceCatalogUrl serviceCatalogUrl; - private static final String SERVICE_SPEC_INPUT_SCHEMA = "serviceSpecInputSchema"; + + private static final Logger LOGGER = LoggerFactory.getLogger(ServiceSpecificationService.class); public Map get(String serviceSpecId) { Map sdcResponse = sdcClient.callGet(serviceSpecId); - sdcResponse.put(SERVICE_SPEC_INPUT_SCHEMA,serviceCatalogUrl.getServiceCatalogUrl()+serviceSpecId+"/"+SERVICE_SPEC_INPUT_SCHEMA); - return (LinkedHashMap) getServiceSpecJsonTransformer.transform(sdcResponse); + LinkedHashMap serviceCatalogResponse = (LinkedHashMap) getServiceSpecJsonTransformer.transform(sdcResponse); + Map toscaInfosTopologyTemplate = toscaInfosProcessor.getToscaInfos(serviceCatalogResponse); + if (toscaInfosTopologyTemplate != null) { + LOGGER.debug("tosca file found, retrieving informations"); + toscaInfosProcessor.buildResponseWithToscaInfos(toscaInfosTopologyTemplate, serviceCatalogResponse); + } else { + LOGGER.debug("no tosca file found, partial response"); + } + return serviceCatalogResponse; } - public List find(MultiValueMap parametersMap) { List sdcResponse = sdcClient.callFind(parametersMap); List serviceCatalogResponse = new ArrayList<>(); diff --git a/src/main/resources/jolt/getServiceCatalog.json b/src/main/resources/jolt/getServiceCatalog.json index 6b260b6..6fdadd6 100644 --- a/src/main/resources/jolt/getServiceCatalog.json +++ b/src/main/resources/jolt/getServiceCatalog.json @@ -42,8 +42,7 @@ } - }, - "serviceSpecInputSchema" : "serviceSpecCharacteristic.serviceSpecInputSchema" + } } }, { @@ -70,11 +69,6 @@ "@type": "ONAPresource" } - }, - "serviceSpecCharacteristic" : { - "valueType": "complex", - "@type": "serviceSpecInputSchema" - } } } diff --git a/src/test/java/org/onap/nbi/apis/ApiTest.java b/src/test/java/org/onap/nbi/apis/ApiTest.java index 78d5b2a..5e07486 100644 --- a/src/test/java/org/onap/nbi/apis/ApiTest.java +++ b/src/test/java/org/onap/nbi/apis/ApiTest.java @@ -136,14 +136,24 @@ public class ApiTest { @Test - public void testServiceCatalogGetResource() throws Exception { + @Ignore + public void testServiceResourceGetCatalog() throws Exception { - ResponseEntity resource = serviceSpecificationResource - .getServiceSpecification("1e3feeb0-8e36-46c6-862c-236d9c626439", null); + ResponseEntity resource = + serviceSpecificationResource.getServiceSpecification("1e3feeb0-8e36-46c6-862c-236d9c626439", null); ServiceCatalogAssertions.assertGetServiceCatalog(resource); } + @Test + public void testServiceCatalogGetResourceWithoutTosca() throws Exception { + + ResponseEntity resource = serviceSpecificationResource + .getServiceSpecification("1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca", null); + ServiceCatalogAssertions.assertGetServiceCatalogWithoutTosca(resource); + + } + @Test public void testServiceCatalogFind() throws Exception { diff --git a/src/test/java/org/onap/nbi/apis/assertions/ServiceCatalogAssertions.java b/src/test/java/org/onap/nbi/apis/assertions/ServiceCatalogAssertions.java index 8e527c8..3789c8f 100644 --- a/src/test/java/org/onap/nbi/apis/assertions/ServiceCatalogAssertions.java +++ b/src/test/java/org/onap/nbi/apis/assertions/ServiceCatalogAssertions.java @@ -54,16 +54,71 @@ public class ServiceCatalogAssertions { assertThat(resource1.get("@type")).isEqualTo("ONAPresource"); assertThat(resource1.get("modelCustomizationName")).isEqualTo("vFW-vSINK 0"); - LinkedHashMap serviceSpecCharacteristic = (LinkedHashMap) service.get("serviceSpecCharacteristic"); - assertThat(serviceSpecCharacteristic.get("valueType")).isEqualTo("complex"); - assertThat(serviceSpecCharacteristic.get("@type")).isEqualTo("serviceSpecInputSchema"); - String serviceSpecInputSchema=serviceSpecCharacteristic.get("serviceSpecInputSchema").toString(); - String serviceSpecInputSchemaUrl= serviceSpecInputSchema.substring(serviceSpecInputSchema.indexOf("/nbi"),serviceSpecInputSchema.length()); - assertThat(serviceSpecInputSchemaUrl).isEqualTo("/nbi/api/v1/serviceSpecification/1e3feeb0-8e36-46c6-862c-236d9c626439/serviceSpecInputSchema"); + assertThat(((ArrayList) service.get("serviceSpecCharacteristic")).size()).isEqualTo(4); + ArrayList serviceSPecCharacteristics = (ArrayList) service.get("serviceSpecCharacteristic"); + for (Object serviceSPecCharacteristic : serviceSPecCharacteristics) { + LinkedHashMap serviceSPecCharacteristicMap = (LinkedHashMap) serviceSPecCharacteristic; + if (serviceSPecCharacteristicMap.get("name").toString().equals("cpus")) { + assertThat(serviceSPecCharacteristicMap.get("valueType")).isEqualTo("integer"); + assertThat(serviceSPecCharacteristicMap.get("@type")).isEqualTo("ONAPserviceCharacteristic"); + ArrayList serviceSpecCharacteristicValues = + (ArrayList) serviceSPecCharacteristicMap.get("serviceSpecCharacteristicValue"); + for (Object serviceSpecCharacteristicValue : serviceSpecCharacteristicValues) { + LinkedHashMap serviceSpecCharacteristicValueMap = (LinkedHashMap) serviceSpecCharacteristicValue; + if (serviceSpecCharacteristicValueMap.get("value").toString().equals("2")) { + assertThat(serviceSpecCharacteristicValueMap.get("isDefault")).isEqualTo(true); + assertThat(serviceSpecCharacteristicValueMap.get("valueType")).isEqualTo("integer"); + } else { + assertThat(serviceSpecCharacteristicValueMap.get("isDefault")).isEqualTo(false); + assertThat(serviceSpecCharacteristicValueMap.get("valueType")).isEqualTo("integer"); + } + } + } + } } + + + public static void assertGetServiceCatalogWithoutTosca(ResponseEntity resource) { + assertThat(resource.getStatusCode()).isEqualTo(HttpStatus.PARTIAL_CONTENT); + LinkedHashMap service = (LinkedHashMap) resource.getBody(); + assertThat(service.get("id")).isEqualTo("1e3feeb0-8e36-46c6-862c-236d9c626439"); + assertThat(service.get("name")).isEqualTo("vFW"); + assertThat(service.get("invariantUUID")).isEqualTo("b58a118e-eeb9-4f6e-bdca-e292f84d17df"); + assertThat(service.get("toscaModelURL")) + .isEqualTo("/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439toto/toscaModel"); + assertThat(service.get("distributionStatus")).isEqualTo("DISTRIBUTED"); + assertThat(service.get("version")).isEqualTo("2.0"); + assertThat(service.get("lifecycleStatus")).isEqualTo("CERTIFIED"); + assertThat(service.get("@type")).isEqualTo("ONAPservice"); + assertThat(((ArrayList) service.get("attachment")).size()).isEqualTo(5); + LinkedHashMap relatedParty = (LinkedHashMap) service.get("relatedParty"); + assertThat(relatedParty.get("name")).isEqualTo("Joni Mitchell"); + assertThat(relatedParty.get("role")).isEqualTo("lastUpdater"); + + + assertThat(((ArrayList) service.get("resourceSpecification")).size()).isEqualTo(2); + LinkedHashMap resource1 = (LinkedHashMap) ((ArrayList) service.get("resourceSpecification")).get(0); + assertThat(resource1.get("name")).isEqualTo("vFW-vSINK"); + assertThat(resource1.get("resourceInstanceName")).isEqualTo("vFW-vSINK 0"); + assertThat(resource1.get("resourceType")).isEqualTo("VF"); + assertThat(resource1.get("resourceInvariantUUID")).isEqualTo("18b90934-aa82-456f-938e-e74a07a426f3"); + assertThat(resource1.get("@type")).isEqualTo("ONAPresource"); + assertThat(resource1.get("modelCustomizationName")).isEqualTo("vFW-vSINK 0"); + assertThat(service.get("serviceSpecCharacteristic")).isNull(); + } + + + + + + + + + + public static void assertFindServiceCatalog(ResponseEntity resource) { assertThat(resource.getStatusCode()).isEqualTo(HttpStatus.OK); ArrayList body = (ArrayList) resource.getBody(); diff --git a/src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca.json b/src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca.json new file mode 100644 index 0000000..35554f0 --- /dev/null +++ b/src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca.json @@ -0,0 +1,213 @@ +{ + "request": { + "method": "GET", + "url": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca/metadata" + }, + "response": { + "status": 200, + "jsonBody": { + "uuid": "1e3feeb0-8e36-46c6-862c-236d9c626439", + "invariantUUID": "b58a118e-eeb9-4f6e-bdca-e292f84d17df", + "name": "vFW", + "version": "2.0", + "toscaModelURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439toto/toscaModel", + "category": "Network Service", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED", + "lastUpdaterFullName": "Joni Mitchell", + "resources": [{ + "resourceInstanceName": "vFW-vSINK 0", + "resourceName": "vFW-vSINK", + "resourceInvariantUUID": "18b90934-aa82-456f-938e-e74a07a426f3", + "resourceVersion": "2.0", + "resoucreType": "VF", + "resourceUUID": "89a6b4c5-3973-4c19-b651-fae3713ca8d5", + "artifacts": [{ + "artifactName": "vf-license-model.xml", + "artifactType": "VF_LICENSE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vfwvsink0/artifacts/f6fa3f94-f5cd-4233-a7b2-b5e8dc2e1ec6", + "artifactDescription": "VF license file", + "artifactChecksum": "NDQ2NzIxNzgyMjZhNTc1NDNlMWU0ODI1ZmIyNjc3Zjg=", + "artifactUUID": "f6fa3f94-f5cd-4233-a7b2-b5e8dc2e1ec6", + "artifactVersion": "1", + "artifactLabel": "vflicense", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "vfwvsink0_modules.json", + "artifactType": "VF_MODULES_METADATA", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vfwvsink0/artifacts/d0aaecf9-6ffb-4b4b-81fd-c59c1e8e6fb6", + "artifactDescription": "Auto-generated VF Modules information artifact", + "artifactChecksum": "ZGIyOWY3YzE0MTM2MjlhMjY1ZjkzNDg3YjE2ZmQxY2Y=", + "artifactUUID": "d0aaecf9-6ffb-4b4b-81fd-c59c1e8e6fb6", + "artifactVersion": "1", + "artifactLabel": "vfModulesMetadata", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "base_vfw.yaml", + "artifactType": "HEAT", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vfwvsink0/artifacts/c94e8eec-b1a7-431c-ab6f-2fda5f0ee920", + "artifactDescription": "created from csar", + "artifactTimeout": 60, + "artifactChecksum": "YTY0MDg5ODUwZDE4YzQyYWI0NjE5Y2NjYmM3ZDg5ZGE=", + "artifactUUID": "c94e8eec-b1a7-431c-ab6f-2fda5f0ee920", + "artifactVersion": "4", + "artifactLabel": "heat1", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "vendor-license-model.xml", + "artifactType": "VENDOR_LICENSE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vfwvsink0/artifacts/423d2c66-6c3a-4257-9342-7b57ebf9dd54", + "artifactDescription": " Vendor license file", + "artifactChecksum": "YTNhYTc3ZGE4ZWViMmYzOThkOGQ3ZTVjZGNmNmU0ZmQ=", + "artifactUUID": "423d2c66-6c3a-4257-9342-7b57ebf9dd54", + "artifactVersion": "1", + "artifactLabel": "vendorlicense", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "base_vfw.env", + "artifactType": "HEAT_ENV", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vfwvsink0/artifacts/a1a58cc9-8225-4b6f-b81a-02fa3c7fb6ec", + "artifactDescription": "Auto-generated HEAT Environment deployment artifact", + "artifactChecksum": "ZmVkM2MwODhlZjcwNWY5MDk5ZGEyMjI5ZTAyYWRjNjY=", + "artifactUUID": "a1a58cc9-8225-4b6f-b81a-02fa3c7fb6ec", + "artifactVersion": "2", + "generatedFromUUID": "32591489-33c9-4461-a47c-7c463250788d.heat1", + "artifactLabel": "heat1env", + "artifactGroupType": "DEPLOYMENT" + } + ] + }, + { + "resourceInstanceName": "vPkG 0", + "resourceName": "vPkG", + "resourceInvariantUUID": "8d8a20c0-746c-4d5e-a1a2-fa49fa5786ad", + "resourceVersion": "2.0", + "resoucreType": "VF", + "resourceUUID": "31961e27-2a2c-4beb-87c9-bfe0067088f5", + "artifacts": [{ + "artifactName": "vf-license-model.xml", + "artifactType": "VF_LICENSE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vpkg0/artifacts/7af6cc3b-2ba3-4164-9d7d-65b3b46a71f4", + "artifactDescription": "VF license file", + "artifactChecksum": "MWM5NDlmNjdhZTdmZTA5MzIzY2RhYjcxZmFkYzQyZDM=", + "artifactUUID": "7af6cc3b-2ba3-4164-9d7d-65b3b46a71f4", + "artifactVersion": "1", + "artifactLabel": "vflicense", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "vpkg0_modules.json", + "artifactType": "VF_MODULES_METADATA", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vpkg0/artifacts/37b16173-bd54-447f-a5a2-1a5e24db8afb", + "artifactDescription": "Auto-generated VF Modules information artifact", + "artifactChecksum": "ZDA3MWQ3MTE3MTA1MzNkY2M1ODQ4YTUxN2YwMDk0MmM=", + "artifactUUID": "37b16173-bd54-447f-a5a2-1a5e24db8afb", + "artifactVersion": "1", + "artifactLabel": "vfModulesMetadata", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "base_vpkg.yaml", + "artifactType": "HEAT", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vpkg0/artifacts/43184998-c107-40a7-92f6-00ba74de8539", + "artifactDescription": "created from csar", + "artifactTimeout": 60, + "artifactChecksum": "NDZhY2U0YTExZjllNTFmZjc4ZTE4YzU2Zjk1ZDc2MWI=", + "artifactUUID": "43184998-c107-40a7-92f6-00ba74de8539", + "artifactVersion": "4", + "artifactLabel": "heat1", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "vendor-license-model.xml", + "artifactType": "VENDOR_LICENSE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vpkg0/artifacts/6cd5f968-20aa-4b86-9a50-97db5e4ca806", + "artifactDescription": " Vendor license file", + "artifactChecksum": "YTNhYTc3ZGE4ZWViMmYzOThkOGQ3ZTVjZGNmNmU0ZmQ=", + "artifactUUID": "6cd5f968-20aa-4b86-9a50-97db5e4ca806", + "artifactVersion": "1", + "artifactLabel": "vendorlicense", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "base_vpkg.env", + "artifactType": "HEAT_ENV", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vpkg0/artifacts/60944038-d382-4aa6-b387-7b87c9c9df19", + "artifactDescription": "Auto-generated HEAT Environment deployment artifact", + "artifactChecksum": "OGU0OGFlZTFiZDdhYmQ0MmM0MjAyY2U5YjljYWViYTA=", + "artifactUUID": "60944038-d382-4aa6-b387-7b87c9c9df19", + "artifactVersion": "2", + "generatedFromUUID": "0d3918df-ea14-4fc3-a5c9-34032eaae573.heat1", + "artifactLabel": "heat1env", + "artifactGroupType": "DEPLOYMENT" + } + ] + } + ], + "artifacts": [{ + "artifactName": "AAI-vFW-service-2VF-based-service-2.0.xml", + "artifactType": "MODEL_INVENTORY_PROFILE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/artifacts/2e6cd967-93c2-4f53-82bd-c56ab98e8df7", + "artifactDescription": "AAI Service Model", + "artifactChecksum": "ZTY5ZTJmYTY4YzE2NGUxMTQxNWNkN2QzMmI4MWIzNDU=", + "artifactUUID": "2e6cd967-93c2-4f53-82bd-c56ab98e8df7", + "artifactVersion": "1", + "artifactLabel": "aaiservice1603481860", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "AAI-Vpkg..base_vpkg..module-0-resource-2.xml", + "artifactType": "MODEL_INVENTORY_PROFILE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/artifacts/ad600a09-edde-4356-bb0a-9e638a671d06", + "artifactDescription": "AAI Resource Model", + "artifactChecksum": "MzQyMjczOGVmYzM1OWQ1NmFhZjBhOWUxM2JjMmYxZTQ=", + "artifactUUID": "ad600a09-edde-4356-bb0a-9e638a671d06", + "artifactVersion": "1", + "artifactLabel": "aairesource529289386", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "AAI-vFW-vSINK-resource-2.0.xml", + "artifactType": "MODEL_INVENTORY_PROFILE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/artifacts/413a631e-69c4-453b-ab68-fac09b390259", + "artifactDescription": "AAI Resource Model", + "artifactChecksum": "ZWRmMzQzYzc0MThlYjQ1YjY2ZTFkYzJmMjAyNzQ1YWU=", + "artifactUUID": "413a631e-69c4-453b-ab68-fac09b390259", + "artifactVersion": "1", + "artifactLabel": "aairesource1461475898", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "AAI-vPkG-resource-2.0.xml", + "artifactType": "MODEL_INVENTORY_PROFILE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/artifacts/aee30754-eec4-4820-ae3a-790b80b76e81", + "artifactDescription": "AAI Resource Model", + "artifactChecksum": "OGQ4ZTdhYjkyZDRkYmFiZTBhNWU4MDc4YTM2YjY1NmI=", + "artifactUUID": "aee30754-eec4-4820-ae3a-790b80b76e81", + "artifactVersion": "1", + "artifactLabel": "aairesource936479495", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "AAI-VfwVsink..base_vfw..module-0-resource-2.xml", + "artifactType": "MODEL_INVENTORY_PROFILE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/artifacts/ac9a3bbf-a052-4176-abff-fe2d2741194a", + "artifactDescription": "AAI Resource Model", + "artifactChecksum": "OWIzNjVhNmI2ZWYyZThlMjk1NjA2MDFhZTU3MGQ0ZDU=", + "artifactUUID": "ac9a3bbf-a052-4176-abff-fe2d2741194a", + "artifactVersion": "1", + "artifactLabel": "aairesource1106409880", + "artifactGroupType": "DEPLOYMENT" + } + ] + }, + "headers": { + "Content-Type": "application/json" + } + } +} \ No newline at end of file -- 2.16.6