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.so.bpmn.servicedecomposition.bbobjects;
23 import java.io.Serializable;
24 import java.util.ArrayList;
25 import java.util.HashMap;
26 import java.util.List;
29 import javax.persistence.Id;
31 import org.apache.commons.lang3.builder.EqualsBuilder;
32 import org.apache.commons.lang3.builder.HashCodeBuilder;
33 import org.onap.so.bpmn.servicedecomposition.ShallowCopy;
34 import org.onap.so.bpmn.servicedecomposition.generalobjects.License;
35 import org.onap.so.bpmn.servicedecomposition.homingobjects.SolutionInfo;
36 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
37 import org.onap.so.db.catalog.beans.OrchestrationStatus;
39 import com.fasterxml.jackson.annotation.JsonProperty;
40 import com.fasterxml.jackson.annotation.JsonRootName;
42 @JsonRootName("generic-vnf")
43 public class GenericVnf implements Serializable, ShallowCopy<GenericVnf> {
45 private static final long serialVersionUID = -5107610336831330403L;
48 @JsonProperty("vnf-id")
50 @JsonProperty("vnf-name")
51 private String vnfName;
52 @JsonProperty("vnf-type")
53 private String vnfType;
54 @JsonProperty("orchestration-status")
55 private OrchestrationStatus orchestrationStatus;
56 @JsonProperty("vf-modules")
57 private List<VfModule> vfModules = new ArrayList<>();
58 @JsonProperty("volume-groups")
59 private List<VolumeGroup> volumeGroups = new ArrayList<>();
60 @JsonProperty("line-of-business")
61 private LineOfBusiness lineOfBusiness;
62 @JsonProperty("platform")
63 private Platform platform;
64 @JsonProperty("cascaded")
65 private Boolean cascaded;
66 @JsonProperty("cloud-params")
67 private Map<String, String> cloudParams = new HashMap<>();
68 @JsonProperty("cloud-context")
69 private CloudRegion cloudRegion;
70 @JsonProperty("solution")
71 private SolutionInfo solution;
72 @JsonProperty("vnf-name-2")
73 private String vnfName2;
74 @JsonProperty("service-id")
75 private String serviceId;
76 @JsonProperty("regional-resource-zone")
77 private String regionalResourceZone;
78 @JsonProperty("prov-status")
79 private String provStatus;
80 @JsonProperty("operational-status")
81 private String operationalStatus;
82 @JsonProperty("equipment-role")
83 private String equipmentRole;
84 @JsonProperty("management-option")
85 private String managementOption;
86 @JsonProperty("ipv4-oam-address")
87 private String ipv4OamAddress;
88 @JsonProperty("ipv4-loopback0-address")
89 private String ipv4Loopback0Address;
90 @JsonProperty("nm-lan-v6-address")
91 private String nmLanV6Address;
92 @JsonProperty("management-v6-address")
93 private String managementV6Address;
96 @JsonProperty("vcpu-units")
97 private String vcpuUnits;
98 @JsonProperty("vmemory")
100 @JsonProperty("vmemory-units")
101 private String vmemoryUnits;
102 @JsonProperty("vdisk")
104 @JsonProperty("vdisk-units")
105 private String vdiskUnits;
106 @JsonProperty("in-maint")
107 private Boolean inMaint;
108 @JsonProperty("is-closed-loop-disabled")
109 private Boolean isClosedLoopDisabled;
110 @JsonProperty("summary-status")
111 private String summaryStatus;
112 @JsonProperty("encrypted-access-flag")
113 private Boolean encryptedAccessFlag;
114 @JsonProperty("as-number")
115 private String asNumber;
116 @JsonProperty("regional-resource-subzone")
117 private String regionalResourceSubzone;
118 @JsonProperty("self-link")
119 private String selflink;
120 @JsonProperty("ipv4-oam-gateway-address")
121 private String ipv4OamGatewayAddress;
122 @JsonProperty("ipv4-oam-gateway-address-prefix-length")
123 private Integer ipv4OamGatewayAddressPrefixLength;
124 @JsonProperty("vlan-id-outer")
125 private Long vlanIdOuter;
126 @JsonProperty("nm-profile-name")
127 private String nmProfileName;
128 @JsonProperty("l-interfaces")
129 private List<LInterface> lInterfaces = new ArrayList<>();
130 @JsonProperty("lag-interfaces")
131 private List<LagInterface> lagInterfaces = new ArrayList<>();
132 @JsonProperty("license")
133 private License license;
134 @JsonProperty("entitlements") //TODO remove, duplicated
135 private List<Entitlement> entitlements = new ArrayList<>();
136 @JsonProperty("model-info-generic-vnf")
137 private ModelInfoGenericVnf modelInfoGenericVnf;
138 @JsonProperty("instance-groups")
139 private List<InstanceGroup> instanceGroups = new ArrayList<InstanceGroup>();
140 @JsonProperty("call-homing")
141 private Boolean callHoming;
142 @JsonProperty("nf-function")
143 private String nfFunction;
144 @JsonProperty("nf-role")
145 private String nfRole;
148 public String getNfFunction() {
152 public void setNfFunction(String nfFunction) {
153 this.nfFunction = nfFunction;
156 public String getNfRole() {
160 public void setNfRole(String nfRole) {
161 this.nfRole = nfRole;
164 public List<InstanceGroup> getInstanceGroups() {
165 return instanceGroups;
168 public List<VolumeGroup> getVolumeGroups() {
172 public ModelInfoGenericVnf getModelInfoGenericVnf() {
173 return modelInfoGenericVnf;
176 public void setModelInfoGenericVnf(ModelInfoGenericVnf modelInfoGenericVnf) {
177 this.modelInfoGenericVnf = modelInfoGenericVnf;
180 public String getVnfName2() {
184 public void setVnfName2(String vnfName2) {
185 this.vnfName2 = vnfName2;
188 public String getServiceId() {
192 public void setServiceId(String serviceId) {
193 this.serviceId = serviceId;
196 public String getRegionalResourceZone() {
197 return regionalResourceZone;
200 public void setRegionalResourceZone(String regionalResourceZone) {
201 this.regionalResourceZone = regionalResourceZone;
204 public String getProvStatus() {
208 public void setProvStatus(String provStatus) {
209 this.provStatus = provStatus;
212 public String getOperationalStatus() {
213 return operationalStatus;
216 public void setOperationalStatus(String operationalStatus) {
217 this.operationalStatus = operationalStatus;
220 public String getEquipmentRole() {
221 return equipmentRole;
224 public void setEquipmentRole(String equipmentRole) {
225 this.equipmentRole = equipmentRole;
228 public String getManagementOption() {
229 return managementOption;
232 public void setManagementOption(String managementOption) {
233 this.managementOption = managementOption;
236 public String getIpv4OamAddress() {
237 return ipv4OamAddress;
240 public void setIpv4OamAddress(String ipv4OamAddress) {
241 this.ipv4OamAddress = ipv4OamAddress;
244 public String getIpv4Loopback0Address() {
245 return ipv4Loopback0Address;
248 public void setIpv4Loopback0Address(String ipv4Loopback0Address) {
249 this.ipv4Loopback0Address = ipv4Loopback0Address;
252 public String getNmLanV6Address() {
253 return nmLanV6Address;
256 public void setNmLanV6Address(String nmLanV6Address) {
257 this.nmLanV6Address = nmLanV6Address;
260 public String getManagementV6Address() {
261 return managementV6Address;
264 public void setManagementV6Address(String managementV6Address) {
265 this.managementV6Address = managementV6Address;
268 public Long getVcpu() {
272 public void setVcpu(Long vcpu) {
276 public String getVcpuUnits() {
280 public void setVcpuUnits(String vcpuUnits) {
281 this.vcpuUnits = vcpuUnits;
284 public List<LInterface> getlInterfaces() {
288 public List<LagInterface> getLagInterfaces() {
289 return lagInterfaces;
292 public List<Entitlement> getEntitlements() {
296 public List<VfModule> getVfModules() {
300 public Long getVmemory() {
304 public void setVmemory(Long vmemory) {
305 this.vmemory = vmemory;
308 public String getVmemoryUnits() {
312 public void setVmemoryUnits(String vmemoryUnits) {
313 this.vmemoryUnits = vmemoryUnits;
316 public Long getVdisk() {
320 public void setVdisk(Long vdisk) {
324 public String getVdiskUnits() {
328 public void setVdiskUnits(String vdiskUnits) {
329 this.vdiskUnits = vdiskUnits;
332 public Boolean isInMaint() {
336 public void setInMaint(Boolean inMaint) {
337 this.inMaint = inMaint;
340 public Boolean isIsClosedLoopDisabled() {
341 return isClosedLoopDisabled;
344 public void setClosedLoopDisabled(Boolean isClosedLoopDisabled) {
345 this.isClosedLoopDisabled = isClosedLoopDisabled;
348 public String getSummaryStatus() {
349 return summaryStatus;
352 public void setSummaryStatus(String summaryStatus) {
353 this.summaryStatus = summaryStatus;
356 public Boolean getEncryptedAccessFlag() {
357 return encryptedAccessFlag;
360 public void setEncryptedAccessFlag(Boolean encryptedAccessFlag) {
361 this.encryptedAccessFlag = encryptedAccessFlag;
364 public String getAsNumber() {
368 public void setAsNumber(String asNumber) {
369 this.asNumber = asNumber;
372 public String getRegionalResourceSubzone() {
373 return regionalResourceSubzone;
376 public void setRegionalResourceSubzone(String regionalResourceSubzone) {
377 this.regionalResourceSubzone = regionalResourceSubzone;
380 public License getLicense() {
384 public void setLicense(License license) {
385 this.license = license;
388 public String getSelflink() {
392 public void setSelflink(String selflink) {
393 this.selflink = selflink;
396 public String getIpv4OamGatewayAddress() {
397 return ipv4OamGatewayAddress;
400 public void setIpv4OamGatewayAddress(String ipv4OamGatewayAddress) {
401 this.ipv4OamGatewayAddress = ipv4OamGatewayAddress;
404 public Integer getIpv4OamGatewayAddressPrefixLength() {
405 return ipv4OamGatewayAddressPrefixLength;
408 public void setIpv4OamGatewayAddressPrefixLength(Integer ipv4OamGatewayAddressPrefixLength) {
409 this.ipv4OamGatewayAddressPrefixLength = ipv4OamGatewayAddressPrefixLength;
412 public Long getVlanIdOuter() {
416 public void setVlanIdOuter(Long vlanIdOuter) {
417 this.vlanIdOuter = vlanIdOuter;
420 public String getNmProfileName() {
421 return nmProfileName;
424 public void setNmProfileName(String nmProfileName) {
425 this.nmProfileName = nmProfileName;
428 public String getVnfId() {
432 public void setVnfId(String vnfId) {
436 public String getVnfName() {
440 public void setVnfName(String vnfName) {
441 this.vnfName = vnfName;
444 public String getVnfType() {
448 public void setVnfType(String vnfType) {
449 this.vnfType = vnfType;
452 public OrchestrationStatus getOrchestrationStatus() {
453 return orchestrationStatus;
456 public void setOrchestrationStatus(OrchestrationStatus orchestrationStatus) {
457 this.orchestrationStatus = orchestrationStatus;
460 public LineOfBusiness getLineOfBusiness() {
461 return lineOfBusiness;
464 public void setLineOfBusiness(LineOfBusiness lineOfBusiness) {
465 this.lineOfBusiness = lineOfBusiness;
468 public Platform getPlatform() {
472 public void setPlatform(Platform platform) {
473 this.platform = platform;
476 public Boolean isCascaded() {
480 public void setCascaded(Boolean cascaded) {
481 this.cascaded = cascaded;
484 public Map<String, String> getCloudParams() {
488 public void setCloudParams(Map<String, String> cloudParams) {
489 this.cloudParams = cloudParams;
492 public SolutionInfo getSolution() {
496 public void setSolution(SolutionInfo solution) {
497 this.solution = solution;
500 public CloudRegion getCloudRegion() {
504 public void setCloudRegion(CloudRegion cloudRegion) {
505 this.cloudRegion = cloudRegion;
508 public Boolean isCallHoming() {
512 public void setCallHoming(Boolean callHoming) {
513 this.callHoming = callHoming;
517 public boolean equals(final Object other) {
518 if (!(other instanceof GenericVnf)) {
521 GenericVnf castOther = (GenericVnf) other;
522 return new EqualsBuilder().append(vnfId, castOther.vnfId).isEquals();
526 public int hashCode() {
527 return new HashCodeBuilder().append(vnfId).toHashCode();