From b414a59f203104a9557a1f2d19727fae538f18f7 Mon Sep 17 00:00:00 2001 From: Elena Kuleshov Date: Thu, 20 Sep 2018 11:07:23 -0400 Subject: [PATCH] Runtime BPMN Deployment Capability Added license header to BpmnInstaller.java ASDC Controller integration with BPMN Installer Correct a test file name in a JUnit. BPMN deployment mechanism for WorkflowDesigner Change-Id: I670406dd09b8789c86ab0b85ef122b35ea057698 Issue-ID: SO-826 Signed-off-by: Elena Kuleshov --- .../org/onap/so/asdc/client/ASDCConfiguration.java | 1 + .../org/onap/so/asdc/client/ASDCController.java | 31 ++ .../onap/so/asdc/installer/bpmn/BpmnInstaller.java | 165 ++++++++ .../so/asdc/installer/bpmn/BpmnInstallerTest.java | 80 ++++ .../src/test/resources/ASDC/TestBB.bpmn | 53 +++ .../src/test/resources/mime-multipart-body.txt | 84 ++++ .../WorkflowBpmn/Notification_MultipleModules.txt | 302 ++++++++++++++ .../WorkflowBpmn/ServiceResponse.json | 458 +++++++++++++++++++++ .../WorkflowBpmn/WorkflowBpmn.json | 20 + .../WorkflowBpmn/service-CxSvc-csar.csar | Bin 0 -> 86187 bytes .../service-VfZrdm5bpxmc02092017Service-csar.csar | Bin 0 -> 97867 bytes .../WorkflowBpmn/testStructure.json | 20 + 12 files changed, 1214 insertions(+) create mode 100644 asdc-controller/src/main/java/org/onap/so/asdc/installer/bpmn/BpmnInstaller.java create mode 100644 asdc-controller/src/test/java/org/onap/so/asdc/installer/bpmn/BpmnInstallerTest.java create mode 100644 asdc-controller/src/test/resources/ASDC/TestBB.bpmn create mode 100644 asdc-controller/src/test/resources/mime-multipart-body.txt create mode 100644 asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/Notification_MultipleModules.txt create mode 100644 asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/ServiceResponse.json create mode 100644 asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/WorkflowBpmn.json create mode 100644 asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/service-CxSvc-csar.csar create mode 100644 asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/service-VfZrdm5bpxmc02092017Service-csar.csar create mode 100644 asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/testStructure.json diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCConfiguration.java b/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCConfiguration.java index 85e3e9e747..8276826456 100644 --- a/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCConfiguration.java +++ b/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCConfiguration.java @@ -70,6 +70,7 @@ public class ASDCConfiguration implements IConfiguration { public static final String HEAT_VOL="HEAT_VOL"; public static final String OTHER="OTHER"; public static final String TOSCA_CSAR="TOSCA_CSAR"; + public static final String WORKFLOWS="Workflows"; public static final String VF_MODULES_METADATA="VF_MODULES_METADATA"; private static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.ASDC,ASDCConfiguration.class); diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCController.java b/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCController.java index ee329ced3c..7ead6cbb7f 100644 --- a/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCController.java +++ b/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCController.java @@ -48,6 +48,7 @@ import org.onap.so.asdc.installer.IVfResourceInstaller; import org.onap.so.asdc.installer.ToscaResourceStructure; import org.onap.so.asdc.installer.VfModuleStructure; import org.onap.so.asdc.installer.VfResourceStructure; +import org.onap.so.asdc.installer.bpmn.BpmnInstaller; import org.onap.so.asdc.installer.heat.ToscaResourceInstaller; import org.onap.so.asdc.tenantIsolation.DistributionStatus; import org.onap.so.asdc.tenantIsolation.WatchdogDistribution; @@ -78,6 +79,9 @@ public class ASDCController { @Autowired private ToscaResourceInstaller toscaInstaller; + @Autowired + private BpmnInstaller bpmnInstaller; + @Autowired private WatchdogDistributionStatusRepository wdsRepo; @@ -684,6 +688,13 @@ public class ASDCController { this.processCsarServiceArtifacts(iNotif, toscaResourceStructure); + if (toscaResourceStructure.getServiceVersion() == null) { + LOGGER.debug("Deploy the workflow"); + IArtifactInfo iArtifact = toscaResourceStructure.getToscaArtifact(); + String csarFilePath = System.getProperty("mso.config.path") + "/ASDC" + "/" + iArtifact.getArtifactName(); + bpmnInstaller.installBpmn(csarFilePath); + } + // Install a service with no resources, only the service itself if (iNotif.getResources() == null || iNotif.getResources().size() < 1) { @@ -772,6 +783,26 @@ public class ASDCController { "Exception caught during processCsarServiceArtifacts", "ASDC", "processCsarServiceArtifacts", MsoLogger.ErrorCode.BusinessProcesssError, "Exception in processCsarServiceArtifacts", e); } } + else if(artifact.getArtifactType().equals(ASDCConfiguration.WORKFLOWS)){ + + try{ + + IDistributionClientDownloadResult resultArtifact = this.downloadTheArtifact(artifact,iNotif.getDistributionID()); + + writeArtifactToFile(artifact, resultArtifact); + + toscaResourceStructure.setToscaArtifact(artifact); + + LOGGER.debug(ASDCNotificationLogging.dumpASDCNotification(iNotif)); + + + } catch(Exception e){ + System.out.println("Whats the error " + e.getMessage()); + LOGGER.error(MessageEnum.ASDC_GENERAL_EXCEPTION_ARG, + "Exception caught during processCsarServiceArtifacts", "ASDC", "processCsarServiceArtifacts", MsoLogger.ErrorCode.BusinessProcesssError, "Exception in processCsarServiceArtifacts", e); + } + } + } } diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/installer/bpmn/BpmnInstaller.java b/asdc-controller/src/main/java/org/onap/so/asdc/installer/bpmn/BpmnInstaller.java new file mode 100644 index 0000000000..f131b73175 --- /dev/null +++ b/asdc-controller/src/main/java/org/onap/so/asdc/installer/bpmn/BpmnInstaller.java @@ -0,0 +1,165 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.so.asdc.installer.bpmn; + +import java.io.*; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.zip.*; + +import org.apache.commons.io.IOUtils; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.HttpClient; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ContentType; +import org.apache.http.impl.client.HttpClientBuilder; + +import org.onap.so.logger.MessageEnum; +import org.onap.so.logger.MsoLogger; +import org.apache.http.entity.mime.MultipartEntityBuilder; +import org.apache.http.entity.mime.content.ByteArrayBody; +import org.apache.http.entity.mime.content.StringBody; +import org.apache.http.entity.mime.FormBodyPartBuilder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Component; + +@Component +public class BpmnInstaller { + protected static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.ASDC,BpmnInstaller.class); + private static final String BPMN_SUFFIX = ".bpmn"; + private static final String CAMUNDA_URL = "mso.camundaURL"; + private static final String CREATE_DEPLOYMENT_PATH = "/sobpmnengine/deployment/create"; + + @Autowired + private Environment env; + + public void installBpmn(String csarFilePath) { + LOGGER.info("Deploying BPMN files from " + csarFilePath); + try { + ZipInputStream csarFile = new ZipInputStream(new FileInputStream(csarFilePath)); + ZipEntry entry = csarFile.getNextEntry(); + + while (entry != null) { + String name = entry.getName(); + if (name.endsWith(BPMN_SUFFIX)) { + LOGGER.debug("Attempting to deploy BPMN file: " + name); + try { + Path p = Paths.get(name); + String fileName = p.getFileName().toString(); + extractBpmnFileFromCsar(csarFile, fileName); + HttpResponse response = sendDeploymentRequest(fileName); + LOGGER.debug("Response status line: " + response.getStatusLine()); + LOGGER.debug("Response entity: " + response.getEntity().toString()); + if (response.getStatusLine().getStatusCode() != 200) { + LOGGER.debug("Failed deploying BPMN " + name); + LOGGER.error(MessageEnum.ASDC_ARTIFACT_NOT_DEPLOYED_DETAIL, + name, + fileName, + "", + Integer.toString(response.getStatusLine().getStatusCode()), "", "", MsoLogger.ErrorCode.DataError, "ASDC BPMN deploy failed"); + } + else { + LOGGER.debug("Successfully deployed to Camunda: " + name); + } + } + catch (Exception e) { + LOGGER.debug("Exception :",e); + LOGGER.error(MessageEnum.ASDC_ARTIFACT_NOT_DEPLOYED_DETAIL, + name, + "", + "", + e.getMessage(), "", "", MsoLogger.ErrorCode.DataError, "ASDC BPMN deploy failed"); + } + } + entry = csarFile.getNextEntry(); + } + csarFile.close(); + } catch (IOException ex) { + LOGGER.debug("Exception :",ex); + LOGGER.error(MessageEnum.ASDC_ARTIFACT_NOT_DEPLOYED_DETAIL, + csarFilePath, + "", + "", + ex.getMessage(), "", "", MsoLogger.ErrorCode.DataError, "ASDC reading CSAR with workflows failed"); + } + return; + } + + protected HttpResponse sendDeploymentRequest(String bpmnFileName) throws Exception { + HttpClient client = HttpClientBuilder.create().build(); + String deploymentUri = this.env.getProperty(CAMUNDA_URL) + CREATE_DEPLOYMENT_PATH; + HttpPost post = new HttpPost(deploymentUri); + RequestConfig requestConfig = + RequestConfig.custom().setSocketTimeout(1000000).setConnectTimeout(1000).setConnectionRequestTimeout(1000).build(); + post.setConfig(requestConfig); + HttpEntity requestEntity = buildMimeMultipart(bpmnFileName); + post.setEntity(requestEntity); + return client.execute(post); + } + + protected HttpEntity buildMimeMultipart(String bpmnFileName) throws Exception { + FileInputStream bpmnFileStream = new FileInputStream (System.getProperty("mso.config.path") + "/ASDC" + "/" + bpmnFileName); + + byte[] bytesToSend = IOUtils.toByteArray(bpmnFileStream); + HttpEntity requestEntity = MultipartEntityBuilder.create() + .addPart(FormBodyPartBuilder.create() + .setName("deployment-name") + .setBody(new StringBody("MSO Sample 1", ContentType.TEXT_PLAIN)) + .setField("Content-Disposition", String.format("form-data; name=\"%s\"", "deployment-name")) + .build()) + .addPart(FormBodyPartBuilder.create() + .setName("enable-duplicate-filtering") + .setBody(new StringBody("false", ContentType.TEXT_PLAIN)) + .setField("Content-Disposition", String.format("form-data; name=\"%s\"", "enable-duplicate-filtering")) + .build()) + .addPart(FormBodyPartBuilder.create() + .setName("deplpy-changed-only") + .setBody(new StringBody("false", ContentType.TEXT_PLAIN)) + .setField("Content-Disposition", String.format("form-data; name=\"%s\"", "deploy-changed-only")) + .build()) + .addPart(FormBodyPartBuilder.create() + .setName("deployment-source") + .setBody(new StringBody("local", ContentType.TEXT_PLAIN)) + .setField("Content-Disposition", String.format("form-data; name=\"%s\"", "deployment-source")) + .build()) + .addPart(FormBodyPartBuilder.create() + .setName(bpmnFileName) + .setBody(new ByteArrayBody(bytesToSend, ContentType.create("octet"), bpmnFileName)) + .setField("Content-Disposition", String.format("form-data; name=\"%s\"; filename=\"%s\"; size=%d", bpmnFileName, bpmnFileName, bytesToSend.length)) + .build()) + .build(); + return requestEntity; + } + + protected void extractBpmnFileFromCsar(ZipInputStream zipIn, String fileName) throws IOException { + String filePath = System.getProperty("mso.config.path") + "/ASDC" + "/" + fileName; + BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(filePath)); + byte[] bytesIn = new byte[4096]; + int read = 0; + while ((read = zipIn.read(bytesIn)) != -1) { + outputStream.write(bytesIn, 0, read); + } + outputStream.close(); + } +} diff --git a/asdc-controller/src/test/java/org/onap/so/asdc/installer/bpmn/BpmnInstallerTest.java b/asdc-controller/src/test/java/org/onap/so/asdc/installer/bpmn/BpmnInstallerTest.java new file mode 100644 index 0000000000..535434db32 --- /dev/null +++ b/asdc-controller/src/test/java/org/onap/so/asdc/installer/bpmn/BpmnInstallerTest.java @@ -0,0 +1,80 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.so.asdc.installer.bpmn; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; + +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; + +import javax.transaction.Transactional; + +import org.apache.commons.io.IOUtils; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.ProtocolVersion; +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.message.BasicHttpResponse; +import org.apache.http.message.BasicStatusLine; +import org.junit.Before; +import org.junit.Test; +import org.onap.so.asdc.BaseTest; +import org.onap.so.asdc.installer.bpmn.BpmnInstaller; +import org.springframework.beans.factory.annotation.Autowired; + +@Transactional +public class BpmnInstallerTest extends BaseTest { + + @Autowired + private BpmnInstaller bpmnInstaller; + + @Before + public void init() throws Exception { + System.setProperty("mso.config.path", "src/test/resources"); + } + + @Test + public void buildMimeMultiPart_Test() throws Exception { + + HttpEntity entity = bpmnInstaller.buildMimeMultipart("TestBB.bpmn"); + String mimeMultipartBodyFilePath = System.getProperty("mso.config.path") + "/mime-multipart-body.txt"; + + File mimeMultipartBody = new File(mimeMultipartBodyFilePath); + InputStream expectedContent = new FileInputStream(mimeMultipartBody); + + assertThat(IOUtils.contentEquals(expectedContent, entity.getContent())); + } + + @Test + public void installBpmn_Test() throws Exception { + HttpResponse response = new BasicHttpResponse(new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), 200, "")); + HttpClient httpClient = mock(HttpClient.class); + String csarPath = System.getProperty("mso.config.path") + "/resource-examples/WorkflowBpmn/service-CxSvc-csar.csar"; + doReturn(response).when(httpClient).execute(any(HttpPost.class)); + bpmnInstaller.installBpmn(csarPath); + } + +} diff --git a/asdc-controller/src/test/resources/ASDC/TestBB.bpmn b/asdc-controller/src/test/resources/ASDC/TestBB.bpmn new file mode 100644 index 0000000000..47d1f6e649 --- /dev/null +++ b/asdc-controller/src/test/resources/ASDC/TestBB.bpmn @@ -0,0 +1,53 @@ + + + + + SequenceFlow_1owu825 + + + SequenceFlow_1gwcdup + + + + + SequenceFlow_1owu825 + SequenceFlow_1gwcdup + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/asdc-controller/src/test/resources/mime-multipart-body.txt b/asdc-controller/src/test/resources/mime-multipart-body.txt new file mode 100644 index 0000000000..09d3aa7696 --- /dev/null +++ b/asdc-controller/src/test/resources/mime-multipart-body.txt @@ -0,0 +1,84 @@ +--Oz34MbsoUcF5cyWT62NuPjcHb9SU_GIfNHI +Content-Disposition: form-data; name="deployment-name" +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit + +MSO Sample 1 +--Oz34MbsoUcF5cyWT62NuPjcHb9SU_GIfNHI +Content-Disposition: form-data; name="enable-duplicate-filtering" +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit + +false +--Oz34MbsoUcF5cyWT62NuPjcHb9SU_GIfNHI +Content-Disposition: form-data; name="deploy-changed-only" +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit + +false +--Oz34MbsoUcF5cyWT62NuPjcHb9SU_GIfNHI +Content-Disposition: form-data; name="deployment-source" +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit + +local +--Oz34MbsoUcF5cyWT62NuPjcHb9SU_GIfNHI +Content-Disposition: form-data; name="testBB.bpmn"; filename="testBB.bpmn"; size=2990 +Content-Type: octet +Content-Transfer-Encoding: binary + + + + + + SequenceFlow_1owu825 + + + SequenceFlow_1gwcdup + + + + + SequenceFlow_1owu825 + SequenceFlow_1gwcdup + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +--Oz34MbsoUcF5cyWT62NuPjcHb9SU_GIfNHI-- diff --git a/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/Notification_MultipleModules.txt b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/Notification_MultipleModules.txt new file mode 100644 index 0000000000..5b6d9e4eaf --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/Notification_MultipleModules.txt @@ -0,0 +1,302 @@ +DistributionID:a2872f55-8628-4486-8548-7b132c9a47db +ServiceName:Vf zrdm5bpxmc02092017-Service +ServiceVersion:1.0 +ServiceUUID:bad955c3-29b2-4a27-932e-28e942cc6480 +ServiceInvariantUUID:b16a9398-ffa3-4041-b78c-2956b8ad9c7b +ServiceDescription:Demo + + + +Service Artifacts List: +{ +Service Artifacts Info: +ArtifactName:service-VfZrdm5bpxmc02092017Service-csar.csar +ArtifactVersion:1 +ArtifactType:TOSCA_CSAR +ArtifactDescription:TOSCA definition package of the asset +ArtifactTimeout:0 +ArtifactURL:service-VfZrdm5bpxmc02092017Service-csar.csar +ArtifactUUID:396cfd49-0f4b-4fec-9f33-0fd7e90d5a22 +ArtifactChecksum:MWQ3Y2FmMWExNDQyYWI2N2YwNjEwZGUzN2IzMzI3NjE= +GeneratedArtifact:{NULL +} +RelatedArtifacts:{ +} + + + +} + +Resource Instances List: +{ +Resource Instance Info: +ResourceInstanceName:Vf zrdm5bpxmc02092017-VF 0 +ResourceCustomizationUUID:96c23a4a-6887-4b2c-9cce-1e4ea35eaade +ResourceInvariantUUID:23122c9b-dd7f-483f-bf0a-e069303db2f7 +ResourceName:Vf zrdm5bpxmc02092017-VF +ResourceType:VF +ResourceUUID:14ba5d1e-3862-407c-a236-1cbaebccce77 +ResourceVersion:1.0 +Category:Generic +SubCategory:Network Elements +Resource Artifacts List: +{ +Service Artifacts Info: +ArtifactName:pxmc_mmn_volume.env +ArtifactVersion:2 +ArtifactType:HEAT_ENV +ArtifactDescription:Auto-generated HEAT Environment deployment artifact +ArtifactTimeout:0 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_mmn_volume.env +ArtifactUUID:c1ae6284-48d9-4437-a195-b2cf2ba23070 +ArtifactChecksum:NmEyZjc1Y2UwZDMwYjFhNGRlMTMzN2JhNzdiMThjMGU= +GeneratedArtifact:{NULL +} +RelatedArtifacts:{ +} +, +Service Artifacts Info: +ArtifactName:pxmc_base.env +ArtifactVersion:2 +ArtifactType:HEAT_ENV +ArtifactDescription:Auto-generated HEAT Environment deployment artifact +ArtifactTimeout:0 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_base.env +ArtifactUUID:6dd99c31-c52e-4c45-b99b-d223c877a296 +ArtifactChecksum:OGM2MWIzZTA2OTc5YjQwNTM1NGVhODA0YTFkNzM4ZTg= +GeneratedArtifact:{NULL +} +RelatedArtifacts:{ +} + + +, +Service Artifacts Info: +ArtifactName:vfzrdm5bpxmc02092017vf0_modules.json +ArtifactVersion:1 +ArtifactType:VF_MODULES_METADATA +ArtifactDescription:Auto-generated VF Modules information artifact +ArtifactTimeout:0 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/vfzrdm5bpxmc02092017vf0_modules.json +ArtifactUUID:e3b82cd6-485e-4d56-8d2c-17ccf6a59533 +ArtifactChecksum:MjY0NzcxMjJkZGI4YzQ1MDU2NjhkNWYyM2IwNmYzYmU= +GeneratedArtifact:{NULL +} +RelatedArtifacts:{ +} + + +, +Service Artifacts Info: +ArtifactName:pxmc_vmt.yaml +ArtifactVersion:1 +ArtifactType:HEAT +ArtifactDescription:created from csar +ArtifactTimeout:120 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_vmt.yaml +ArtifactUUID:ad12ab80-5419-4346-a5d7-dac2fc15575f +ArtifactChecksum:ODE0YTRiYzc2YzkxOTliZjJhNjc0M2RhMWU4M2VlZmE= +GeneratedArtifact:{Service Artifacts Info: +ArtifactName:pxmc_vmt.env +ArtifactVersion:2 +ArtifactType:HEAT_ENV +ArtifactDescription:Auto-generated HEAT Environment deployment artifact +ArtifactTimeout:0 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_vmt.env +ArtifactUUID:bc1640f1-69f0-4760-8fc3-3318ec2ff129 +ArtifactChecksum:MjdkYzY5ZGU0ZTlkZDlhNzI2ZGVhMjk1ODVhZTg1NTY= +GeneratedArtifact:{NULL +} +RelatedArtifacts:{ +} +} +RelatedArtifacts:{ +Service Artifacts Info: +ArtifactName:user_data_zrdm5bpxmc02vmt001.txt +ArtifactVersion:1 +ArtifactType:HEAT_ARTIFACT +ArtifactDescription:created from csar +ArtifactTimeout:0 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/user_data_zrdm5bpxmc02vmt001.txt +ArtifactUUID:53acdabe-689f-45e5-8578-f1514d3529da +ArtifactChecksum:MzJmZjgyZWYwOTBjMTg5M2ExNWZhMmMwNzc1NWY1YjQ= +GeneratedArtifact:{NULL +} +RelatedArtifacts:{ +} + + + +} + + +, +Service Artifacts Info: +ArtifactName:pxmc_mmn.yaml +ArtifactVersion:1 +ArtifactType:HEAT +ArtifactDescription:created from csar +ArtifactTimeout:120 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_mmn.yaml +ArtifactUUID:b8bca13b-811f-44ab-9d27-45b842c664d8 +ArtifactChecksum:YmNiYTU5YTM4ODVhYTlhODc5NGMwNWZkZjI5MTRmNTE= +GeneratedArtifact:{Service Artifacts Info: +ArtifactName:pxmc_mmn.env +ArtifactVersion:2 +ArtifactType:HEAT_ENV +ArtifactDescription:Auto-generated HEAT Environment deployment artifact +ArtifactTimeout:0 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_mmn.env +ArtifactUUID:e88ce0b9-1496-4d03-ab1d-6d8d79bfc737 +ArtifactChecksum:ZGI1NzI2Y2FmYjFhOTM2ZDYwNzg1YWRhZjBmMTk2OTQ= +GeneratedArtifact:{NULL +} +RelatedArtifacts:{ +} +} +RelatedArtifacts:{ +Service Artifacts Info: +ArtifactName:user_data_zrdm5bpxmc02mmn001.txt +ArtifactVersion:1 +ArtifactType:HEAT_ARTIFACT +ArtifactDescription:created from csar +ArtifactTimeout:0 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/user_data_zrdm5bpxmc02mmn001.txt +ArtifactUUID:5bc62c72-5f7a-40bc-a167-1a4fed9afdef +ArtifactChecksum:OTMxMjk5Mzc1YmIxMzRlYmRlZWJhMjg0MWQ4YTI1NWU= +GeneratedArtifact:{NULL +} +RelatedArtifacts:{ +} + + + +} + + +, +Service Artifacts Info: +ArtifactName:pxmc_mmn.env +ArtifactVersion:2 +ArtifactType:HEAT_ENV +ArtifactDescription:Auto-generated HEAT Environment deployment artifact +ArtifactTimeout:0 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_mmn.env +ArtifactUUID:e88ce0b9-1496-4d03-ab1d-6d8d79bfc737 +ArtifactChecksum:ZGI1NzI2Y2FmYjFhOTM2ZDYwNzg1YWRhZjBmMTk2OTQ= +GeneratedArtifact:{NULL +} +RelatedArtifacts:{ +} + + +, +Service Artifacts Info: +ArtifactName:pxmc_vmt.env +ArtifactVersion:2 +ArtifactType:HEAT_ENV +ArtifactDescription:Auto-generated HEAT Environment deployment artifact +ArtifactTimeout:0 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_vmt.env +ArtifactUUID:bc1640f1-69f0-4760-8fc3-3318ec2ff129 +ArtifactChecksum:MjdkYzY5ZGU0ZTlkZDlhNzI2ZGVhMjk1ODVhZTg1NTY= +GeneratedArtifact:{NULL +} +RelatedArtifacts:{ +} +, +Service Artifacts Info: +ArtifactName:user_data_zrdm5bpxmc02mmn001.txt +ArtifactVersion:1 +ArtifactType:HEAT_ARTIFACT +ArtifactDescription:created from csar +ArtifactTimeout:0 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/user_data_zrdm5bpxmc02mmn001.txt +ArtifactUUID:5bc62c72-5f7a-40bc-a167-1a4fed9afdef +ArtifactChecksum:OTMxMjk5Mzc1YmIxMzRlYmRlZWJhMjg0MWQ4YTI1NWU= +GeneratedArtifact:{NULL +} +RelatedArtifacts:{ +} + + +, +Service Artifacts Info: +ArtifactName:pxmc_base.yaml +ArtifactVersion:1 +ArtifactType:HEAT +ArtifactDescription:created from csar +ArtifactTimeout:120 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_base.yaml +ArtifactUUID:7e7f7356-11bd-4f2f-bbbc-5c10954e3189 +ArtifactChecksum:YThkNGFhZjAwNmM4NzMzODc0YzNhYTUxOTljNGQwNmM= +GeneratedArtifact:{Service Artifacts Info: +ArtifactName:pxmc_base.env +ArtifactVersion:2 +ArtifactType:HEAT_ENV +ArtifactDescription:Auto-generated HEAT Environment deployment artifact +ArtifactTimeout:0 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_base.env +ArtifactUUID:6dd99c31-c52e-4c45-b99b-d223c877a296 +ArtifactChecksum:OGM2MWIzZTA2OTc5YjQwNTM1NGVhODA0YTFkNzM4ZTg= +GeneratedArtifact:{NULL +} +RelatedArtifacts:{ +} + + +} +RelatedArtifacts:{ +} +, +Service Artifacts Info: +ArtifactName:user_data_zrdm5bpxmc02vmt001.txt +ArtifactVersion:1 +ArtifactType:HEAT_ARTIFACT +ArtifactDescription:created from csar +ArtifactTimeout:0 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/user_data_zrdm5bpxmc02vmt001.txt +ArtifactUUID:53acdabe-689f-45e5-8578-f1514d3529da +ArtifactChecksum:MzJmZjgyZWYwOTBjMTg5M2ExNWZhMmMwNzc1NWY1YjQ= +GeneratedArtifact:{NULL +} +RelatedArtifacts:{ +} + + +, +Service Artifacts Info: +ArtifactName:pxmc_mmn_volume.yaml +ArtifactVersion:2 +ArtifactType:HEAT_VOL +ArtifactDescription:created from csar +ArtifactTimeout:120 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_mmn_volume.yaml +ArtifactUUID:2f372a02-df1b-46ca-b81e-822e3f406965 +ArtifactChecksum:MzA5MGY5ODQ0NDY5MDhiMDM3YjFlNGIwNzJkNjFhOTI= +GeneratedArtifact:{Service Artifacts Info: +ArtifactName:pxmc_mmn_volume.env +ArtifactVersion:2 +ArtifactType:HEAT_ENV +ArtifactDescription:Auto-generated HEAT Environment deployment artifact +ArtifactTimeout:0 +ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_mmn_volume.env +ArtifactUUID:c1ae6284-48d9-4437-a195-b2cf2ba23070 +ArtifactChecksum:NmEyZjc1Y2UwZDMwYjFhNGRlMTMzN2JhNzdiMThjMGU= +GeneratedArtifact:{NULL +} +RelatedArtifacts:{ +} + + +} +RelatedArtifacts:{ +} + + + +} + + + +} diff --git a/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/ServiceResponse.json b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/ServiceResponse.json new file mode 100644 index 0000000000..37b7987f46 --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/ServiceResponse.json @@ -0,0 +1,458 @@ +{ + "modelName": "Vf zrdm5bpxmc02092017-Service", + "description": "Demo", + "modelUUID": "bad955c3-29b2-4a27-932e-28e942cc6480", + "modelInvariantUUID": "b16a9398-ffa3-4041-b78c-2956b8ad9c7b", + "serviceType": "", + "serviceRole": "", + "environmentContext": "General_Revenue-Bearing", + "networkCustomizations": [], + "vnfCustomizations": [ + { + "modelCustomizationUuid": "96c23a4a-6887-4b2c-9cce-1e4ea35eaade", + "modelInstanceName": "Vf zrdm5bpxmc02092017-VF 0", + "multiStageDesign": "false", + "vnfResources": { + "modelUuid": "d326f424-2312-4dd6-b7fe-364fadbd1ef5", + "modelInvariantUuid": "23122c9b-dd7f-483f-bf0a-e069303db2f7", + "modelName": "Vf zrdm5bpxmc02092017-VF", + "toscaNodeType": "org.openecomp.resource.vf.VfZrdm5bpxmc02092017Vf", + "description": "Demo", + "orchestrationMode": "HEAT", + "modelVersion": "1.0", + "modelInvariantId": "23122c9b-dd7f-483f-bf0a-e069303db2f7" + }, + "vfModuleCustomizations": [ + { + "modelCustomizationUuid": "074c64d0-7e13-4bcc-8bdb-ea922331102d", + "label": "pxmc_base", + "minInstances": 1, + "maxInstances": 1, + "initialCount": 1, + "heatEnvironment": { + "artifactUuid": "6dd99c31-c52e-4c45-b99b-d223c877a296", + "name": "pxmc_base.env", + "description": "Auto-generated HEAT Environment deployment artifact", + "environment": "parameters:\n vnf_name: \n", + "artifactChecksum": "OGM2MWIzZTA2OTc5YjQwNTM1NGVhODA0YTFkNzM4ZTg=", + "version": "2" + }, + "vfModule": { + "modelUUID": "eb5de6fb-9ecf-4009-b922-fae3a9ae7d46", + "modelInvariantUUID": "f7a867f2-596b-4f4a-a128-421e825a6190", + "modelName": "VfZrdm5bpxmc02092017Vf..pxmc_base..module-0", + "modelVersion": "1", + "isBase": 1, + "moduleHeatTemplate": { + "artifactUuid": "7e7f7356-11bd-4f2f-bbbc-5c10954e3189", + "templateName": "pxmc_base.yaml", + "templateBody": "heat_template_version: 2015-04-30\n\nparameters:\n\n## GLOBAL//Basic Parameters\n vnf_name:\n type: string\n description: Unique name for this VF instance\n# For manual spinups, value must be in the ENV file. Must be removed from ENV before uploading to ASDC\n\nresources:\n\n## MSP RSG//Resource:SecurityGroup\n sec_grp_msp_0:\n type: OS::Neutron::SecurityGroup\n properties:\n description: Security Group for PXMC\n name:\n str_replace:\n template: VF_NAME_sec_grp_msp\n params:\n VF_NAME: { get_param: vnf_name }\n rules:\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"132\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"icmp\", \"ethertype\": \"IPv4\"}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"132\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"58\", \"ethertype\": \"IPv6\"}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"132\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"icmp\", \"ethertype\": \"IPv4\"}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"132\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"58\", \"ethertype\": \"IPv6\"}\n\noutputs:\n\n sec_grp_msp_id:\n description: uuid of the security group\n value: {get_resource: sec_grp_msp_0 }\n", + "timeoutMinutes": 120, + "version": "1", + "description": "created from csar", + "artifactChecksum": "YThkNGFhZjAwNmM4NzMzODc0YzNhYTUxOTljNGQwNmM=", + "parameters": [ + { + "heatTemplateArtifactUuid": "7e7f7356-11bd-4f2f-bbbc-5c10954e3189", + "paramName": "vnf_name", + "required": true, + "paramType": "string" + } + ], + "childTemplates": [], + "heatTemplate": "heat_template_version: 2015-04-30\n\nparameters:\n\n## GLOBAL//Basic Parameters\n vnf_name:\n type: string\n description: Unique name for this VF instance\n# For manual spinups, value must be in the ENV file. Must be removed from ENV before uploading to ASDC\n\nresources:\n\n## MSP RSG//Resource:SecurityGroup\n sec_grp_msp_0:\n type: OS::Neutron::SecurityGroup\n properties:\n description: Security Group for PXMC\n name:\n str_replace:\n template: VF_NAME_sec_grp_msp\n params:\n VF_NAME: { get_param: vnf_name }\n rules:\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"132\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"icmp\", \"ethertype\": \"IPv4\"}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"132\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"58\", \"ethertype\": \"IPv6\"}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"132\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"icmp\", \"ethertype\": \"IPv4\"}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"132\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"58\", \"ethertype\": \"IPv6\"}\n\noutputs:\n\n sec_grp_msp_id:\n description: uuid of the security group\n value: {get_resource: sec_grp_msp_0 }\n" + }, + "heatFiles": [], + "vnfResources": { + "modelUuid": "d326f424-2312-4dd6-b7fe-364fadbd1ef5", + "modelInvariantUuid": "23122c9b-dd7f-483f-bf0a-e069303db2f7", + "modelName": "Vf zrdm5bpxmc02092017-VF", + "toscaNodeType": "org.openecomp.resource.vf.VfZrdm5bpxmc02092017Vf", + "description": "Demo", + "orchestrationMode": "HEAT", + "modelVersion": "1.0", + "modelInvariantId": "23122c9b-dd7f-483f-bf0a-e069303db2f7" + }, + "modelInvariantUuid": "f7a867f2-596b-4f4a-a128-421e825a6190", + "base": true + } + }, + { + "modelCustomizationUuid": "5336a98e-0966-4e59-b6e6-c8162804a024", + "label": "pxmc_vmt", + "minInstances": 0, + "initialCount": 0, + "heatEnvironment": { + "artifactUuid": "bc1640f1-69f0-4760-8fc3-3318ec2ff129", + "name": "pxmc_vmt.env", + "description": "Auto-generated HEAT Environment deployment artifact", + "environment": "parameters:\n cinder_delete_on_termination_false: \n cinder_delete_on_termination_true: \n oam_protected_net_name: \n sec_grp_msp_id: \n vf_module_id: \n vmt_block_device_names: \n vmt_flavor_name: \n vmt_name_0: \n vmt_oam_protected_ip_0: \n vmt_volume_image_name_0: \n vmt_volume_image_name_1: \n vmt_volume_name_0: \n vmt_volume_name_1: \n vmt_volume_size_0: \n vmt_volume_size_1: \n vnf_id: \n", + "artifactChecksum": "MjdkYzY5ZGU0ZTlkZDlhNzI2ZGVhMjk1ODVhZTg1NTY=", + "version": "2" + }, + "vfModule": { + "modelUUID": "4d4423e2-17e8-455a-b9ae-7e4ab71b9cdc", + "modelInvariantUUID": "1e099992-6222-41a9-acde-5a8abb690775", + "modelName": "VfZrdm5bpxmc02092017Vf..pxmc_vmt..module-1", + "modelVersion": "1", + "isBase": 0, + "moduleHeatTemplate": { + "artifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "templateName": "pxmc_vmt.yaml", + "templateBody": "heat_template_version: 2015-04-30\n\ndescription: HOT creates Nimbus MSP VMT stack under MobiSupport Tenant\n\nparameters:\n vmt_name_0:\n type: string\n label: MSP VMT server names\n description: name of the MSP VMT instances\n# vmt_image_name:\n# type: string\n# label: MSP VMT image name\n# description: MSP VMT image name\n vmt_flavor_name:\n type: string\n label: MSP VMT flavor name\n description: MSP VMT flavor name\n# availability_zone_0:\n# type: string\n# label: MSP VMT availability zones\n# description: MSP VMT availability zones\n sec_grp_msp_id:\n type: string\n label: security group id\n description: the id of security group\n vmt_oam_protected_ip_0:\n type: string\n label: MSP VMT OAM IP Addresses\n description: MSP VMT OAM IP Addresses\n oam_protected_net_name:\n type: string\n label: MSP VMT OAM net name\n description: MSP VMT OAM net name\n vmt_block_device_names:\n type: comma_delimited_list\n label: MSP VMT Block Device Names\n description: MSP VMT Block Device Names\n vmt_volume_name_0:\n type: string\n label: Mobisupport MSP VMT Cinder Volume names\n description: Mobisupport MSP VMT Cinder Volume names\n vmt_volume_name_1:\n type: string\n label: Mobisupport MSP VMT Cinder Volume names\n description: Mobisupport MSP VMT Cinder Volume names\n vmt_volume_size_0:\n type: number\n label: Mobisupport MSP VMT Cinder Volume sizes\n description: Mobisupport MSP VMT Cinder Volume sizes\n vmt_volume_size_1:\n type: number\n label: Mobisupport MSP VMT Cinder Volume sizes\n description: Mobisupport MSP VMT Cinder Volume sizes\n vmt_volume_image_name_0:\n type: string\n label: Mobisupport MSP VMT VDA Cinder Volume image name\n description: Mobisupport MSP VMT VDA Cinder Volume image name\n vmt_volume_image_name_1:\n type: string\n label: Mobisupport MSP VMT VDB Cinder Volume image name\n description: Mobisupport MSP VMT VDB Cinder Volume image name\n cinder_delete_on_termination_true:\n type: boolean\n description: delete cinder volume upon instances termination\n cinder_delete_on_termination_false:\n type: boolean\n description: keep cinder volume upon instances termination\n vnf_id:\n type: string\n label: MSP VMT VNF ID\n description: MSP VMT VNF ID\n vf_module_id:\n type: string\n description: Unique ID for this VF Module instance\n\nresources:\n################ Cinder Volumes ##############################\n vmt_volume_0:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: vmt_volume_name_0}\n size: {get_param: vmt_volume_size_0}\n image: {get_param: vmt_volume_image_name_0}\n\n vmt_volume_1:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: vmt_volume_name_1}\n size: {get_param: vmt_volume_size_1}\n image: {get_param: vmt_volume_image_name_1}\n\n################ Ports ##############################\n vmt_oam_protected_0_port:\n type: OS::Neutron::Port\n properties:\n network: {get_param: oam_protected_net_name}\n fixed_ips: [{\"ip_address\": {get_param: vmt_oam_protected_ip_0}}]\n security_groups: [{get_param: sec_grp_msp_id}]\n replacement_policy: AUTO\n\n################### Servers #########################\n vmt_zrdm5bpxmc02vmt_0:\n type: OS::Nova::Server\n properties:\n name: {get_param: vmt_name_0}\n# image: {get_param: vmt_image_name}\n flavor: {get_param: vmt_flavor_name}\n# availability_zone: {get_param: availability_zone_0}\n block_device_mapping_v2: \n - device_name: {get_param: [vmt_block_device_names, 0]}\n volume_id: {get_resource: vmt_volume_0}\n delete_on_termination: {get_param: cinder_delete_on_termination_true}\n boot_index: 0\n - device_name: {get_param: [vmt_block_device_names, 1]}\n volume_id: {get_resource: vmt_volume_1}\n delete_on_termination: {get_param: cinder_delete_on_termination_true}\n boot_index: -1\n networks:\n - port: {get_resource: vmt_oam_protected_0_port}\n config_drive: \"True\"\n user_data_format: RAW\n user_data:\n get_file: user_data_zrdm5bpxmc02vmt001.txt\n\n metadata:\n vnf_id: {get_param: vnf_id}\n vf_module_id {get_param: vf_module_id}\n \"evacuation_policy\": \"Evacuation\"\n", + "timeoutMinutes": 120, + "version": "1", + "description": "created from csar", + "artifactChecksum": "ODE0YTRiYzc2YzkxOTliZjJhNjc0M2RhMWU4M2VlZmE=", + "parameters": [ + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "vmt_name_0", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "vf_module_id", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "sec_grp_msp_id", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "vmt_volume_name_1", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "vmt_volume_name_0", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "vmt_block_device_names", + "required": true, + "paramType": "comma_delimited_list" + }, + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "vmt_flavor_name", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "vnf_id", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "oam_protected_net_name", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "vmt_volume_image_name_1", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "vmt_volume_image_name_0", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "vmt_oam_protected_ip_0", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "vmt_volume_size_0", + "required": true, + "paramType": "number" + }, + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "cinder_delete_on_termination_false", + "required": true, + "paramType": "boolean" + }, + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "vmt_volume_size_1", + "required": true, + "paramType": "number" + }, + { + "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", + "paramName": "cinder_delete_on_termination_true", + "required": true, + "paramType": "boolean" + } + ], + "childTemplates": [], + "heatTemplate": "heat_template_version: 2015-04-30\n\ndescription: HOT creates Nimbus MSP VMT stack under MobiSupport Tenant\n\nparameters:\n vmt_name_0:\n type: string\n label: MSP VMT server names\n description: name of the MSP VMT instances\n# vmt_image_name:\n# type: string\n# label: MSP VMT image name\n# description: MSP VMT image name\n vmt_flavor_name:\n type: string\n label: MSP VMT flavor name\n description: MSP VMT flavor name\n# availability_zone_0:\n# type: string\n# label: MSP VMT availability zones\n# description: MSP VMT availability zones\n sec_grp_msp_id:\n type: string\n label: security group id\n description: the id of security group\n vmt_oam_protected_ip_0:\n type: string\n label: MSP VMT OAM IP Addresses\n description: MSP VMT OAM IP Addresses\n oam_protected_net_name:\n type: string\n label: MSP VMT OAM net name\n description: MSP VMT OAM net name\n vmt_block_device_names:\n type: comma_delimited_list\n label: MSP VMT Block Device Names\n description: MSP VMT Block Device Names\n vmt_volume_name_0:\n type: string\n label: Mobisupport MSP VMT Cinder Volume names\n description: Mobisupport MSP VMT Cinder Volume names\n vmt_volume_name_1:\n type: string\n label: Mobisupport MSP VMT Cinder Volume names\n description: Mobisupport MSP VMT Cinder Volume names\n vmt_volume_size_0:\n type: number\n label: Mobisupport MSP VMT Cinder Volume sizes\n description: Mobisupport MSP VMT Cinder Volume sizes\n vmt_volume_size_1:\n type: number\n label: Mobisupport MSP VMT Cinder Volume sizes\n description: Mobisupport MSP VMT Cinder Volume sizes\n vmt_volume_image_name_0:\n type: string\n label: Mobisupport MSP VMT VDA Cinder Volume image name\n description: Mobisupport MSP VMT VDA Cinder Volume image name\n vmt_volume_image_name_1:\n type: string\n label: Mobisupport MSP VMT VDB Cinder Volume image name\n description: Mobisupport MSP VMT VDB Cinder Volume image name\n cinder_delete_on_termination_true:\n type: boolean\n description: delete cinder volume upon instances termination\n cinder_delete_on_termination_false:\n type: boolean\n description: keep cinder volume upon instances termination\n vnf_id:\n type: string\n label: MSP VMT VNF ID\n description: MSP VMT VNF ID\n vf_module_id:\n type: string\n description: Unique ID for this VF Module instance\n\nresources:\n################ Cinder Volumes ##############################\n vmt_volume_0:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: vmt_volume_name_0}\n size: {get_param: vmt_volume_size_0}\n image: {get_param: vmt_volume_image_name_0}\n\n vmt_volume_1:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: vmt_volume_name_1}\n size: {get_param: vmt_volume_size_1}\n image: {get_param: vmt_volume_image_name_1}\n\n################ Ports ##############################\n vmt_oam_protected_0_port:\n type: OS::Neutron::Port\n properties:\n network: {get_param: oam_protected_net_name}\n fixed_ips: [{\"ip_address\": {get_param: vmt_oam_protected_ip_0}}]\n security_groups: [{get_param: sec_grp_msp_id}]\n replacement_policy: AUTO\n\n################### Servers #########################\n vmt_zrdm5bpxmc02vmt_0:\n type: OS::Nova::Server\n properties:\n name: {get_param: vmt_name_0}\n# image: {get_param: vmt_image_name}\n flavor: {get_param: vmt_flavor_name}\n# availability_zone: {get_param: availability_zone_0}\n block_device_mapping_v2: \n - device_name: {get_param: [vmt_block_device_names, 0]}\n volume_id: {get_resource: vmt_volume_0}\n delete_on_termination: {get_param: cinder_delete_on_termination_true}\n boot_index: 0\n - device_name: {get_param: [vmt_block_device_names, 1]}\n volume_id: {get_resource: vmt_volume_1}\n delete_on_termination: {get_param: cinder_delete_on_termination_true}\n boot_index: -1\n networks:\n - port: {get_resource: vmt_oam_protected_0_port}\n config_drive: \"True\"\n user_data_format: RAW\n user_data:\n get_file: user_data_zrdm5bpxmc02vmt001.txt\n\n metadata:\n vnf_id: {get_param: vnf_id}\n vf_module_id {get_param: vf_module_id}\n \"evacuation_policy\": \"Evacuation\"\n" + }, + "heatFiles": [], + "vnfResources": { + "modelUuid": "d326f424-2312-4dd6-b7fe-364fadbd1ef5", + "modelInvariantUuid": "23122c9b-dd7f-483f-bf0a-e069303db2f7", + "modelName": "Vf zrdm5bpxmc02092017-VF", + "toscaNodeType": "org.openecomp.resource.vf.VfZrdm5bpxmc02092017Vf", + "description": "Demo", + "orchestrationMode": "HEAT", + "modelVersion": "1.0", + "modelInvariantId": "23122c9b-dd7f-483f-bf0a-e069303db2f7" + }, + "modelInvariantUuid": "1e099992-6222-41a9-acde-5a8abb690775", + "base": false + } + }, + { + "modelCustomizationUuid": "e38906fa-717c-49b0-b391-e6ec12b50c4a", + "label": "pxmc_mmn", + "minInstances": 0, + "initialCount": 0, + "heatEnvironment": { + "artifactUuid": "e88ce0b9-1496-4d03-ab1d-6d8d79bfc737", + "name": "pxmc_mmn.env", + "description": "Auto-generated HEAT Environment deployment artifact", + "environment": "parameters:\n cinder_delete_on_termination_false: \n cinder_delete_on_termination_true: \n mmn_arch_volume_id_2: \n mmn_backup_volume_id_3: \n mmn_block_device_names: \n mmn_data_volume_id_1: \n mmn_flavor_name: \n mmn_misc_volume_id_4: \n mmn_name_0: \n mmn_oam_protected_ip_0: \n mmn_volume_image_name_0: \n mmn_volume_name_0: \n mmn_volume_size_0: \n oam_protected_net_name: \n sec_grp_msp_id: \n vf_module_id: \n vnf_id: \n", + "artifactChecksum": "ZGI1NzI2Y2FmYjFhOTM2ZDYwNzg1YWRhZjBmMTk2OTQ=", + "version": "2" + }, + "vfModule": { + "modelUUID": "a8cb1182-9b6d-46f8-b06b-ded4fe69e10d", + "modelInvariantUUID": "8e53c069-b2f0-437a-9c00-21cbc5c8f081", + "modelName": "VfZrdm5bpxmc02092017Vf..pxmc_mmn..module-2", + "modelVersion": "1", + "isBase": 0, + "volumeHeatTemplate": { + "artifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", + "templateName": "pxmc_mmn_volume.yaml", + "templateBody": "heat_template_version: 2015-04-30\n\ndescription: HOT creates MSP MMN Cinder Volumes under MobiSupport Tenant\n\nparameters:\n mmn_volume_name_1:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_name_2:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_name_3:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_name_4:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_size_1:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\n mmn_volume_size_2:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\n mmn_volume_size_3:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\n mmn_volume_size_4:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\nresources:\n mmn_data_volume_1:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_1}\n size: {get_param: mmn_volume_size_1}\n \n mmn_arch_volume_2:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_2}\n size: {get_param: mmn_volume_size_2}\n \n mmn_backup_volume_3:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_3}\n size: {get_param: mmn_volume_size_3}\n \n mmn_misc_volume_4:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_4}\n size: {get_param: mmn_volume_size_4}\n\noutputs:\n mmn_data_volume_id_1:\n description: msp mmn data volume 1\n value: {get_resource: mmn_data_volume_1}\n \n mmn_arch_volume_id_2:\n description: msp mn arch volume 2\n value: {get_resource: mmn_arch_volume_2}\n \n mmn_backup_volume_id_3:\n description: msp mn backup volume 3\n value: {get_resource: mmn_backup_volume_3}\n \n mmn_misc_volume_id_4:\n description: msp mn volume 4\n value: {get_resource: mmn_misc_volume_4}\n", + "timeoutMinutes": 120, + "version": "2", + "description": "created from csar", + "artifactChecksum": "MzA5MGY5ODQ0NDY5MDhiMDM3YjFlNGIwNzJkNjFhOTI=", + "parameters": [ + { + "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", + "paramName": "mmn_volume_name_2", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", + "paramName": "mmn_volume_size_2", + "required": true, + "paramType": "number" + }, + { + "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", + "paramName": "mmn_volume_name_1", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", + "paramName": "mmn_volume_size_1", + "required": true, + "paramType": "number" + }, + { + "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", + "paramName": "mmn_volume_name_4", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", + "paramName": "mmn_volume_name_3", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", + "paramName": "mmn_volume_size_4", + "required": true, + "paramType": "number" + }, + { + "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", + "paramName": "mmn_volume_size_3", + "required": true, + "paramType": "number" + } + ], + "childTemplates": [], + "heatTemplate": "heat_template_version: 2015-04-30\n\ndescription: HOT creates MSP MMN Cinder Volumes under MobiSupport Tenant\n\nparameters:\n mmn_volume_name_1:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_name_2:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_name_3:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_name_4:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_size_1:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\n mmn_volume_size_2:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\n mmn_volume_size_3:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\n mmn_volume_size_4:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\nresources:\n mmn_data_volume_1:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_1}\n size: {get_param: mmn_volume_size_1}\n \n mmn_arch_volume_2:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_2}\n size: {get_param: mmn_volume_size_2}\n \n mmn_backup_volume_3:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_3}\n size: {get_param: mmn_volume_size_3}\n \n mmn_misc_volume_4:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_4}\n size: {get_param: mmn_volume_size_4}\n\noutputs:\n mmn_data_volume_id_1:\n description: msp mmn data volume 1\n value: {get_resource: mmn_data_volume_1}\n \n mmn_arch_volume_id_2:\n description: msp mn arch volume 2\n value: {get_resource: mmn_arch_volume_2}\n \n mmn_backup_volume_id_3:\n description: msp mn backup volume 3\n value: {get_resource: mmn_backup_volume_3}\n \n mmn_misc_volume_id_4:\n description: msp mn volume 4\n value: {get_resource: mmn_misc_volume_4}\n" + }, + "moduleHeatTemplate": { + "artifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "templateName": "pxmc_mmn.yaml", + "templateBody": "heat_template_version: 2015-04-30\n\ndescription: HOT creates Nimbus vMSP MMN stack.\n\nparameters:\n mmn_name_0:\n type: string\n label: MSP MMN server names\n description: name of the MSP MMN instances\n mmn_flavor_name:\n type: string\n label: MSP MMN flavor name\n description: MSP MMN flavor name\n# mmn_image_name:\n# type: string\n# label: MSP MMN image name\n# description: MSP MMN image name\n# availability_zone_0:\n# type: string\n# label: MSP MMN availability zones\n# description: MSP MMN availability zones\n sec_grp_msp_id:\n type: string\n label: security group id\n description: the id of security group\n mmn_oam_protected_ip_0:\n type: string\n label: MSP MMN OAM IP Addresses\n description: MSP MMN OAM IP Addresses\n oam_protected_net_name:\n type: string\n label: MSP MMN OAM net name\n description: MSP MMN OAM net name\n mmn_volume_name_0:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n mmn_volume_size_0:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n mmn_volume_image_name_0:\n type: string\n label: Mobisupport MSP MMN Cinder Volume image name\n description: Mobisupport MSP MMN Cinder Volume image name\n mmn_data_volume_id_1:\n type: string\n label: MSP MMN Volume id 1\n description: MSP MMN Volume id 1\n mmn_arch_volume_id_2:\n type: string\n label: MSP MMN Volume id 2\n description: MSP MMN Volume id 2\n mmn_backup_volume_id_3:\n type: string\n label: MSP MMN Volume id 3\n description: MSP MMN Volume id 3\n mmn_misc_volume_id_4:\n type: string\n label: MSP MMN Volume id 4\n description: MSP MMN Volume id 4\n mmn_block_device_names:\n type: comma_delimited_list\n label: MSP MMN Block Device Names\n description: MSP MMN Block Device Names\n cinder_delete_on_termination_true:\n type: boolean\n description: delete cinder volume upon instances termination\n cinder_delete_on_termination_false:\n type: boolean\n description: keep cinder volume upon instances termination\n vnf_id:\n type: string\n label: MSP MMN VNF ID\n description: MSP MMN VNF ID\n vf_module_id:\n type: string\n description: Unique ID for this VF module instance\n\nresources:\n################ Cinder Volume ########################\n mmn_volume_0:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_0}\n size: {get_param: mmn_volume_size_0}\n image: {get_param: mmn_volume_image_name_0}\n\n################ Server ##############################\n mmn_zrdm5bpxmc02mmn_0:\n type: OS::Nova::Server\n properties:\n name: {get_param: mmn_name_0}\n# image: {get_param: mmn_image_name}\n flavor: {get_param: mmn_flavor_name}\n# availability_zone: {get_param: availability_zone_0}\n block_device_mapping_v2:\n - device_name: { get_param: [mmn_block_device_names, 0] }\n volume_id: { get_resource: mmn_volume_0 }\n delete_on_termination: {get_param: cinder_delete_on_termination_true}\n networks:\n - port: { get_resource: mmn_oam_protected_0_port }\n config_drive: \"True\"\n user_data_format: RAW\n user_data:\n get_file: user_data_zrdm5bpxmc02mmn001.txt\n metadata:\n vnf_id: {get_param: vnf_id}\n vf_module_id {get_param: vf_module_id}\n \"evacuation_policy\": \"Evacuation\"\n\n################ Ports ##############################\n mmn_oam_protected_0_port:\n type: OS::Neutron::Port\n properties:\n network: {get_param: oam_protected_net_name}\n fixed_ips: [{\"ip_address\": {get_param: mmn_oam_protected_ip_0}}]\n security_groups: [{ get_param: sec_grp_msp_id }]\n replacement_policy: AUTO\n\n################ Volume Attachment ##############################\n volume_attachment_vdb:\n type: OS::Cinder::VolumeAttachment\n depends_on: mmn_zrdm5bpxmc02mmn_0\n properties:\n volume_id: { get_param: mmn_data_volume_id_1 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vdb\n\n volume_attachment_vdc:\n type: OS::Cinder::VolumeAttachment\n depends_on: volume_attachment_vdb\n properties:\n volume_id: { get_param: mmn_arch_volume_id_2 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vdc\n\n volume_attachment_vdd:\n type: OS::Cinder::VolumeAttachment\n depends_on: volume_attachment_vdc\n properties:\n volume_id: { get_param: mmn_backup_volume_id_3 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vdd\n\n volume_attachment_vde:\n type: OS::Cinder::VolumeAttachment\n depends_on: volume_attachment_vdd\n properties:\n volume_id: { get_param: mmn_misc_volume_id_4 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vde\n", + "timeoutMinutes": 120, + "version": "1", + "description": "created from csar", + "artifactChecksum": "YmNiYTU5YTM4ODVhYTlhODc5NGMwNWZkZjI5MTRmNTE=", + "parameters": [ + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "vnf_id", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "mmn_block_device_names", + "required": true, + "paramType": "comma_delimited_list" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "mmn_name_0", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "mmn_arch_volume_id_2", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "mmn_volume_image_name_0", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "cinder_delete_on_termination_false", + "required": true, + "paramType": "boolean" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "mmn_oam_protected_ip_0", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "mmn_data_volume_id_1", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "mmn_backup_volume_id_3", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "vf_module_id", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "sec_grp_msp_id", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "mmn_volume_size_0", + "required": true, + "paramType": "number" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "cinder_delete_on_termination_true", + "required": true, + "paramType": "boolean" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "mmn_volume_name_0", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "oam_protected_net_name", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "mmn_misc_volume_id_4", + "required": true, + "paramType": "string" + }, + { + "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", + "paramName": "mmn_flavor_name", + "required": true, + "paramType": "string" + } + ], + "childTemplates": [], + "heatTemplate": "heat_template_version: 2015-04-30\n\ndescription: HOT creates Nimbus vMSP MMN stack.\n\nparameters:\n mmn_name_0:\n type: string\n label: MSP MMN server names\n description: name of the MSP MMN instances\n mmn_flavor_name:\n type: string\n label: MSP MMN flavor name\n description: MSP MMN flavor name\n# mmn_image_name:\n# type: string\n# label: MSP MMN image name\n# description: MSP MMN image name\n# availability_zone_0:\n# type: string\n# label: MSP MMN availability zones\n# description: MSP MMN availability zones\n sec_grp_msp_id:\n type: string\n label: security group id\n description: the id of security group\n mmn_oam_protected_ip_0:\n type: string\n label: MSP MMN OAM IP Addresses\n description: MSP MMN OAM IP Addresses\n oam_protected_net_name:\n type: string\n label: MSP MMN OAM net name\n description: MSP MMN OAM net name\n mmn_volume_name_0:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n mmn_volume_size_0:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n mmn_volume_image_name_0:\n type: string\n label: Mobisupport MSP MMN Cinder Volume image name\n description: Mobisupport MSP MMN Cinder Volume image name\n mmn_data_volume_id_1:\n type: string\n label: MSP MMN Volume id 1\n description: MSP MMN Volume id 1\n mmn_arch_volume_id_2:\n type: string\n label: MSP MMN Volume id 2\n description: MSP MMN Volume id 2\n mmn_backup_volume_id_3:\n type: string\n label: MSP MMN Volume id 3\n description: MSP MMN Volume id 3\n mmn_misc_volume_id_4:\n type: string\n label: MSP MMN Volume id 4\n description: MSP MMN Volume id 4\n mmn_block_device_names:\n type: comma_delimited_list\n label: MSP MMN Block Device Names\n description: MSP MMN Block Device Names\n cinder_delete_on_termination_true:\n type: boolean\n description: delete cinder volume upon instances termination\n cinder_delete_on_termination_false:\n type: boolean\n description: keep cinder volume upon instances termination\n vnf_id:\n type: string\n label: MSP MMN VNF ID\n description: MSP MMN VNF ID\n vf_module_id:\n type: string\n description: Unique ID for this VF module instance\n\nresources:\n################ Cinder Volume ########################\n mmn_volume_0:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_0}\n size: {get_param: mmn_volume_size_0}\n image: {get_param: mmn_volume_image_name_0}\n\n################ Server ##############################\n mmn_zrdm5bpxmc02mmn_0:\n type: OS::Nova::Server\n properties:\n name: {get_param: mmn_name_0}\n# image: {get_param: mmn_image_name}\n flavor: {get_param: mmn_flavor_name}\n# availability_zone: {get_param: availability_zone_0}\n block_device_mapping_v2:\n - device_name: { get_param: [mmn_block_device_names, 0] }\n volume_id: { get_resource: mmn_volume_0 }\n delete_on_termination: {get_param: cinder_delete_on_termination_true}\n networks:\n - port: { get_resource: mmn_oam_protected_0_port }\n config_drive: \"True\"\n user_data_format: RAW\n user_data:\n get_file: user_data_zrdm5bpxmc02mmn001.txt\n metadata:\n vnf_id: {get_param: vnf_id}\n vf_module_id {get_param: vf_module_id}\n \"evacuation_policy\": \"Evacuation\"\n\n################ Ports ##############################\n mmn_oam_protected_0_port:\n type: OS::Neutron::Port\n properties:\n network: {get_param: oam_protected_net_name}\n fixed_ips: [{\"ip_address\": {get_param: mmn_oam_protected_ip_0}}]\n security_groups: [{ get_param: sec_grp_msp_id }]\n replacement_policy: AUTO\n\n################ Volume Attachment ##############################\n volume_attachment_vdb:\n type: OS::Cinder::VolumeAttachment\n depends_on: mmn_zrdm5bpxmc02mmn_0\n properties:\n volume_id: { get_param: mmn_data_volume_id_1 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vdb\n\n volume_attachment_vdc:\n type: OS::Cinder::VolumeAttachment\n depends_on: volume_attachment_vdb\n properties:\n volume_id: { get_param: mmn_arch_volume_id_2 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vdc\n\n volume_attachment_vdd:\n type: OS::Cinder::VolumeAttachment\n depends_on: volume_attachment_vdc\n properties:\n volume_id: { get_param: mmn_backup_volume_id_3 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vdd\n\n volume_attachment_vde:\n type: OS::Cinder::VolumeAttachment\n depends_on: volume_attachment_vdd\n properties:\n volume_id: { get_param: mmn_misc_volume_id_4 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vde\n" + }, + "heatFiles": [], + "vnfResources": { + "modelUuid": "d326f424-2312-4dd6-b7fe-364fadbd1ef5", + "modelInvariantUuid": "23122c9b-dd7f-483f-bf0a-e069303db2f7", + "modelName": "Vf zrdm5bpxmc02092017-VF", + "toscaNodeType": "org.openecomp.resource.vf.VfZrdm5bpxmc02092017Vf", + "description": "Demo", + "orchestrationMode": "HEAT", + "modelVersion": "1.0", + "modelInvariantId": "23122c9b-dd7f-483f-bf0a-e069303db2f7" + }, + "modelInvariantUuid": "8e53c069-b2f0-437a-9c00-21cbc5c8f081", + "base": false + } + } + ], + "vnfResource": { + "modelUuid": "d326f424-2312-4dd6-b7fe-364fadbd1ef5", + "modelInvariantUuid": "23122c9b-dd7f-483f-bf0a-e069303db2f7", + "modelName": "Vf zrdm5bpxmc02092017-VF", + "toscaNodeType": "org.openecomp.resource.vf.VfZrdm5bpxmc02092017Vf", + "description": "Demo", + "orchestrationMode": "HEAT", + "modelVersion": "1.0", + "modelInvariantId": "23122c9b-dd7f-483f-bf0a-e069303db2f7" + } + } + ], + "allotedCustomizations": [], + "recipes": { + + }, + "csar": { + "artifactUUID": "396cfd49-0f4b-4fec-9f33-0fd7e90d5a22", + "name": "service-VfZrdm5bpxmc02092017Service-csar.csar", + "artifactChecksum": "MWQ3Y2FmMWExNDQyYWI2N2YwNjEwZGUzN2IzMzI3NjE=", + "url": "service-VfZrdm5bpxmc02092017Service-csar.csar", + "description": "TOSCA definition package of the asset", + "version": "1" + } +} diff --git a/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/WorkflowBpmn.json b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/WorkflowBpmn.json new file mode 100644 index 0000000000..68204ac350 --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/WorkflowBpmn.json @@ -0,0 +1,20 @@ +{ + "serviceName": "Vf zrdm5bpxmc02092017-Service", + "serviceInvariantUUID": "b16a9398-ffa3-4041-b78c-2956b8ad9c7b", + "serviceUUID": "bad955c3-29b2-4a27-932e-28e942cc6480", + "serviceVersion": "1.0", + "serviceArtifacts": + [{ + "artifactName": "service-CxSvc-csar.csar", + "artifactType": "Workflow", + "artifactURL": "service-CxSvc-csar.csar", + "artifactChecksum": "MWQ3Y2FmMWExNDQyYWI2N2YwNjEwZGUzN2IzMzI3NjE=", + "artifactDescription": "TOSCA definition package of the asset", + "artifactTimeout": 0, + "artifactUUID": "396cfd49-0f4b-4fec-9f33-0fd7e90d5a22", + "artifactVersion": "1" + }] + , + "serviceDescription": "Demo", + "distributionID": "a2872f55-8628-4486-8548-7b132c9a47db" +} \ No newline at end of file diff --git a/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/service-CxSvc-csar.csar b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/service-CxSvc-csar.csar new file mode 100644 index 0000000000000000000000000000000000000000..9add57f1dd004ea0941da94f58db5a0df29727fb GIT binary patch literal 86187 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 literal 0 HcmV?d00001 diff --git a/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/service-VfZrdm5bpxmc02092017Service-csar.csar b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/service-VfZrdm5bpxmc02092017Service-csar.csar new file mode 100644 index 0000000000000000000000000000000000000000..69b1c2340457f3701aaebaca5974a280a52003fb GIT binary patch literal 97867 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 z z`@$yx+jlp3m?y6v7P-1l3utuDj`71oaHFsyrQ}bOf~6?Q;SKF|QNrT~rb0MA!_(_M z>_>li60Y=CZH-?-IEl)v1aq71*Fh46M zq*Ifscj_Db4YLAifb+vc&}s;2cTXRKV`b?fC5=>h;C=;&16r7TWtyb)7%&1X6Miv9 zM+<=S+Mx1FBo;!z@umHcVXW$9!T>kO3Fq=cQP&Zg{C2@c>#9-I`?h!5ZdqbEBz%Ly zCN;v>s*wHFK6H#+;aE^0IRVvQidHf2RrjJlh!>oE(n5b`sNaJ7-;9uen8?|?+V1D0Ail>E z@#TIKMB6u?qd-a+$TL>3ECL>a8C|rMb{qzn$#EWLXrzy^AC4U3ECh&_C5Y?g@Io== zGuC7>P7u*;+?gzaFfsy&z(vGkBgij6Pe3Vx@Ej%-Nb9TgRtGlVDUsB%!+*<@g0q$q zt|bg=ZKSWMgY2?2oCPfBf?|G%_wex%Iti*9f^nU?D1r2ftP6@-Vwr1zxT8mu!wb=q zL7xgXgTt21M|IC`Mg={EgVopXWWE*J#agwKfCrgfM?r^b0&M|_18`+Hq8JoNhQ@=Agp{?%r87TC66kBstH?N1*ZsfzuS%`^WedBg)L^2&kYza5-Mg@og~V; z!l5sCe=eb=d%+2e#0;u<)Lj$q{6;;i*w(h<{JaMz!#8TAou z7o9->1Wn-SPAl&2g#XajV%O$_Qre9aiPbkDPo!pysExqc>ylX|=g7S{MrLhFE6N1h zplU0dptkFHIBw-fM}2T^XwdazYg;)Vf|^28-rMC$q71cGTNs)b#`fB^GktOlS!UCE zrS=lusNp8Ha^uTc8Iw^?4lP8i3n!WSC?e7P>7tjlKMgc+Fr~mbf9iBmp z17Jd4JtM%F!;bs(2c3j53Bt-BUv{{<>}=*EGTD%ko!^8l+7O_yoZm z4N42{<%aXd$5BN`=IM~~HB&gBzr+_(0FlWekwJ}a=knGnxrx8%*FL+N2@V}UI}%C` zjK~p2aj9V>`#pfj%HQmk+yE+voE_Ya<_>L*B*oq6L*;IQo=}w|Kc{ORt zUml`5URG7Gx2#+lHtE@!{n1}^v0^ml*0)=pxLnqI!w9uT|09OydU`YRH*&Jsz||a@h;J>1k_NQhexWD$Z+|Ps)@`%`*fK`RVJK;6U)i1FxZU?_d)g2ZrAV+Tz6(dLbOr zb|mOk%ZnV?haCPmPH4PD(LDpF6kC9QuoDs1#1-Mlq!Kih>zje*z!c2l=5ZvH zUC_i=Ji&I)z#WQ=!{V!*>yw9y%y4DODSmo2;gQ8M;0Tm&<6}79PN-!*=UZ79xLYRP zq{=Me_N45BM`Uvd)$HKMhEKGoyArs;hMLePik!jY=_0y6j^y7-rh|nJmxy%M|xl$MUhb)iTZMzZ-UVj$OY_l)zChG<5PtAfp2;-QV%6 z`tEa+q8)LiYWK9L(BO|_k#N6eEl|z?glgzA<9_3?-NcphhyPkiQ{*I!G{U+pK8SSd z>AohUxD^|F6D&WIO+g36zBGgE%p<8!DMPyi%jSAH(X|66+E0hJaoPT~ulKp>;Xs`Q zWI`(SS<=droZB9Hq>Q`iNi+GJ>)KBf?NTocRZnoyk7M~YAJFA~#v{!2JBv*&5c3-K z)SU_;C6BmF6HE?<80-9N>$pu`#}hc?X>xKMB4>fA=&ZeRu15w)$+f#a*$p142TUqd zs3$8OB-N)zSl{Q@md~O|PJY7X+3dMMU0J0x!~$h%Y(a25?6rGrZyDNIx)rrGZc}qK zL)h$xr5EtPfi5(~>L{Ec$6&#NrN^lihtv#^SLa(x=`~f zwiLlzFv2lJU$D|=SfQd(itOE^p78waHpcROrg+|ljte5xwkgV{PIfw}YcvzVRgEvL zJ8&Z(oCxUU^o_jK75vfTvHaV%;I0ESHeTm4$@|A(Oc|5eAH$HvzJ0U63k(YS9Q?TB2`-`?db*5!43lv12Ump+JR zzMl#bc2wWum^O#XnEef1gqsuK@?s$3y?PitPCCn}oT#^OuKu#5aV=K2gaj%%5#z#d#)%CbA=5>2`INaBXk22goZx28jmvubC$msmwPkU$ zBO$P^-g-?cF&|hL!uEoMk<)xf>@Wh<3~GWf!-U6U{Hwm=%_O^z!uRp%tgTIbrH{{q z=O-4pPj$#s@t;ht`&;sB2u3MWvq)_HNDuSl;kFegOS`y5x)}m;5DFfptSpn#d<_zE zFD@Kqnm$v&i@PjVUa*1GKsXX7BzJLYp!cvilrqwq*FH{2f39&5kiPoHX$|a+pwy4E z=v*x4HXmrbo=YFSI7FEgp7b#g12-LYzAYn}_yiwdip;#T0^j84nokWVWfG~YeEsmn0ZX@?L&1NOi5B>dgI;0r->N|XlJj2zaURu zpOJ;nlLfZMoavL%G&gw??}w>|(Ob#b4_nUU`pFE+xaFE~QF&!u%jUY;qAM}qij%KG+K82mh_X&*E z%=PXzMgPVYqH-1R%An!(J`AYUyEJz}DIw3p@svvupJDpR-!VVkdotcTMeFV+jDLYWJ}GBPI=&_EzC zebnhuVQ15oZ_us1Jd_SF6Kq?cx$F|nk}P#NeCtAJ)#;cv$XR<&B0qR+8L|vI+c=St zF~=HjCMLl&0s~$q@HgQ4^U_sxh}+O}WXJ`W$Vy z)8ViQTRo0cWRTwK#aPs70zQ`Rtg5BGO%}3b*ChpcpL=Ve33^qiz0|yML7FqQGG$l_ zTC=P1p?$)2hwZre_Hntpd29!N&EKuxY+#8_S>ww7I34-1I{*2uR6~M##VJX6;I)C+ zz=Ao$8;K-^+WA+^rb%AhbJ9@l<^V02<;6qWw}+CwMpbjCY|==;QIi1D7uZo>u94+8 z4~=(V5le09)8C3QjBuv*05)@8rFI478_@j&!yB9D$YBFTZshS$R2{D_Nf7U#KA~7h z=n0Dqj$8SMg#d%E9}`L87dv?p2IrcJDR1H!&RXG~m$zFUIc;hA;e93Ph?++bIXCCjL+@21={s8oH|jIs1eUian)4k;!>r%iAS?&UF1!c)&zYkGJ8SJV z>2S?lF63t8T}83goVs^am@U5Skskwe+ljjvy{XMGzf5kqj?7oRPQp z!DYMn)?T6)fbZ?iS%>c{9l_cT_3>hu!N!X>WWkC_}LI=9hVwH=%` zAcsCT+tDiY&ES?{INe*fUmu`j*IAPE=&?1OhcJg@@;o=;y?&iWlj#LvHf4KBy1))m z@|JJ`lh!b!u%~ZMc)m#>hu+!T@MlO!wS6C-rA*BEfD4bp3qemU($bgo=0UsSIbA1p z!!-K+w%>cI!poni)z2jdS511BO+Kt=m8(XduX(5RA-;Ta_vbNr&*mE_fO+vgWpt}` zdS2!4o6S0G#Uzrrq3>(0_c&_nH|GH7tzKb5y!>iJunLWt*nz&^K>uW_nysJKJ-`3} z@_+o=e?AvQ_n(}esJpYRiHozNovo4m|H?_#s7c4Ivmx}ptKTd(gH!rmb}mh6+Cc$F z?Ef^wpo9n{5NAP%Qjr|$7M=KA$0u5kZT;FOx*7OAX^*!($zHsWI+rX=muxRYopm*! z@gWfoO+_84B;=VNA|rlkuHavk&6NoQfoLfolRwVOLxT>9Dd)GpV8IuA=fD?LIygo% zemBR_*^{#|J7)}$4STC%!_$Q+SDHOtD9MK{x`6G8J(u-CmMQpT#TLA7&4W|aPzXu_ zlDi2-W!BuOT@)W=B9=^7+_4InVduLR&s~GUKu=;tn@o(^BCt^aB2+@McG(}_#hS}z z2v5S^DWI>H7r&FL2(E1d2l|)i5Y5VZl($SrCbI zp>7$VD%LIx6={m(US)kuyMSdTh+EQAyd~W!`jqf?p-or)4Ie9cp8l&a9a-^F0#1wF zYk&Y1{kED}$VMNo4I*sRQP4S-F9bFLYrSr*w7?+DO2<=!*QtR#W}E-vxbqfVAJZka zG3OiV_Dz&v>kYC?igSd_(48upH;yjEg?=R036Bjke5jbOPqwma`SzMRJ3A! zx8K$ca7u0$WY_H|UaK`IF!y&GYY=wpiX2)Z$hU*8l^-3AyZSwRzHmJh_tZ-t6JeCT5fY=D!AE zZ6Pxv6lBzJFZf7|H!VQ#JsMAzwx$~VyHLGg*{bPn-4jrOaQ zZ(KG5Lg@P^>Q(FSJ*$9{C?wLzJuU{wVr}(s7M2#YWOmM-@ud&yaX*?oiQ=6V+8xT!Rj%h9XMLiFzcadL*Eqo@OKR z_zz^Ve!7uQRbcyJAeP;7#w0bKcGR0@1KkZsJ$zsi-mHS$70T}}Vl4CF+5CbdhtCnC z@(>uwjJuA2T5*Wz=>-Mp)^Mv?B_|PrY<#VFH}YM1-4URf!}a9m41k53?=0bZy07gn zf4#FG@fD5Pp*&^Wy}gz5&F6dAH|8oXAK4EOv(vqKBs8>&nwZ2qPbr0H%dHbjYQHeD zFa@U>mPKa}Dr2E_kLzx=D;I`6$K|PV7`Y0D?d9OUtjID+60b^mp+1bV5lzKg+YZro z+jT8IrMEhyPug{&f5Cnavmv*``Au6_Y%@)t3gJIOBV8O?h{CP>zKykKgGjK+&)4Q znZyydaM0bCcp>wBn}0Y|pPf(eaxmRPyWny3WsI zR%U`h79|+Kh#sibPLv?p86x}&EY)^*HkwCDm2EinRIJqkSPaxUS{K0+5ir$C93kv4 zL4q(g`Hci#^N7Sd^Po66j}ITw<|42%JI~FF+ZsR;^Z1^!9?UDcqs*z@YZ@}KVI1P* zm~y6%$LyCNQsPkfmuqkE<&2%=mw2Ynyf1G&vE&`IPi}&f=NN(q38Wme#r5~2>Fg6P zCxUyaPalKpThzclJ0)3ITbhvs#R@vTZ~knlrmyb{pgE+EvuV1e779K^*k0IX+I|3^ zv3nDz3syaT)iFfwFAV$>AlIy$K6P1UNBUb+w3@bI00Z&+e0m zq*ibG%jboh(C=w8->TWa5_wC*CKNZMS9i2nG`RBi88rj1_sYDE^!#tIF~Q;3Rmol~A5q zso?BNBk0dwoEW^mC~VKOANewv;XofMYplwx}ZmIc3`^k z9uRvIfnt2-iiK{SN6Hqhs}8gbMbxx(9oo8oH~Wptz3;!W z7y)7)spL|=9gm-+UP;sxI-evrPS8%}x}HXO`cm-by2jwQcxgA=ct-3T#;+u2sx@!% zGln5HMyO}AnzBk;o8P<3r{zF#;u?J6H z#wxJ6kRSV!QgB3zSnsxLl#c8B;OPx;a-#Lbe*UT)V~Rt>LAD1~mr0%Kv?3Z5j^tBh z_Ki{GjLnV2-)s6Sqt@+b`mjb1+Vj+EAlsHeGSmBWY>}Arx2qFoQw&tPIz@d=wHToe zaER(hgk(A4n=_|_Z%xZaUCY@gd68Gm_^`5!P4^(whGRNw_seodl=qjOXJP{erbl-d#6qnUI==o_=mQM1tI8C-K9 zCk>74JPGcZjxco)@4$KIsEeVITg+_jWSch$!*xwjlk?;sa7+yWm z2uN#*Ho#dfJPfdxtpL$PQF>EDy4k?;*;iRug?p$CGBWnc}z) z`rYK@k?0dxR`Fn@n1|ryEd4=h5U9HCEJj+IQ0OibziJiJcCq%wB>rwk!0u-&^TCSd zTFRq4PPbTPAEJ-nK+KJB6jT-ToJ7p;Z|k@CLo{w4>XRRTaz!vnl$-_LNiWOQ<~{qq z?gl;WgS$fABo)ghU9-6^g06lBxJb`8=DpRL<|>X&tTnq33QxxK{xrBN(zi%t@s841 za7&*}D?IVDk*p0e+}|cWu}{s)cD3y!@jCiEGOIu7YnJfDfh6G1ZCQ_ix0?Vbl*gVcgX6WsV;p0h!C2L^z>~UKC`H&sPSSl4!{s2$U2mM@=eN4zC$hx)LE>62l1>m1U{JdR{%mt zjqUGImswO$9;*~Zg(#1#N&KmmGEl!I>#vl>z>`p5f<=fKQe~RDYyVj>1bdrhLBN0n zi(VO;ZntK7JH@EG4iIPxAoxSCH+2o7LABTwl|r2o6rJvG?W3lsD`}L7dCe0U`Y^dHl(!t8 zYPZy~fKHAx%4j}wd^PcLs z4G&cGe}fF%Poi>lAg5&`e=6QI{!NJddja9pUHVM-orPp1&3j#YW1sJY)`&UId$M_o z0o~+1$wQ(RPJ37`>hPFMyIVUYr_J?Mlk;RZd<(+l?tQ}j!Y7iRbT@79aMv`mJ1_LC zt&`}m~!ecS3EP?L+hZb8-5j`Sa{94O!e8- zrlf%Mgi6ob3fDn2Hx6v$>Sqia_e3b8S0bM&d^?Y8cAIiTbp7DT6M1FvAYAR1Wt3}v zqvOOqv`iO_bQ%l&Ahr}&Q0CV+U3;d4XZZ`3gN1Zsp)7;z*kStRS*ua&W-_@U){iRB z$K1A|e?LIaqF%GHzLAS%VZ3YSz32*7ODnPW24DSyNV*J=9Qqm>a0&tkld`B$)f2WX zt;g@Bl#u9*O+q*a28Jd@j8fMcn36`Qb5SlP)Z6#bwp`S0hO0fqqFUHPAPOta{D_}Q zd%@?>^6pBme)JIv)VWVTSE)5g!3ieuXGr6A^lXDG;p1%MylVX{nk!-HY@@T4%F@j1 z#S!9t;P!RC2AZb~3F?;iBQeRT$0-54|BF^4n-3XCc-rImSJD}BF*s%3$$|>{Qy_wp zYeykUjoh(CS8=NEe&=&7o}TYZ^Ll~%&o&uchfRY4+GZYCH7Bj{sX{%L184|oQJMG9 z#BIN>f4gg#%Eeq!?G8y*^Mty_C2bREiHjdr6;-dMj0qaq!>?wu;=!wQ1?nz|2%Sy; z9t8J3c(#D$ zIqpQFPoE%18m|dL_(4P+tb$5UqxGd`)G}(hAx7m2{inY)qR$4$HVjw0y}OmHqc(O2 zUsq>$_0gt*tU^t!H96K|``0$`+Yt4W`qsFQY!Jw7x7~6D%rf^n4t7RC53b_1%!nJ> z{hh{4Ezb99O^`ReutSknI9c@DPHgKtI?Jlre`)I8GX=XuoUM*|R&$on8#`IBO00Cj zPTt_K>Z|~?Y%H=`?d38y>2;u#9N)xaiG#vucDnWtlc$Ea&Z{hhTxpCavU(j-i>sPu zrW}AIlY)Pr(S);)b;@ZSyeMj1;<+_ze|ClW!XZ#v9k|kRFOTSFO;%mp4xU=9r!9lI zbe7g#r4+%8bROonPX6U#KKl-{gc@W*r9CLdUFW-)-!feQD$pj14yR#N3bi>;Fg7^yI&axl;j}M z%%b7kJH2v`Q^x^PE5FtVDV@O8-^L4sfBhc7(HcBN);PVcT3$JUedU3h4g!%7rbBeB zl^``3#n5mEDSs|}Ml{=)XS&QQon=f>Y*HLE6uc6}WST9n+>cw8!?nu=$#K>j%iza@DmCw$ zX~tKt6p4zNQU)aqi%B87VjI7%Aa7tJqwii~XC7%u)Q5bvTPI16zmV^WR85n<`xm>= zml4?&+Zuf=I+oX8UWH#ZHIMtc;>e6ipgCno%#c}PNDJCulM664tQ2I^V5Sylu|4*k zfjwyAN2so1K#SIasyYA)GMlhI+`@V&7g{lrJIC%#<-0?KTWj_03VigGy2c*V96=}6 zm9yBl*A?x6K3$Bku2^1W+SEYXo*OZjN3(&n71w)F!eP2eFQ|JCV95&30~_ugLaY<9BJ%`?5vV4IMo5p>9ZD;_PfT zz&|rXt+Tq)Mb&|h>g^xc2|Z7T`L26xt0kV77=Mz^J#&g}{?>t6J95IuDtfk`U^S|v z{8Ke7E6&xPea6;Ea~Q~>eX2MJNod?T5-1|Vr&F;o%g~<>UNy=PU~`J<-*F5)(3^`D zKiW|6^!S}P_*8H8?g~<8g|8nL3My#s)f)|cumbO;FpJs_zcBoZdXLlgBydz8#X)=C z?9d%(hkz#<`(!u872$eFSuTen=~MP;yN^cAG^ z{J2M?#`~hu>58?o&W?S3b0Fk8%I;hlescqy-uRbv{dwWhQ;WhdA~b_dzyLf&!~vJn z9>R*=cwu5^?6|WE{;cS3+FuB?YvERom#&~9;wDzDR8|N6a~%_lk=&wok;4tmCkqa# zd#=@O$&6YkVzqBE(jfDVUEGw<&@w-p?mm!FwB|RZ|No|n> z{eMHObm02a)62jM81?}m!mZb&e>t>C64Dr}nYXv>|c(&QPFJ9T?-azgPscad4n`OpF{$YW&R;0=T zWl^{&r-u|0Y-L7@?=76L)k4sD!UqYxG?*AtcJ2RN+K>JkY9N2vOb8tSg9D9^LZ`2u zV9ODUfRRvB)lUOU!%EGsi-swHf`MP7K}62a9zoy$9ktdB(Y8{EE68u7i7qb=vrIJV z59@$%VQ>P%+CZ+nKp}v7ZzK(Wf(kSnD~L=e#rDCEF#uL;@h+Cd>N=#}_fZXfq0P0L z5u2F79F9B7htx*OV%q`;41hrD&*?}Hy~+Q~EjC$pM_O-_g_<9Aj$o;c1OB%;6vTZn zG~X;3uwPu-uQKDHx^-0A)zVF(>Hr$+_52t~dfI!l-6J#+>q;gx@$&Y(Qw}%-X8~Ac z)=Qiytar|WJ}`U$(nXO378q!w*Z7b^F{dZ^bAT$3?FjyUT9{Ym2 zyrejUcA^8!cC*M^d?5xgS8l*ZCUPMfkg}KD%j(q7B)??0P_^f-XXy^8D`VC&C&+u@O zQ?cz}Dl-c9YQ!f(uI$gwi;TYs@e`5Gx)+iv3jFpg{QI2?#K?H~?kn;P-O}pt zj6ENvU+=#xDa3>9L}CEvnNef-qLH+9cC*o`mK_7<6g3nL2m*^JCs<&_*5x~r|0>HBGX*cg)JTAT9z z+KAig6vQcWs3|zK@5e9#kU=5zY?k zm1+epHbQgkN+{?`<)0NmcUsZSkWdQC1!ycJIyW+8run=p2m+SlQJ^%*I27xUsgn;Z;2bm`ahN*`sr!ff}vG3?nfJ18~vzZ|B*enA>h3K&3y z()^NJ07A;RHHW;DcG}I7RiFB)@b(LK@I%d?JKdcPRBZ*C3!X`~+MeFTv?v@m+3?!= zsdtCLvO}9_*C{|S*(;G+Dm<`av@ldDp`0hjl3myVIAf0)ef#U4-AlyYmLg?U2rk)h zx0prBzAjBNOim=h5FlS=8-9pxq|K?xp*XTBl9Nyzo2;6e2)RbFz%!)-*&L~I7Af8~ zqqVIzE~nbcI6>)-_=q2QZTYV;c2lCfk z+jMpa@U=~g^{&187Qnw0o$08GFcg&3w!ej?>iD{MUW?9c zC*PO3fbkVn&HU)l>?pSdV$}Fbt!HCD98Q%jr_^bJ4!CT4C~1RSCvyTb=6yJ>Zuwyk z4eJFgEdzXth-?yOf&;A^l&$N1u8@8!DJ1p}528ws(gKQ)Us`udoNH$3zyq zCOk~5oblrb;`HiC;iGyR_0I*KW5inoJQo;r7qYSVc7a*4Q;`V3xt);qfWDQuATJI^ z-90Z3M|wzx^QxUDL+CZAYK!^e$lVL(T+>$PRpj<)@=j>CjBcp32CS-4^~j)<+u{RK z_n=Mr1Hy$_TCaLr$3dJl+kQ!EV1p&?c9ApFa+4@xS!JjF_kZU`EEVo8V$cBqc%T6P zhgz86|7OYKzqOs^XxXicH~4QqtKB%j#lyRjMg>h}8O>mWq_g+2-wx2iLPQoA6B1`l zM3Lp{^=!&0?x_%(j3FMz@xyBnc2;&|>gcI$D<-hFu(+Y=o)qUoAf3;}ApPvDC7k6U z(uI33do}=XcQny{lYS#RWO~1>YY`zksrk|$G~akX3w?#WBEQ^?wCAjyDk=8}_-K4w ztt9Z=duLdDrk*_yRo9=dYqo&XRcva#=eK!aL{<5!eaYN95qr;A7;E^J+9`0VQ}v1b zVHP_J`}THocSRu znN17jk@~yhs>npw{J#BAs6cHOvm9cG9tTAQe=oh(o0YbW5t?`tM4)uje|RR95sT!d zP%-t)^YE3_K3s}rL|{ndbA!15#YQAIe$!9fEHpxc>+(l_oVqgLx}=6gkjiDh7s_Q< z(;~ZlD%wo&r3T0KIGap~*peHP4@#RTO1N#Dm4OliIU*R!Dj_6R)-Wkk0A4d7ja@aj zjvD3sGu`pk`+4!@<8`TR=J4)l_`RX17$P61DH%t8{H$J+gAG!>q-uUG`OYX_6KdNR z`PQ5wS@t=v2jg{LGgH!HwfMBw87%YutLq&Ld^jQ*)~%kj9eB9#Czq4N{c5v$(V8wGD=ZGV`3f z_1-eSV{fBX;N|J|a(`p989FoOdJ=6K?vxsrhb*mhQT#>s?=k=yhqtl?IvXdNdB>4+7R!yn1*vt;>_^Gdsd}Q?ZGf^Eoq^G&K6z`R?OuMD@=Wto+`TF z+ zq$c*cs&b~??&y}##nQyvCFJ(P@pbDD>Zhmc_0jZkv+z>t@NQNCA(!z>ha&r%PM{&2 zQsb|D$=fqN;^zneMXgBsny$LRginNKJKqdjoX2K_$Xh8+=W;_9Q3jj#a)v9qw2lF) zx@_`d_xXUK%g~h{Bc1Eolh2&UO$eTv$@_dW4 z8XK%Mw|$V$_<99t1;4c36JxQs&SLRaM72s*Z;D;Ik#1)$-NCWua?xFl&go5^tgK*n zj${;vFRPkNp`dTh=-ZH2BHs*;7-TZCTj|}%Y)1 zfM#GCxI4cWf0dj$$!M#@F+Rt@f=~SPh&L@ljAuz&+7;FKTJ|t}%}f)guIz5uD~(*t zH6mWF)|fJ|&o43674{vj90x3y`=qRHh}bSNbCNG<49YlGq&RRr`;H|$8lCz0Nmf*2 zYhm3%Zs;L(PcU~{_Ulekavk;~e5q$BnUyW7thyH0Q2XrDhO)|XF-wXBnWoZ&v^N*4 zcV;&HZdRKkC{j*_?Pvb_y3BuZy(EIB8~Ysoz8Ih#7oZW@xV&mT|06I&xa%2W$woPj zV^;q08~Y`Tag&YF31NMGJ=MX+9Q9q*xD;;2^HcMLU`~|M(lp`>AQ1O=7@(&=?r-pu zf83A@`opXO99v>c4Ay!#Y%V`Oy!gB~ym;IKyf_642v7h&exbAPA_yW#e)*RRLih*n z&reT+_XJ^tI2k{>ctigan(2^Etq2!jk`S^R;3<90MK54Vow-3{ZgLN=|+i#MM z0DwQ-)x%T3;)3gWK!e8xjr8sBINTt)+%yM(tUre&&ET8C1H#!|j14e__u}_^+yDka ztScG78zfJYji8BP36CDjA!-6}LkmI$qfSHPK+v2-&Gw%|(;P%q7k^&7j)#L_+&s$M zUtXO5VuUwlhf~BKt>Zxngf4XE<@n1k8lSITg3%elmPP}Y0CrMn(VcS|Bo3Sq+TkdS ziD@VUh!D;!&G)yL6`K8d+$b1TcIFjH6TgXG{fNRII6s6IMNiIL;4(X-I9E;@@WMRP z&g=regkL(p2Ad%yR9#6Q*bq`FmO}kfNraYKC1W!2RXCMaB;-}vWg(&YQ~?4|5TD*5 z5=1~huy;^DqZ9xSgtSAM`@45g)w6zn!4(&X1qtL zvZW@16H3cWS#94lWmYXk7F67oK74gfzorbU4Xh@>Y6tTlcRtqt__CvA^Mty~_H!xx z;m4tV41TZ^F-VtllrNv|W^d*G;_aEc%bzz4_eaB8wwC0PE;ZbNuKg{C>o&KIci~Mh z4l`1>YwNpEBfFoAKQgUpxulo}j#`)M=|x#pj9Yv^W-ugC{j-{+Jf{WE>d#YXhXn-> zzc@*UY<=@ig-ZhS2EFYsAF+Rljk+#9eZ0FJeO{}zx~*O)kz1YgyK0)KWEpDkU4)TC z*O|hH5I{PawuvB%>IoZ6^FS8fioR&n3 zVnB(KFyj4XuW;&^iq6M|1z`4-bR>HKYyj|HKzn)@_Oh#Y`E5%WzPP-Rnf>G2`xlRo z5095u!nNy&@N)3Bm(*AL+ctM?Zy{1`Z#Ra$J-OAPbBj>tliMfv_f&0nuRlCnxORLp zc6zkW&I9dRe4aa~r#+~xS!(yaT0Ku{|9k}=DwvQ<^K-$m zBm7pBJJ7>7svGg`Y*=lTsY`0;OvKLRL4N}e`31y&&+3YQPnXM5P-aW=DlA$ zy?MI336Q$GJJD|+OOMW@nDFf{*j<4~VvR=X_g5S)kX$bgt-r;{#u2Ao`)k>zS{wC_ zt;wccIpHXGtV=J;?OW!_bL3(vb?>Z8pFBjYi2(xPHO4qNP~bi;Z(y^@?YUI|SOcU$%@pq(3$=>&KP1!7|mi5;Z~oh^EZF06veR z5Pq>TJj9QRM*n?PK@#WSWLL`N)rQ5!rnZ_8dtI1-LA2#;$-b2CB_*ZB!HNRN6QE#l zC{N@>N=t83mJ#nBTVjl@!jGtea@v(dtmt0pl6Iuxd4O^fU)EQ&abg)xY==mraW_!x~d?vOjXQOha;@B@2)~`&KAjvGxRO1FG?-+JXF!lhgyx zC~L&g!X&%!r_qO60c!E5$wCCw>P4*+(Hj{~EieS2^`98d20-ftwFlJxaUyzQ8t5ul zDFfJ;b%hqZb%kPkLn)5aV`1Uvg|6F^Lepr!S(Pq&+Y?_;##2MH~ zHT@k)TJ0(|R)Db=hS-_h!CXudu0doT7^(5dbWmx90-W%L$-NC>)q}&y{zB95I3c_+ zURWROH}==&YlYJYYX^+BfTrMoqKuk19BzOZm^;Xi-9h+qD9Z*%`{(d6m+yk8C6S?w zGpXi-=6vXdY6v{7Ij{ncIiBZf1@)rZrKmv{&C~~0*K!hJb z9t0UsE)?k0C?4P zMvj6Ev(bLyPRlU}0Y3yhP%r?2bSiwu5}OyHVGx_P_k=fBr~45W)AkEDK)~zp&#Ldf z{ShHp`q-8($PGX@=M1>3lLX8w^5Q_Q9oROb;urxWd;5>vg3pNxX5#V_=dGspeKJG z=oR1}s}J|%$ZLQb!1w8Pz+V)Wfj$8Edf{$>KSpbVcEaBL&IKwI9`RMI=9T=Rc7WP` zWamHbjdRk~C{8xHUIct{j&XZ>vadsZX=o|MNXJ^Jiozf8+_1EXR#gmXe3K(`b1)P4 zlbIFzJhMKNq+tWS9#HU~$4n5y8~%kIE|}n^o(Ba8@1JxKgi~~9Ux3&`ZKE(KvF6`5 zCV^-lj<@kok8Vg+#CuulzkHV~U8zIV{b$1#n-K7(0mXalIwS`ne~VD&*t7&!=M}}a zTv1z$-d#Ubn+@O8H~#acbR`rl>y}bo)Y;*nzZZaYp|o`i>^1c?5Pirsc!C?>$v}pW zHVWz(p#9?(mjU6BDrlkTgxWcZ=`X;e(Y*o@LO;=;Dyc^5^nU&wJn(?866O<@Z~v@x z`>Orx22!Zx?+@~%MzgP_zJaLv*fvK$91%mdo*Cx?LdmC{wR8GtB4a6Yudh$8`>*H9 z^-k+2isWW%1FkN6We(@lrZCCnV>EhU$T|$+I9a5Va9ji)%%6av9)F^c7I}=vbCy|P z@{`z@P(}g#+{DZyU_s9!FhR-kpHvM5;zuOl8SPCz6>F=O-@oWT!CY5!kuHEbdui*S ze%#6V&AgrJJ0a647zo2tFurt$!Cx624${qkl!A=@)O0+_){%`4i>%rD*K@3wT_)U* z9qD2-?(cF#Bf9!j-gsX^2zLZJO`i*$&(v5`U{V7nmxo3kU>~DUgxx2OPJ&MLfb<_^ zmq?4Ob;>Ss3`L4c7DyO30#Sx2%SMofm!CreL;<4g@~U7cZhV2pvz~~MAELMe&W994 z2{OqA@`SHAQM|PlLb0q&&S0R6`m)bikq-|FCJr59v)t^<yOK)kG zTl2_+ltMc#OoAf7!;}(w-J#zREnxCZAmyeHo1h8V#9nBL(4GDaR#Y-K=Y;+CWVG(Y^-C7~Y?~0l%y-CbS-0B? zZ2)(>qpPsq48q2p_DsQYd6PIXwV)PM5>fMPvMX6ug8crst2|fM_vjuO0ALXAe?s&8 zF9)84ENqQ`jzzMwcCj(}FTLc=s(N-m15bW4rERTM{6(wHSf!p)S+?|{UC0(sH5V+lzBINIPI;ofe4-Z#JRhaFO(sEbo|F)#06s|(|xy^T3E*dXt7 z7b*3QqM|T)kR}^1fcVd1HO890pKQF+0@P_i(1u7gQt-CO&KC_+>V}R;HE4&9-iT5w zRoY9`f^ObKwQKE`ObBbzxHZrwR21tTNj>yvU&C0CvhE7;4W=w7cN!OfE`tk>L%&3 zk9q=kqUMCjYHlZ1WZp_zI#XyT{=UW%e7spVdpnxkpI+e&+Eyq`$u_T{$sN_w(LDNN z({5+uFJ~@e#liaL9cQq<9<%ki&t~Qk@{>_=vTG^aIN858<@n{JMO!%G3yW1Myg`1j#QuI}7a3{K zD7dF#zw z85Ikr;70++v5iMx%iMYEj&>}UvV$++F8nUjEfFwDtD&AUoI)o64Cp?&)xlws{nn3T z)zoMF|6rExnpAzW#hA%s5ORn{Z6(8LT{K@&wcJxLb z$sd@;$?UARlbA6U>lpcCzKIc|?Q6MtFux-ThC zh)^%P*zxa@oTr7&!UA{coJNCv>Dc<;)bQwX6`H5I7y$+k5vuu97GtkyIWA}P-OV8n zsjIlS^>Rl>ukzIL4+yYoi6!;`n)#N57VK1cbub|~4P(BB{+&ElC)QtIj0?_8^jS^L z7Nr4xcLlIN<*QasZ)TA8l_3WX>nh^#7k{vHOf*UQ zedv4P1;pXR_fJ6*Rgc2Y?RgfAGoMOJkxsJtzcFtaiYLETC-H-W1OnBuu&!CxI5WXU z|1I4(%M1p7{7kAK!~9RvD*qqHm}G2h|BL8^C{5UA(<5)rsJXLIX@v@sUsR}86Ow2& zK}Ole<1Hge`QoqtmhR~eC9oMKznso?y1Lg+j0=Q8Om^k8xZa}|3V)r;Z&FlPpX;?Z zU4kBx$EGGG)iB%yB)Bw1Wp+Bfy?v4j<5iVWp^|h^7zI-MO}U{c!chA=m825K>KrilNjbBILL7R+9@+7M#XKdI;>}nOS_x(S9RJQ<05CREe6fJD2RQ z@Owl;51`cWW?HdBIfRGwB@SF~LBNvHwt$U>Apf`8yhh5L5t8RORO-I5FsHC?0o9Y@ zIriJ08!}uaeL@p%{s$%a*`Op|>dkyTwaeYFt1roS9O%0AC|oGPIJF0#+yQRsRH124 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 literal 0 HcmV?d00001 diff --git a/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/testStructure.json b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/testStructure.json new file mode 100644 index 0000000000..db95690064 --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/WorkflowBpmn/testStructure.json @@ -0,0 +1,20 @@ +{ + "distributionID": "a2872f55-8628-4486-8548-7b132c9a47db", + "serviceName": "Service-CxSvc", + "serviceVersion": "1.0", + "serviceUUID": "bad955c3-29b2-4a27-932e-28e942cc6480", + "serviceInvariantUUID": "b16a9398-ffa3-4041-b78c-2956b8ad9c7b", + "serviceDescription": "Demo", + "serviceArtifacts": [ + { + "artifactName": "service-CxSvc-csar.csar", + "artifactVersion": "1", + "artifactType": "Workflows", + "artifactDescription": "Workflows Container", + "artifactTimeout": "0", + "artifactURL": "service-CxSvc-csar.csar", + "artifactUUID": "396cfd49-0f4b-4fec-9f33-0fd7e90d5a22", + "artifactChecksum": "MWQ3Y2FmMWExNDQyYWI2N2YwNjEwZGUzN2IzMzI3NjE=" + } + ] +} -- 2.16.6