/*
* Copyright (c) 2012 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.vasa.data.internal;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "volume")
public class Volume {
public Volume() {
}
public Volume(String id) {
this.id = id;
}
@XmlElement
private String id;
@XmlElement
private String name;
@XmlElement
private boolean inactive;
@XmlElement(name = "thinly_provisioned")
private boolean thinlyProvisioned;
@XmlElement(name = "protocols")
private Protocol protocols;
@XmlElement(name = "storage_controller")
private String storageController;
@XmlElement(name = "provisioned_capacity_gb")
private double provisionedCapacityInGB;
@XmlElement(name = "requested_capacity_gb")
private double requestedCapacityInGB;
@XmlElement(name = "allocated_capacity_gb")
private double allocatedCapacityInGB;
@XmlElement(name = "vpool")
private AssociatedCoS cos;
@XmlElement(name = "wwn")
private String _WWN;
private Itls exports;
private AssociatedPool associatedPool;
@XmlElement(name = "high_availability_backing_volumes")
private HighAvailabilityVolumes haVolumes;
public Itls getExports() {
return exports;
}
public void setExports(Itls exports) {
this.exports = exports;
}
public double getProvisionedCapacityInGB() {
return provisionedCapacityInGB;
}
public boolean isThinlyProvisioned() {
return thinlyProvisioned;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public boolean isInactive() {
return inactive;
}
public Protocol getProtocols() {
return protocols;
}
public String getStorageController() {
return storageController;
}
public double getAllocatedCapacityInGB() {
return allocatedCapacityInGB;
}
public AssociatedCoS getCos() {
return cos;
}
public String getWWN() {
return _WWN;
}
public double getRequestedCapacityInGB() {
return requestedCapacityInGB;
}
public HighAvailabilityVolumes getHaVolumeList() {
return haVolumes;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Volume [id=");
builder.append(id);
builder.append(", name=");
builder.append(name);
builder.append(", inactive=");
builder.append(inactive);
builder.append(", thinlyProvisioned=");
builder.append(thinlyProvisioned);
builder.append(", protocols=");
builder.append(protocols);
builder.append(", storageController=");
builder.append(storageController);
builder.append(", provisionedCapacityInGB=");
builder.append(provisionedCapacityInGB);
builder.append(", requestedCapacityInGB=");
builder.append(requestedCapacityInGB);
builder.append(", allocatedCapacity=");
builder.append(allocatedCapacityInGB);
builder.append(", cos=");
builder.append(cos);
builder.append(", WWN=");
builder.append(_WWN);
builder.append(", exports=");
builder.append(exports);
builder.append(", associatedPool=");
builder.append(associatedPool);
builder.append(", HAVolumes=");
builder.append(haVolumes);
builder.append("]");
return builder.toString();
}
@XmlRootElement(name = "high_availability_backing_volumes")
public static class HighAvailabilityVolumes {
@XmlElement(name = "high_availability_backing_volume")
private List<HighAvailabilityVolume> haVolumeList;
public List<HighAvailabilityVolume> getHaVolumeList() {
return haVolumeList;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("HighAvailabilityVolumes [" + haVolumeList + "]");
return builder.toString();
}
}
@XmlRootElement(name = "high_availability_backing_volume")
public static class HighAvailabilityVolume {
@XmlElement(name = "id")
private String id;
@XmlElement(name = "link")
private Link link;
public String getId() {
return id;
}
public Link getLink() {
return link;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("HighAvailabilityVolume [id=");
builder.append(id);
builder.append(", link=");
builder.append(link);
builder.append("]");
return builder.toString();
}
}
@XmlRootElement(name = "related_storage_pool")
public static class AssociatedPool {
@XmlElement(name = "storage_pool")
private Pool storagepool;
public Pool getStoragepool() {
return storagepool;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("AssociatedPool [storagepool=");
builder.append(storagepool);
builder.append("]");
return builder.toString();
}
@XmlRootElement(name = "storage_pool")
public static class Pool {
@XmlElement(name = "id")
private String id;
@XmlElement(name = "name")
private String name;
@XmlElement(name = "link")
private Link link;
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Pool [id=");
builder.append(id);
builder.append(", name=");
builder.append(name);
builder.append(", link=");
builder.append(link);
builder.append("]");
return builder.toString();
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public Link getLink() {
return link;
}
}
}
@XmlRootElement(name = "itls")
public static class Itls {
@XmlElement(name = "itl")
private List<Itl> itls;
public List<Itl> getItls() {
return itls;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Itls [itls=");
builder.append(itls);
builder.append("]");
return builder.toString();
}
@XmlRootElement(name = "itl")
public static class Itl {
@XmlElement
private String hlu;
@XmlElement(name = "device")
private Device device;
@XmlElement(name = "initiator")
private Initiator initiator;
@XmlElement(name = "target")
private Target target;
public Target getTarget() {
return target;
}
public String getHlu() {
return hlu;
}
public Device getDevice() {
return device;
}
public Initiator getInitiator() {
return initiator;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Itl [hlu=");
builder.append(hlu);
builder.append(", device=");
builder.append(device);
builder.append(", initiator=");
builder.append(initiator);
builder.append(", target=");
builder.append(target);
builder.append("]");
return builder.toString();
}
@XmlRootElement(name = "device")
public static class Device {
@XmlElement(name = "id")
private String id;
@XmlElement(name = "wwn")
private String wwn;
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Device [id=");
builder.append(id);
builder.append(", wwn=");
builder.append(wwn);
builder.append("]");
return builder.toString();
}
public String getId() {
return id;
}
public String getWwn() {
return wwn;
}
}
@XmlRootElement(name = "initiator")
public static class Initiator {
@XmlElement(name = "id")
private String id;
@XmlElement(name = "port")
private String port;
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Initiator [id=");
builder.append(id);
builder.append(", port=");
builder.append(port);
builder.append("]");
return builder.toString();
}
public String getId() {
return id;
}
public String getPort() {
return port;
}
}
@XmlRootElement(name = "target")
public static class Target {
@XmlElement(name = "id")
private String id;
@XmlElement(name = "port")
private String port;
@XmlElement(name = "link")
private Link link;
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Target [id=");
builder.append(id);
builder.append(", port=");
builder.append(port);
builder.append(", link=");
builder.append(link);
builder.append("]");
return builder.toString();
}
public String getId() {
return id;
}
public String getPort() {
return port;
}
public Link getLink() {
return link;
}
}
}
}
}