aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/mso/model/VfModuleInstantiationRequestDetails.java
diff options
context:
space:
mode:
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/mso/model/VfModuleInstantiationRequestDetails.java')
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/mso/model/VfModuleInstantiationRequestDetails.java111
1 files changed, 111 insertions, 0 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/mso/model/VfModuleInstantiationRequestDetails.java b/vid-app-common/src/main/java/org/onap/vid/mso/model/VfModuleInstantiationRequestDetails.java
new file mode 100644
index 000000000..9a3a0c853
--- /dev/null
+++ b/vid-app-common/src/main/java/org/onap/vid/mso/model/VfModuleInstantiationRequestDetails.java
@@ -0,0 +1,111 @@
+package org.onap.vid.mso.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/* Based on this model:
+
+{
+ "requestDetails": {
+ "modelInfo": {
+ “modelType”: “vfModule”,
+ “modelInvariantId”: “ff5256d2-5a33-55df-13ab-12abad84e7ff”,
+ “modelVersionId”: “fe6478e5-ea33-3346-ac12-ab121484a3fe”,
+ “modelCustomizationId”: “856f9806-b01a-11e6-80f5-76304dec7eb7”,
+ “modelName”: “vSAMP12..base..module-0”,
+ "modelVersion": "1"
+ },
+ “cloudConfiguration”: {
+ “lcpCloudRegionId”: “mdt1”,
+ “tenantId”: “88a6ca3ee0394ade9403f075db23167e”
+ },
+ "requestInfo": {
+ “instanceName”: “MSOTEST103a-vSAMP12_base_module-0”,
+ “source”: “VID”,
+ “suppressRollback”: true,
+ “requestorId”: “az2016”
+ },
+ "relatedInstanceList": [
+ {
+ // This related instance captures the volumeGroup to attach
+ “relatedInstance”: {
+ “instanceId”: “17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c”,
+ “instanceName”: “MSOTESTVOL103a-vSAMP12_base_module-0_vol”,
+ “modelInfo”: {
+ “modelType”: “volumeGroup”
+ }
+ }
+ },
+ {
+ “relatedInstance”: {
+ “instanceId”: “{serviceInstanceId}”,
+ “modelInfo”: {
+ “modelType”: “service”,
+ “modelInvariantId”: “ff3514e3-5a33-55df-13ab-12abad84e7ff”,
+ “modelVersionId”: “fe6985cd-ea33-3346-ac12-ab121484a3fe”,
+ “modelName”: “{parent service model name}”,
+ "modelVersion": "1.0"
+ }
+ }
+ },
+ {
+ “relatedInstance”: {
+ “instanceId”: “{vnfInstanceId}”,
+ "modelInfo": {
+ “modelType”: “vnf”,
+ “modelInvariantId”: “ff5256d1-5a33-55df-13ab-12abad84e7ff”,
+ “modelVersionId”: “fe6478e4-ea33-3346-ac12-ab121484a3fe”,
+ “modelName”: “vSAMP12”,
+ "modelVersion": "1.0",
+ “modelCustomizationName”: “vSAMP12 1”,
+ “modelCustomizationId”: “a7f1d08e-b02d-11e6-80f5-76304dec7eb7”
+ }
+ }
+ }
+ ],
+ “requestParameters”: {
+ “usePreload”: true,
+ “userParams”: []
+ }
+ }
+}
+
+
+ */
+
+public class VfModuleInstantiationRequestDetails extends BaseResourceInstantiationRequestDetails {
+
+ public VfModuleInstantiationRequestDetails(
+ @JsonProperty(value = "modelInfo", required = true) ModelInfo modelInfo,
+ @JsonProperty(value = "cloudConfiguration", required = true) CloudConfiguration cloudConfiguration,
+ @JsonProperty(value = "requestInfo", required = true) RequestInfo requestInfo,
+ @JsonProperty(value = "relatedInstanceList", required = true) List<RelatedInstance> relatedInstanceList,
+ @JsonProperty(value = "requestParameters", required = true) RequestParametersVfModule requestParameters)
+ {
+ super(modelInfo, cloudConfiguration, requestInfo, relatedInstanceList, requestParameters);
+ }
+
+ public static class RequestParametersVfModule extends BaseResourceInstantiationRequestDetails.RequestParameters {
+ private final boolean usePreload;
+
+ public RequestParametersVfModule(List<? extends UserParamTypes> userParams, boolean usePreload) {
+ super(userParams);
+ this.usePreload = usePreload;
+ }
+
+ public boolean isUsePreload() {
+ return usePreload;
+ }
+ }
+
+ public static class UserParamMap<K,V> extends HashMap<K,V> implements UserParamTypes, Map<K,V> {
+
+ public UserParamMap() {
+ super();
+ }
+ }
+}
+