blob: 9ae58e42c17bebb2926619ad71885be045af8e14 [file] [log] [blame]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package org.apache.cloudstack.storage.datastore.adapter.primera;
import java.util.ArrayList;
import java.util.Date;
import org.apache.cloudstack.storage.datastore.adapter.ProviderSnapshot;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class PrimeraVolume implements ProviderSnapshot {
@JsonIgnore
private AddressType addressType = AddressType.FIBERWWN;
@JsonIgnore
private String connectionId;
@JsonIgnore
private Integer priority = 0;
private String physParentId = null;
private Integer parentId = null;
private String copyOf = null;
private Integer roChildId = null;
private Integer rwChildId = null;
private String snapCPG = null;
private Long total = null;
/**
* Actions are enumerated and listed at
* https://support.hpe.com/hpesc/public/docDisplay?docId=a00118636en_us&page=v25706371.html
*/
private Integer action = null;
private String comment = null;
private Integer id = null;
private String name = null;
private Integer deduplicationState = null;
private Integer compressionState = null;
private Integer provisioningType = null;
private Integer copyType = null;
private Integer baseId = null;
private Boolean readOnly = null;
private Integer state = null;
private ArrayList<Object> failedStates = null;
private ArrayList<Object> degradedStates = null;
private ArrayList<Object> additionalStates = null;
private PrimeraVolumeAdminSpace adminSpace = null;
private PrimeraVolumeSnapshotSpace snapshotSpace = null;
private PrimeraVolumeUserSpace userSpace = null;
private Integer totalReservedMiB = null;
private Integer totalUsedMiB = null;
private Integer sizeMiB = null;
private Integer hostWriteMiB = null;
private String wwn = null;
private Integer creationTimeSec = null;
private Date creationTime8601 = null;
private Integer ssSpcAllocWarningPct;
private Integer ssSpcAllocLimitPct = null;
private Integer usrSpcAllocWarningPct = null;
private Integer usrSpcAllocLimitPct = null;
private PrimeraVolumePolicies policies = null;
private String userCPG = null;
private String uuid = null;
private Integer sharedParentId = null;
private Integer udid = null;
private PrimeraVolumeCapacityEfficiency capacityEfficiency = null;
private Integer rcopyStatus = null;
private ArrayList<PrimeraVolumeLink> links = null;
public String getPhysParentId() {
return physParentId;
}
public void setPhysParentId(String physParentId) {
this.physParentId = physParentId;
}
public Integer getParentId() {
return parentId;
}
public void setParentId(Integer parentId) {
this.parentId = parentId;
}
public String getCopyOf() {
return copyOf;
}
public void setCopyOf(String copyOf) {
this.copyOf = copyOf;
}
public Integer getRoChildId() {
return roChildId;
}
public void setRoChildId(Integer roChildId) {
this.roChildId = roChildId;
}
public Integer getRwChildId() {
return rwChildId;
}
public void setRwChildId(Integer rwChildId) {
this.rwChildId = rwChildId;
}
public String getSnapCPG() {
return snapCPG;
}
public void setSnapCPG(String snapCPG) {
this.snapCPG = snapCPG;
}
public Long getTotal() {
return total;
}
public void setTotal(Long total) {
this.total = total;
}
public Integer getAction() {
return action;
}
public void setAction(Integer action) {
this.action = action;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getDeduplicationState() {
return deduplicationState;
}
public void setDeduplicationState(Integer deduplicationState) {
this.deduplicationState = deduplicationState;
}
public Integer getCompressionState() {
return compressionState;
}
public void setCompressionState(Integer compressionState) {
this.compressionState = compressionState;
}
public Integer getProvisioningType() {
return provisioningType;
}
public void setProvisioningType(Integer provisioningType) {
this.provisioningType = provisioningType;
}
public Integer getCopyType() {
return copyType;
}
public void setCopyType(Integer copyType) {
this.copyType = copyType;
}
public Integer getBaseId() {
return baseId;
}
public void setBaseId(Integer baseId) {
this.baseId = baseId;
}
public Boolean getReadOnly() {
return readOnly;
}
public void setReadOnly(Boolean readOnly) {
this.readOnly = readOnly;
}
public String getState() {
if (state != null) {
return state.toString();
}
return null;
}
public void setState(Integer state) {
this.state = state;
}
public ArrayList<Object> getFailedStates() {
return failedStates;
}
public void setFailedStates(ArrayList<Object> failedStates) {
this.failedStates = failedStates;
}
public ArrayList<Object> getDegradedStates() {
return degradedStates;
}
public void setDegradedStates(ArrayList<Object> degradedStates) {
this.degradedStates = degradedStates;
}
public ArrayList<Object> getAdditionalStates() {
return additionalStates;
}
public void setAdditionalStates(ArrayList<Object> additionalStates) {
this.additionalStates = additionalStates;
}
public PrimeraVolumeAdminSpace getAdminSpace() {
return adminSpace;
}
public void setAdminSpace(PrimeraVolumeAdminSpace adminSpace) {
this.adminSpace = adminSpace;
}
public PrimeraVolumeSnapshotSpace getSnapshotSpace() {
return snapshotSpace;
}
public void setSnapshotSpace(PrimeraVolumeSnapshotSpace snapshotSpace) {
this.snapshotSpace = snapshotSpace;
}
public PrimeraVolumeUserSpace getUserSpace() {
return userSpace;
}
public void setUserSpace(PrimeraVolumeUserSpace userSpace) {
this.userSpace = userSpace;
}
public Integer getTotalReservedMiB() {
return totalReservedMiB;
}
public void setTotalReservedMiB(Integer totalReservedMiB) {
this.totalReservedMiB = totalReservedMiB;
}
public Integer getTotalUsedMiB() {
return totalUsedMiB;
}
public void setTotalUsedMiB(Integer totalUsedMiB) {
this.totalUsedMiB = totalUsedMiB;
}
public Integer getSizeMiB() {
return sizeMiB;
}
public void setSizeMiB(Integer sizeMiB) {
this.sizeMiB = sizeMiB;
}
public Integer getHostWriteMiB() {
return hostWriteMiB;
}
public void setHostWriteMiB(Integer hostWriteMiB) {
this.hostWriteMiB = hostWriteMiB;
}
public String getWwn() {
return wwn;
}
public void setWwn(String wwn) {
this.wwn = wwn;
}
public Integer getCreationTimeSec() {
return creationTimeSec;
}
public void setCreationTimeSec(Integer creationTimeSec) {
this.creationTimeSec = creationTimeSec;
}
public Date getCreationTime8601() {
return creationTime8601;
}
public void setCreationTime8601(Date creationTime8601) {
this.creationTime8601 = creationTime8601;
}
public Integer getSsSpcAllocWarningPct() {
return ssSpcAllocWarningPct;
}
public void setSsSpcAllocWarningPct(Integer ssSpcAllocWarningPct) {
this.ssSpcAllocWarningPct = ssSpcAllocWarningPct;
}
public Integer getSsSpcAllocLimitPct() {
return ssSpcAllocLimitPct;
}
public void setSsSpcAllocLimitPct(Integer ssSpcAllocLimitPct) {
this.ssSpcAllocLimitPct = ssSpcAllocLimitPct;
}
public Integer getUsrSpcAllocWarningPct() {
return usrSpcAllocWarningPct;
}
public void setUsrSpcAllocWarningPct(Integer usrSpcAllocWarningPct) {
this.usrSpcAllocWarningPct = usrSpcAllocWarningPct;
}
public Integer getUsrSpcAllocLimitPct() {
return usrSpcAllocLimitPct;
}
public void setUsrSpcAllocLimitPct(Integer usrSpcAllocLimitPct) {
this.usrSpcAllocLimitPct = usrSpcAllocLimitPct;
}
public PrimeraVolumePolicies getPolicies() {
return policies;
}
public void setPolicies(PrimeraVolumePolicies policies) {
this.policies = policies;
}
public String getUserCPG() {
return userCPG;
}
public void setUserCPG(String userCPG) {
this.userCPG = userCPG;
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public Integer getSharedParentId() {
return sharedParentId;
}
public void setSharedParentId(Integer sharedParentId) {
this.sharedParentId = sharedParentId;
}
public Integer getUdid() {
return udid;
}
public void setUdid(Integer udid) {
this.udid = udid;
}
public PrimeraVolumeCapacityEfficiency getCapacityEfficiency() {
return capacityEfficiency;
}
public void setCapacityEfficiency(PrimeraVolumeCapacityEfficiency capacityEfficiency) {
this.capacityEfficiency = capacityEfficiency;
}
public Integer getRcopyStatus() {
return rcopyStatus;
}
public void setRcopyStatus(Integer rcopyStatus) {
this.rcopyStatus = rcopyStatus;
}
public ArrayList<PrimeraVolumeLink> getLinks() {
return links;
}
public void setLinks(ArrayList<PrimeraVolumeLink> links) {
this.links = links;
}
@Override
@JsonIgnore
public Boolean isDestroyed() {
return false;
}
@Override
public void setId(String id) {
this.id = Integer.parseInt(id);
}
public String getId() {
if (id != null) {
return Integer.toString(id);
}
return null;
}
@Override
public Integer getPriority() {
return priority;
}
@Override
public void setPriority(Integer priority) {
this.priority = priority;
}
@Override
public AddressType getAddressType() {
return addressType;
}
@Override
public void setAddressType(AddressType addressType) {
this.addressType = addressType;
}
@Override
public String getAddress() {
return this.wwn;
}
@Override
@JsonIgnore
public Long getAllocatedSizeInBytes() {
if (this.getSizeMiB() != null) {
return this.getSizeMiB() * PrimeraAdapter.BYTES_IN_MiB;
}
return 0L;
}
@Override
@JsonIgnore
public Long getUsedBytes() {
if (this.getTotalReservedMiB() != null) {
return this.getTotalReservedMiB() * PrimeraAdapter.BYTES_IN_MiB;
}
return 0L;
}
@Override
@JsonIgnore
public String getExternalUuid() {
return uuid;
}
public void setExternalUuid(String uuid) {
this.uuid = uuid;
}
@Override
@JsonIgnore
public String getExternalName() {
return name;
}
public void setExternalName(String name) {
this.name = name;
}
@Override
@JsonIgnore
public String getExternalConnectionId() {
return connectionId;
}
public void setExternalConnection(String connectionId) {
this.connectionId = connectionId;
}
@Override
@JsonIgnore
public Boolean canAttachDirectly() {
return true;
}
}