summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bpmn/MSOCommonBPMN/pom.xml5
-rw-r--r--bpmn/so-bpmn-infrastructure-common/pom.xml4
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidator.java52
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidatorTest.java138
-rw-r--r--mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraActiveRequests.java8
-rw-r--r--mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ResourceType.java26
6 files changed, 212 insertions, 21 deletions
diff --git a/bpmn/MSOCommonBPMN/pom.xml b/bpmn/MSOCommonBPMN/pom.xml
index 5d9c1a3acd..ec8ad3127c 100644
--- a/bpmn/MSOCommonBPMN/pom.xml
+++ b/bpmn/MSOCommonBPMN/pom.xml
@@ -1,6 +1,5 @@
<?xml version="1.0"?>
-<project
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
@@ -23,7 +22,7 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
- <configuration>
+ <configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
</configuration>
diff --git a/bpmn/so-bpmn-infrastructure-common/pom.xml b/bpmn/so-bpmn-infrastructure-common/pom.xml
index 1a4e9c6ee8..86df60bb54 100644
--- a/bpmn/so-bpmn-infrastructure-common/pom.xml
+++ b/bpmn/so-bpmn-infrastructure-common/pom.xml
@@ -32,11 +32,11 @@
</execution>
</executions>
</plugin>
- <plugin>
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
- <configuration>
+ <configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
</configuration>
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidator.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidator.java
index 1cde9fb8f6..e2dd73f9ec 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidator.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidator.java
@@ -24,6 +24,8 @@
package org.onap.so.bpmn.infrastructure.workflow.tasks;
+import java.util.EnumSet;
+import java.util.Set;
import org.onap.so.bpmn.common.BuildingBlockExecution;
import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
import org.onap.so.bpmn.servicedecomposition.tasks.ExtractPojosForBB;
@@ -34,11 +36,15 @@ import org.onap.so.db.catalog.beans.BuildingBlockDetail;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
import org.onap.so.db.catalog.beans.OrchestrationStatusStateTransitionDirective;
import org.onap.so.db.catalog.beans.OrchestrationStatusValidationDirective;
+import org.onap.so.db.catalog.beans.ResourceType;
import org.onap.so.db.catalog.client.CatalogDbClient;
+import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import org.springframework.web.client.HttpClientErrorException;
@Component
public class OrchestrationStatusValidator {
@@ -52,6 +58,14 @@ public class OrchestrationStatusValidator {
"Orchestration Status Validation failed. ResourceType=(%s), TargetAction=(%s), OrchestrationStatus=(%s)";
private static final String ORCHESTRATION_STATUS_VALIDATION_RESULT = "orchestrationStatusValidationResult";
private static final String ALACARTE = "aLaCarte";
+ private static final String MULTI_STAGE_DESIGN_OFF = "false";
+ private static final String MULTI_STAGE_DESIGN_ON = "true";
+ private static final String RESOURCE_EXIST_STATUS_MESSAGE =
+ "The %s was found to already exist, thus no new %s was created in the cloud via this request";
+ private static final String RESOURCE_NOT_EXIST_STATUS_MESSAGE =
+ "The %s was not found, thus no %s was deleted in the cloud via this request";
+ private static final Set<ResourceType> cloudResources =
+ EnumSet.of(ResourceType.VF_MODULE, ResourceType.VOLUME_GROUP, ResourceType.NETWORK);
@Autowired
private ExtractPojosForBB extractPojosForBB;
@@ -59,6 +73,8 @@ public class OrchestrationStatusValidator {
private ExceptionBuilder exceptionBuilder;
@Autowired
private CatalogDbClient catalogDbClient;
+ @Autowired
+ RequestsDbClient requestDBClient;
/**
@@ -160,6 +176,13 @@ public class OrchestrationStatusValidator {
execution.setVariable(ORCHESTRATION_STATUS_VALIDATION_RESULT,
orchestrationStatusStateTransitionDirective.getFlowDirective());
+
+ if (buildingBlockFlowName.matches("Create(.*)|Delete(.*)") && orchestrationStatusStateTransitionDirective
+ .getFlowDirective() == OrchestrationStatusValidationDirective.SILENT_SUCCESS) {
+
+ updatedResourceStatus(execution, buildingBlockDetail);
+ }
+
} catch (BBObjectNotFoundException ex) {
logger.error(
"Error occurred for bb object notfound in OrchestrationStatusValidator validateOrchestrationStatus ",
@@ -175,4 +198,33 @@ public class OrchestrationStatusValidator {
exceptionBuilder.buildAndThrowWorkflowException(execution, 7000, e);
}
}
+
+ private void updatedResourceStatus(BuildingBlockExecution execution, BuildingBlockDetail buildingBlockDetail) {
+
+ if (cloudResources.contains(buildingBlockDetail.getResourceType())) {
+ String resource = buildingBlockDetail.getResourceType().toString();
+
+ String resourceId = execution.getLookupMap()
+ .get(ResourceKey.valueOf(buildingBlockDetail.getResourceType().getResourceKey()));
+
+ String resourceStatusMessage = RESOURCE_NOT_EXIST_STATUS_MESSAGE;
+ if (execution.getFlowToBeCalled().matches("Create(.*)")) {
+ resourceStatusMessage = RESOURCE_EXIST_STATUS_MESSAGE;
+ }
+
+ updateRequestsDb(resourceId, String.format(resourceStatusMessage, resource, resource));
+ }
+
+ }
+
+ private void updateRequestsDb(String requestId, String resourceStatusMessage) {
+ InfraActiveRequests request = new InfraActiveRequests();
+ request.setRequestId(requestId);
+ request.setResourceStatusMessage(resourceStatusMessage);
+ try {
+ requestDBClient.patchInfraActiveRequests(request);
+ } catch (HttpClientErrorException e) {
+ logger.warn("Unable to update active request resource status");
+ }
+ }
}
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidatorTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidatorTest.java
index ffe48876c4..b9feeedc14 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidatorTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidatorTest.java
@@ -34,8 +34,10 @@ import org.camunda.bpm.engine.delegate.BpmnError;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
+import org.mockito.ArgumentCaptor;
import org.mockito.ArgumentMatchers;
import org.mockito.InjectMocks;
+import org.mockito.Mockito;
import org.onap.so.bpmn.BaseTaskTest;
import org.onap.so.bpmn.common.BuildingBlockExecution;
import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
@@ -49,13 +51,19 @@ import org.onap.so.db.catalog.beans.OrchestrationStatus;
import org.onap.so.db.catalog.beans.OrchestrationStatusStateTransitionDirective;
import org.onap.so.db.catalog.beans.OrchestrationStatusValidationDirective;
import org.onap.so.db.catalog.beans.ResourceType;
+import org.onap.so.db.request.beans.InfraActiveRequests;
import org.springframework.beans.factory.annotation.Autowired;
public class OrchestrationStatusValidatorTest extends BaseTaskTest {
- @InjectMocks
- protected OrchestrationStatusValidator orchestrationStatusValidator = new OrchestrationStatusValidator();
+ private static final String vfModuleExistExpectedMessage =
+ "The VfModule was found to already exist, thus no new VfModule was created in the cloud via this request";
+
+ private static final String vfModuleNotExistExpectedMessage =
+ "The VfModule was not found, thus no VfModule was deleted in the cloud via this request";
+ @InjectMocks
+ protected OrchestrationStatusValidator orchestrationStatusValidator = new OrchestrationStatusValidator();
@Test
public void test_validateOrchestrationStatus() throws Exception {
@@ -95,6 +103,8 @@ public class OrchestrationStatusValidatorTest extends BaseTaskTest {
assertEquals(OrchestrationStatusValidationDirective.CONTINUE,
execution.getVariable("orchestrationStatusValidationResult"));
+
+ Mockito.verifyZeroInteractions(requestsDbClient);
}
@Test
@@ -146,6 +156,8 @@ public class OrchestrationStatusValidatorTest extends BaseTaskTest {
assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS,
execution.getVariable("orchestrationStatusValidationResult"));
+
+ Mockito.verifyZeroInteractions(requestsDbClient);
}
@Ignore
@@ -192,6 +204,8 @@ public class OrchestrationStatusValidatorTest extends BaseTaskTest {
OrchestrationAction.ASSIGN);
orchestrationStatusValidator.validateOrchestrationStatus(execution);
+
+ Mockito.verifyZeroInteractions(requestsDbClient);
}
@Ignore
@@ -224,6 +238,8 @@ public class OrchestrationStatusValidatorTest extends BaseTaskTest {
OrchestrationAction.ASSIGN);
orchestrationStatusValidator.validateOrchestrationStatus(execution);
+
+ Mockito.verifyZeroInteractions(requestsDbClient);
}
@Test
@@ -293,6 +309,8 @@ public class OrchestrationStatusValidatorTest extends BaseTaskTest {
assertEquals(OrchestrationStatusValidationDirective.CONTINUE,
execution.getVariable("orchestrationStatusValidationResult"));
+
+ Mockito.verifyZeroInteractions(requestsDbClient);
}
@@ -337,10 +355,21 @@ public class OrchestrationStatusValidatorTest extends BaseTaskTest {
.getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE,
OrchestrationStatus.PENDING_ACTIVATION, OrchestrationAction.CREATE);
+ InfraActiveRequests request = new InfraActiveRequests();
+ request.setRequestId("testVfModuleId1");
+ request.setResourceStatusMessage(vfModuleExistExpectedMessage);
+
+ Mockito.doNothing().when(requestsDbClient).patchInfraActiveRequests(request);
+
orchestrationStatusValidator.validateOrchestrationStatus(execution);
assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS,
execution.getVariable("orchestrationStatusValidationResult"));
+
+ ArgumentCaptor<InfraActiveRequests> argument = ArgumentCaptor.forClass(InfraActiveRequests.class);
+ Mockito.verify(requestsDbClient).patchInfraActiveRequests(argument.capture());
+
+ assertEquals(vfModuleExistExpectedMessage, argument.getValue().getResourceStatusMessage());
}
@Test
@@ -385,10 +414,21 @@ public class OrchestrationStatusValidatorTest extends BaseTaskTest {
.getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE,
OrchestrationStatus.PENDING_ACTIVATION, OrchestrationAction.CREATE);
+ InfraActiveRequests request = new InfraActiveRequests();
+ request.setRequestId("testVfModuleId1");
+ request.setResourceStatusMessage(vfModuleExistExpectedMessage);
+
+ Mockito.doNothing().when(requestsDbClient).patchInfraActiveRequests(request);
+
orchestrationStatusValidator.validateOrchestrationStatus(execution);
assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS,
execution.getVariable("orchestrationStatusValidationResult"));
+
+ ArgumentCaptor<InfraActiveRequests> argument = ArgumentCaptor.forClass(InfraActiveRequests.class);
+ Mockito.verify(requestsDbClient).patchInfraActiveRequests(argument.capture());
+
+ assertEquals(vfModuleExistExpectedMessage, argument.getValue().getResourceStatusMessage());
}
@Test
@@ -433,10 +473,21 @@ public class OrchestrationStatusValidatorTest extends BaseTaskTest {
.getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE, OrchestrationStatus.ASSIGNED,
OrchestrationAction.CREATE);
+ InfraActiveRequests request = new InfraActiveRequests();
+ request.setRequestId("testVfModuleId1");
+ request.setResourceStatusMessage(vfModuleExistExpectedMessage);
+
+ Mockito.doNothing().when(requestsDbClient).patchInfraActiveRequests(request);
+
orchestrationStatusValidator.validateOrchestrationStatus(execution);
assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS,
execution.getVariable("orchestrationStatusValidationResult"));
+
+ ArgumentCaptor<InfraActiveRequests> argument = ArgumentCaptor.forClass(InfraActiveRequests.class);
+ Mockito.verify(requestsDbClient).patchInfraActiveRequests(argument.capture());
+
+ assertEquals(vfModuleExistExpectedMessage, argument.getValue().getResourceStatusMessage());
}
@Test
@@ -481,10 +532,21 @@ public class OrchestrationStatusValidatorTest extends BaseTaskTest {
.getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE,
OrchestrationStatus.PENDING_ACTIVATION, OrchestrationAction.ACTIVATE);
+ InfraActiveRequests request = new InfraActiveRequests();
+ request.setRequestId("testVfModuleId1");
+ request.setResourceStatusMessage(vfModuleExistExpectedMessage);
+
+ Mockito.doNothing().when(requestsDbClient).patchInfraActiveRequests(request);
+
orchestrationStatusValidator.validateOrchestrationStatus(execution);
assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS,
execution.getVariable("orchestrationStatusValidationResult"));
+
+ ArgumentCaptor<InfraActiveRequests> argument = ArgumentCaptor.forClass(InfraActiveRequests.class);
+ Mockito.verify(requestsDbClient).patchInfraActiveRequests(argument.capture());
+
+ assertEquals(vfModuleExistExpectedMessage, argument.getValue().getResourceStatusMessage());
}
@Test
@@ -529,10 +591,21 @@ public class OrchestrationStatusValidatorTest extends BaseTaskTest {
.getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE,
OrchestrationStatus.PENDING_ACTIVATION, OrchestrationAction.CREATE);
+ InfraActiveRequests request = new InfraActiveRequests();
+ request.setRequestId("testVfModuleId1");
+ request.setResourceStatusMessage(vfModuleExistExpectedMessage);
+
+ Mockito.doNothing().when(requestsDbClient).patchInfraActiveRequests(request);
+
orchestrationStatusValidator.validateOrchestrationStatus(execution);
assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS,
execution.getVariable("orchestrationStatusValidationResult"));
+
+ ArgumentCaptor<InfraActiveRequests> argument = ArgumentCaptor.forClass(InfraActiveRequests.class);
+ Mockito.verify(requestsDbClient).patchInfraActiveRequests(argument.capture());
+
+ assertEquals(vfModuleExistExpectedMessage, argument.getValue().getResourceStatusMessage());
}
@Test
@@ -568,5 +641,66 @@ public class OrchestrationStatusValidatorTest extends BaseTaskTest {
assertEquals(OrchestrationStatusValidationDirective.CONTINUE,
execution.getVariable("orchestrationStatusValidationResult"));
+
+ Mockito.verifyZeroInteractions(requestsDbClient);
+ }
+
+ @Test
+ public void test_validateOrchestrationStatusDeleteVfModuleSilentSuccess() throws Exception {
+ String flowToBeCalled = "DeleteVfModuleBB";
+
+ execution.setVariable("orchestrationStatusValidationResult",
+ OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+ execution.setVariable("aLaCarte", true);
+ execution.setVariable("flowToBeCalled", flowToBeCalled);
+
+ GenericVnf genericVnf = buildGenericVnf();
+ ModelInfoGenericVnf modelInfoGenericVnf = genericVnf.getModelInfoGenericVnf();
+ modelInfoGenericVnf.setMultiStageDesign("true");
+ setGenericVnf().setModelInfoGenericVnf(modelInfoGenericVnf);
+ setVfModule().setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+
+ org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule vfModule =
+ new org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule();
+ vfModule.setVfModuleId("vfModuleId");
+ vfModule.setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+ when(extractPojosForBB.extractByKey(any(), ArgumentMatchers.eq(ResourceKey.VF_MODULE_ID))).thenReturn(vfModule);
+
+ BuildingBlockDetail buildingBlockDetail = new BuildingBlockDetail();
+ buildingBlockDetail.setBuildingBlockName("DeleteVfModuleBB");
+ buildingBlockDetail.setId(1);
+ buildingBlockDetail.setResourceType(ResourceType.VF_MODULE);
+ buildingBlockDetail.setTargetAction(OrchestrationAction.CREATE);
+
+ doReturn(buildingBlockDetail).when(catalogDbClient).getBuildingBlockDetail(flowToBeCalled);
+
+ OrchestrationStatusStateTransitionDirective orchestrationStatusStateTransitionDirective =
+ new OrchestrationStatusStateTransitionDirective();
+ orchestrationStatusStateTransitionDirective
+ .setFlowDirective(OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+ orchestrationStatusStateTransitionDirective.setId(1);
+ orchestrationStatusStateTransitionDirective.setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+ orchestrationStatusStateTransitionDirective.setResourceType(ResourceType.VF_MODULE);
+ orchestrationStatusStateTransitionDirective.setTargetAction(OrchestrationAction.CREATE);
+
+ doReturn(orchestrationStatusStateTransitionDirective).when(catalogDbClient)
+ .getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE,
+ OrchestrationStatus.PENDING_ACTIVATION, OrchestrationAction.CREATE);
+
+ InfraActiveRequests request = new InfraActiveRequests();
+ request.setRequestId("testVfModuleId1");
+ request.setResourceStatusMessage(vfModuleNotExistExpectedMessage);
+
+ Mockito.doNothing().when(requestsDbClient).patchInfraActiveRequests(request);
+
+ orchestrationStatusValidator.validateOrchestrationStatus(execution);
+
+ assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS,
+ execution.getVariable("orchestrationStatusValidationResult"));
+
+ ArgumentCaptor<InfraActiveRequests> argument = ArgumentCaptor.forClass(InfraActiveRequests.class);
+ Mockito.verify(requestsDbClient).patchInfraActiveRequests(argument.capture());
+
+ assertEquals(vfModuleNotExistExpectedMessage, argument.getValue().getResourceStatusMessage());
}
}
diff --git a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraActiveRequests.java b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraActiveRequests.java
index 750fa13c77..49fce7608b 100644
--- a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraActiveRequests.java
+++ b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraActiveRequests.java
@@ -69,10 +69,10 @@ public class InfraActiveRequests extends InfraRequests {
@Override
public String toString() {
return new ToStringBuilder(this).append("requestId", getRequestId()).append("requestStatus", getRequestStatus())
- .append("statusMessage", getStatusMessage()).append("progress", getProgress())
- .append("startTime", getStartTime()).append("endTime", getEndTime()).append("source", getSource())
- .append("vnfId", getVnfId()).append("vnfName", getVnfName()).append("vnfType", getVnfType())
- .append("pnfName", getPnfName()).append("serviceType", getServiceType())
+ .append("statusMessage", getStatusMessage()).append("resourceStatusMessage", getResourceStatusMessage())
+ .append("progress", getProgress()).append("startTime", getStartTime()).append("endTime", getEndTime())
+ .append("source", getSource()).append("vnfId", getVnfId()).append("vnfName", getVnfName())
+ .append("vnfType", getVnfType()).append("pnfName", getPnfName()).append("serviceType", getServiceType())
.append("tenantId", getTenantId()).append("vnfParams", getVnfParams())
.append("vnfOutputs", getVnfOutputs()).append("requestBody", getRequestBody())
.append("responseBody", getResponseBody()).append("lastModifiedBy", getLastModifiedBy())
diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ResourceType.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ResourceType.java
index 4fd28c910e..74f58a210c 100644
--- a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ResourceType.java
+++ b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ResourceType.java
@@ -21,24 +21,30 @@
package org.onap.so.db.catalog.beans;
public enum ResourceType {
- SERVICE("Service"),
- VNF("Vnf"),
- VOLUME_GROUP("VolumeGroup"),
- VF_MODULE("VfModule"),
- NETWORK("Network"),
- NETWORK_COLLECTION("NetworkCollection"),
- CONFIGURATION("Configuration"),
- INSTANCE_GROUP("InstanceGroup"),
- NO_VALIDATE("NoValidate");
+ SERVICE("Service", "SERVICE_INSTANCE_ID"),
+ VNF("Vnf", "GENERIC_VNF_ID"),
+ VOLUME_GROUP("VolumeGroup", "VOLUME_GROUP_ID"),
+ VF_MODULE("VfModule", "VF_MODULE_ID"),
+ NETWORK("Network", "NETWORK_ID"),
+ NETWORK_COLLECTION("NetworkCollection", "NETWORK_COLLECTION_ID"),
+ CONFIGURATION("Configuration", "CONFIGURATION_ID"),
+ INSTANCE_GROUP("InstanceGroup", "INSTANCE_GROUP_ID"),
+ NO_VALIDATE("NoValidate", "");
private final String name;
+ private final String resourceKey;
- private ResourceType(String name) {
+ private ResourceType(String name, String resourceKey) {
this.name = name;
+ this.resourceKey = resourceKey;
}
@Override
public String toString() {
return name;
}
+
+ public String getResourceKey() {
+ return resourceKey;
+ }
}