2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.vid.mso.model;
23 import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
25 import com.fasterxml.jackson.annotation.JsonInclude;
26 import com.fasterxml.jackson.annotation.JsonProperty;
27 import java.util.HashMap;
28 import java.util.List;
31 /* Based on this model:
36 “modelType”: “vfModule”,
37 “modelInvariantId”: “ff5256d2-5a33-55df-13ab-12abad84e7ff”,
38 “modelVersionId”: “fe6478e5-ea33-3346-ac12-ab121484a3fe”,
39 “modelCustomizationId”: “856f9806-b01a-11e6-80f5-76304dec7eb7”,
40 “modelName”: “vSAMP12..base..module-0”,
43 “cloudConfiguration”: {
44 “lcpCloudRegionId”: “mdt1”,
45 “tenantId”: “88a6ca3ee0394ade9403f075db23167e”
48 “instanceName”: “MSOTEST103a-vSAMP12_base_module-0”,
50 “suppressRollback”: true,
51 “requestorId”: “az2016”
53 "relatedInstanceList": [
55 // This related instance captures the volumeGroup to attach
57 “instanceId”: “17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c”,
58 “instanceName”: “MSOTESTVOL103a-vSAMP12_base_module-0_vol”,
60 “modelType”: “volumeGroup”
66 “instanceId”: “{serviceInstanceId}”,
68 “modelType”: “service”,
69 “modelInvariantId”: “ff3514e3-5a33-55df-13ab-12abad84e7ff”,
70 “modelVersionId”: “fe6985cd-ea33-3346-ac12-ab121484a3fe”,
71 “modelName”: “{parent service model name}”,
78 “instanceId”: “{vnfInstanceId}”,
81 “modelInvariantId”: “ff5256d1-5a33-55df-13ab-12abad84e7ff”,
82 “modelVersionId”: “fe6478e4-ea33-3346-ac12-ab121484a3fe”,
83 “modelName”: “vSAMP12”,
84 "modelVersion": "1.0",
85 “modelCustomizationName”: “vSAMP12 1”,
86 “modelCustomizationId”: “a7f1d08e-b02d-11e6-80f5-76304dec7eb7”
91 “requestParameters”: {
101 public class VfModuleInstantiationRequestDetails extends BaseResourceInstantiationRequestDetails {
103 public VfModuleInstantiationRequestDetails(
104 @JsonProperty(value = "modelInfo", required = true) ModelInfo modelInfo,
105 @JsonProperty(value = "cloudConfiguration", required = true) CloudConfiguration cloudConfiguration,
106 @JsonProperty(value = "requestInfo", required = true) RequestInfo requestInfo,
107 @JsonProperty(value = "relatedInstanceList", required = true) List<RelatedInstance> relatedInstanceList,
108 @JsonProperty(value = "requestParameters", required = true) RequestParametersVfModule requestParameters)
110 super(modelInfo, cloudConfiguration, requestInfo, relatedInstanceList, requestParameters);
113 public static class RequestParametersVfModule extends BaseResourceInstantiationRequestDetails.RequestParameters {
114 @JsonInclude(NON_NULL) private final Boolean usePreload;
116 public RequestParametersVfModule(List<? extends UserParamTypes> userParams, Boolean usePreload, String testApi) {
117 super(userParams, testApi);
118 this.usePreload = usePreload;
121 public Boolean isUsePreload() {
126 public static class UserParamMap<K,V> extends HashMap<K,V> implements UserParamTypes, Map<K,V> {
128 public UserParamMap() {