2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 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.model.serviceInstantiation;
23 import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
25 import com.fasterxml.jackson.annotation.JsonAlias;
26 import com.fasterxml.jackson.annotation.JsonInclude;
27 import com.fasterxml.jackson.annotation.JsonProperty;
28 import java.util.Collection;
29 import java.util.Collections;
30 import java.util.List;
32 import javax.annotation.Nullable;
33 import org.onap.vid.job.JobAdapter;
34 import org.onap.vid.job.JobType;
35 import org.onap.vid.mso.model.ModelInfo;
36 import org.onap.vid.mso.model.ServiceInstantiationRequestDetails.UserParamNameAndValue;
41 @JsonInclude(NON_NULL)
42 public class VfModule extends BaseResource implements JobAdapter.AsyncJobRequest {
44 @JsonInclude(NON_NULL) @JsonProperty("volumeGroupName") private final String volumeGroupInstanceName;
45 @JsonInclude(NON_NULL) @JsonProperty("sdncPreLoad") private Boolean usePreload;
46 private List<UserParamNameAndValue> supplementaryParams;
48 @JsonInclude(NON_NULL)
49 private final Boolean retainVolumeGroups;
51 @JsonInclude(NON_NULL)
52 private Boolean retainAssignments;
54 public VfModule(@JsonProperty("modelInfo") ModelInfo modelInfo,
55 @JsonProperty("instanceName") String instanceName,
56 @JsonProperty("volumeGroupName") @JsonAlias("volumeGroupInstanceName") String volumeGroupInstanceName,
57 @JsonProperty("action") String action,
58 @JsonProperty("lcpCloudRegionId") String lcpCloudRegionId,
59 @JsonProperty("legacyRegion") String legacyRegion,
60 @JsonProperty("tenantId") String tenantId,
61 @JsonProperty("instanceParams") List<Map<String, String>> instanceParams,
62 @JsonProperty("supplementaryFileContent") List<UserParamNameAndValue> supplementaryParams,
63 @JsonProperty("rollbackOnFailure") boolean rollbackOnFailure,
64 @JsonProperty("sdncPreLoad") @JsonAlias("usePreload") Boolean usePreload,
65 @JsonProperty("instanceId") String instanceId,
66 @JsonProperty("trackById") String trackById,
67 @JsonProperty("isFailed") Boolean isFailed,
68 @JsonProperty("statusMessage") String statusMessage,
69 @Nullable @JsonProperty("retainAssignments") Boolean retainAssignments,
70 @Nullable @JsonProperty("retainVolumeGroups") Boolean retainVolumeGroups,
71 @JsonProperty("position") Integer position,
72 @JsonProperty("pauseInstantiation") PauseInstantiation pauseInstantiation,
73 @JsonProperty("originalName") String originalName) {
74 super(modelInfo, instanceName, action, lcpCloudRegionId, legacyRegion, tenantId, instanceParams, rollbackOnFailure, instanceId, trackById, isFailed, statusMessage,
75 position, pauseInstantiation, originalName);
76 this.volumeGroupInstanceName = volumeGroupInstanceName;
77 this.usePreload = usePreload;
78 this.supplementaryParams = supplementaryParams;
79 this.retainAssignments = retainAssignments;
80 this.retainVolumeGroups = retainVolumeGroups;
83 public String getVolumeGroupInstanceName() {
84 return volumeGroupInstanceName;
87 public Boolean isUsePreload() {
92 public List<UserParamNameAndValue> getSupplementaryParams() {
93 return supplementaryParams;
97 protected String getModelType() {
102 public Collection<BaseResource> getChildren() {
103 return Collections.emptyList();
107 public JobType getJobType() {
108 return JobType.VfmoduleInstantiation;
112 public Boolean isRetainAssignments() {
113 return retainAssignments;
117 public Boolean isRetainVolumeGroups() {
118 return retainVolumeGroups;
121 public VfModule cloneWith(ModelInfo modelInfo, boolean shouldRollbackOnFailure) {
124 this.getInstanceName(),
125 this.getVolumeGroupInstanceName(),
126 this.getAction().toString(),
127 this.getLcpCloudRegionId(),
128 this.getLcpCloudRegionId(),
130 this.getInstanceParams(),
131 this.getSupplementaryParams(),
132 shouldRollbackOnFailure,
134 this.getInstanceId(),
137 this.getStatusMessage(),
138 this.isRetainAssignments(),
139 this.isRetainVolumeGroups(),
141 this.getPauseInstantiation(),
142 this.getOriginalName()
146 public VfModule cloneWith(String lcpCloudRegionId, String tenantId) {
149 this.getInstanceName(),
150 this.getVolumeGroupInstanceName(),
151 this.getAction().toString(),
155 this.getInstanceParams(),
156 this.getSupplementaryParams(),
157 this.isRollbackOnFailure(),
159 this.getInstanceId(),
162 this.getStatusMessage(),
163 this.isRetainAssignments(),
164 this.isRetainVolumeGroups(),
166 this.getPauseInstantiation(),
167 this.getOriginalName()