/* Copyright (c) 2015 EMC Corporation * All Rights Reserved * */ package com.emc.storageos.cinder.model; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; /* You either get an attach volume request or a detach volume request */ import com.google.gson.annotations.SerializedName; @XmlRootElement public class VolumeActionRequest { @XmlElement(name = "os-initialize_connection") @SerializedName("os-initialize_connection") public AttachVolume attach = new AttachVolume(); @SerializedName("os-terminate_connection") @XmlElement(name = "os-terminate_connection") public DetachVolume detach = new DetachVolume(); @SerializedName("os-attach") @XmlElement(name = "os-attach") public AttachToInstance attachToInstance = new AttachToInstance(); @SerializedName("os-unreserve") @XmlElement(name = "os-unreserve") public UnReserveVolume unReserve = new UnReserveVolume(); @SerializedName("os-reserve") @XmlElement(name = "os-reserve") public ReserveVolume reserveVol = new ReserveVolume(); @SerializedName("os-detach") @XmlElement(name = "os-detach") public ReserveVolume tmp = new ReserveVolume(); @SerializedName("os-begin_detaching") @XmlElement(name = "os-begin_detaching") public ReserveVolume tmp1 = new ReserveVolume(); @SerializedName("os-set_bootable") @XmlElement(name = "os-set_bootable") public BootableVolume bootVol = new BootableVolume(); @XmlRootElement public class BootableVolume { public String bootable; } @SerializedName("os-update_readonly_flag") @XmlElement(name = "os-update_readonly_flag") public ReadOnlyVolume readonlyVol = new ReadOnlyVolume(); @XmlRootElement public class ReadOnlyVolume { public String readonly; } @SerializedName("os-extend") @XmlElement(name = "os-extend") public ExtendVolume extendVol = new ExtendVolume(); @XmlRootElement public class ExtendVolume { public Long new_size; } /* * @XmlElement(name="os-initialize_connection") * public AttachVolume getAttach() { * return attach; * } * * public void setAttach(AttachVolume attach) { * //this.attach = new AttachVolume(); * this.attach = attach; * } * * * public AttachToInstance getAttachToInstance() { * return attachToInstance; * } * * public void setAttachToInstance(AttachToInstance attach) { * //this.attachToInstance = new AttachToInstance(); * this.attachToInstance = attach; * } * * * public DetachVolume getDetach() { * return detach; * } * * public void setDetach(DetachVolume detach) { * //this.detach = new DetachVolume(); * this.detach = detach; * } * * * public UnReserveVolume getUnReserve() { * return unReserve; * } * * public void setUnReserve(UnReserveVolume unReserve) { * //this.unReserve = new UnReserveVolume(); * this.unReserve = unReserve; * this.unReserve.operation = "unreserve"; * } * * * public ReserveVolume getReserveVol() { * return reserveVol; * } * * public void setReserveVol(ReserveVolume reserveVol) { * //this.reserveVol = new ReserveVolume(); * this.reserveVol = reserveVol; * this.reserveVol.operation = "reserve"; * * } */ @XmlRootElement public class ReserveVolume { public String operation = null; } @XmlRootElement public class UnReserveVolume { public String operation = null; } @XmlRootElement public class AttachVolume { public Connector connector; // @XmlElement public Connector getConnector() { return connector; } public void setConnector(Connector connector) { this.connector = connector; } } @XmlRootElement public class DetachVolume { public Connector connector = new Connector(); } @XmlRootElement public class AttachToInstance { public String instance_uuid; public String mountpoint; public String mode; } /* * @Override * public String toString() { * StringBuilder builder = new StringBuilder(); * builder.append("Connector [attach="); * builder.append(attach.toString()); * builder.append(", reserve="); * builder.append(reserveVol.toString()); * builder.append("]"); * return builder.toString(); * } */ }