package org.zstack.kvm;
import org.zstack.core.validation.ConditionalValidation;
import org.zstack.header.core.ApiTimeout;
import org.zstack.header.core.validation.Validation;
import org.zstack.header.storage.snapshot.APIDeleteVolumeSnapshotMsg;
import org.zstack.header.vm.APICreateVmInstanceMsg;
import org.zstack.header.vm.VmBootDevice;
import org.zstack.header.volume.APICreateVolumeSnapshotMsg;
import org.zstack.network.securitygroup.SecurityGroupRuleTO;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class KVMAgentCommands {
public enum BootDev {
hd(VmBootDevice.HardDisk),
cdrom(VmBootDevice.CdRom);
private VmBootDevice device;
BootDev(VmBootDevice dev) {
device = dev;
}
public VmBootDevice toVmBootDevice() {
return device;
}
}
public static class AgentResponse implements ConditionalValidation {
private boolean success = true;
private String error;
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getError() {
return error;
}
public void setError(String error) {
this.error = error;
}
@Override
public boolean needValidation() {
return success;
}
}
public static class AgentCommand {
}
public static class CheckVmStateCmd extends AgentCommand {
public List<String> vmUuids;
public String hostUuid;
}
public static class CheckVmStateRsp extends AgentResponse {
public Map<String, String> states;
}
public static class DetachNicCommand extends AgentCommand {
private String vmUuid;
private NicTO nic;
public String getVmUuid() {
return vmUuid;
}
public void setVmUuid(String vmUuid) {
this.vmUuid = vmUuid;
}
public NicTO getNic() {
return nic;
}
public void setNic(NicTO nic) {
this.nic = nic;
}
}
public static class DetachNicRsp extends AgentResponse {
}
public static class AttachNicCommand extends AgentCommand {
private String vmUuid;
private NicTO nic;
private Map addons = new HashMap();
public Map getAddons() {
return addons;
}
public void setAddons(Map addons) {
this.addons = addons;
}
public String getVmUuid() {
return vmUuid;
}
public void setVmUuid(String vmUuid) {
this.vmUuid = vmUuid;
}
public NicTO getNic() {
return nic;
}
public void setNic(NicTO nic) {
this.nic = nic;
}
}
public static class AttachNicResponse extends AgentResponse {
}
public static class ConnectCmd extends AgentCommand {
private String hostUuid;
private String sendCommandUrl;
private List<String> iptablesRules;
public List<String> getIptablesRules() {
return iptablesRules;
}
public void setIptablesRules(List<String> iptablesRules) {
this.iptablesRules = iptablesRules;
}
public String getSendCommandUrl() {
return sendCommandUrl;
}
public void setSendCommandUrl(String sendCommandUrl) {
this.sendCommandUrl = sendCommandUrl;
}
public String getHostUuid() {
return hostUuid;
}
public void setHostUuid(String hostUuid) {
this.hostUuid = hostUuid;
}
}
public static class ConnectResponse extends AgentResponse {
private String libvirtVersion;
private String qemuVersion;
public boolean isIptablesSucc() {
return iptablesSucc;
}
public void setIptablesSucc(boolean iptablesSucc) {
this.iptablesSucc = iptablesSucc;
}
boolean iptablesSucc;
public String getLibvirtVersion() {
return libvirtVersion;
}
public void setLibvirtVersion(String libvirtVersion) {
this.libvirtVersion = libvirtVersion;
}
public String getQemuVersion() {
return qemuVersion;
}
public void setQemuVersion(String qemuVersion) {
this.qemuVersion = qemuVersion;
}
}
public static class PingCmd extends AgentCommand {
public String hostUuid;
}
public static class PingResponse extends AgentResponse {
private String hostUuid;
public String getHostUuid() {
return hostUuid;
}
public void setHostUuid(String hostUuid) {
this.hostUuid = hostUuid;
}
}
public static class CheckPhysicalNetworkInterfaceCmd extends AgentCommand {
private List<String> interfaceNames = new ArrayList<>(2);
public CheckPhysicalNetworkInterfaceCmd addInterfaceName(String name) {
interfaceNames.add(name);
return this;
}
public List<String> getInterfaceNames() {
return interfaceNames;
}
public void setInterfaceNames(List<String> interfaceNames) {
this.interfaceNames = interfaceNames;
}
}
public static class CheckPhysicalNetworkInterfaceResponse extends AgentResponse {
private List<String> failedInterfaceNames;
public List<String> getFailedInterfaceNames() {
if (failedInterfaceNames == null) {
failedInterfaceNames = new ArrayList<String>(0);
}
return failedInterfaceNames;
}
public void setFailedInterfaceNames(List<String> failedInterfaceNames) {
this.failedInterfaceNames = failedInterfaceNames;
}
}
public static class HostFactCmd extends AgentCommand {
}
public static class HostFactResponse extends AgentResponse {
private String qemuImgVersion;
private String libvirtVersion;
private String hvmCpuFlag;
public String getHvmCpuFlag() {
return hvmCpuFlag;
}
public void setHvmCpuFlag(String hvmCpuFlag) {
this.hvmCpuFlag = hvmCpuFlag;
}
public String getLibvirtVersion() {
return libvirtVersion;
}
public void setLibvirtVersion(String libvirtVersion) {
this.libvirtVersion = libvirtVersion;
}
public String getQemuImgVersion() {
return qemuImgVersion;
}
public void setQemuImgVersion(String qemuImgVersion) {
this.qemuImgVersion = qemuImgVersion;
}
}
public static class HostCapacityCmd extends AgentCommand {
}
public static class HostCapacityResponse extends AgentResponse {
private long cpuNum;
private long cpuSpeed;
private long usedCpu;
private long totalMemory;
private long usedMemory;
private int cpuSockets;
public int getCpuSockets() {
return cpuSockets;
}
public void setCpuSockets(int cpuSockets) {
this.cpuSockets = cpuSockets;
}
public long getCpuNum() {
return cpuNum;
}
public void setCpuNum(long cpuNum) {
this.cpuNum = cpuNum;
}
public long getCpuSpeed() {
return cpuSpeed;
}
public void setCpuSpeed(long cpuSpeed) {
this.cpuSpeed = cpuSpeed;
}
public long getUsedCpu() {
return usedCpu;
}
public void setUsedCpu(long usedCpu) {
this.usedCpu = usedCpu;
}
public long getTotalMemory() {
return totalMemory;
}
public void setTotalMemory(long totalMemory) {
this.totalMemory = totalMemory;
}
public long getUsedMemory() {
return usedMemory;
}
public void setUsedMemory(long usedMemory) {
this.usedMemory = usedMemory;
}
}
public static class CreateBridgeCmd extends AgentCommand {
private String physicalInterfaceName;
private String bridgeName;
public String getPhysicalInterfaceName() {
return physicalInterfaceName;
}
public void setPhysicalInterfaceName(String physicalInterfaceName) {
this.physicalInterfaceName = physicalInterfaceName;
}
public String getBridgeName() {
return bridgeName;
}
public void setBridgeName(String bridgeName) {
this.bridgeName = bridgeName;
}
}
public static class CreateBridgeResponse extends AgentResponse {
}
public static class CheckBridgeCmd extends AgentCommand {
private String physicalInterfaceName;
private String bridgeName;
public String getPhysicalInterfaceName() {
return physicalInterfaceName;
}
public void setPhysicalInterfaceName(String physicalInterfaceName) {
this.physicalInterfaceName = physicalInterfaceName;
}
public String getBridgeName() {
return bridgeName;
}
public void setBridgeName(String bridgeName) {
this.bridgeName = bridgeName;
}
}
public static class CheckBridgeResponse extends AgentResponse {
}
public static class CheckVlanBridgeCmd extends CheckBridgeCmd {
private int vlan;
public int getVlan() {
return vlan;
}
public void setVlan(int vlan) {
this.vlan = vlan;
}
}
public static class CheckVlanBridgeResponse extends CheckBridgeResponse {
}
public static class CreateVlanBridgeCmd extends CreateBridgeCmd {
private int vlan;
public int getVlan() {
return vlan;
}
public void setVlan(int vlan) {
this.vlan = vlan;
}
}
public static class CreateVlanBridgeResponse extends CreateBridgeResponse {
}
public static class NicTO {
private String mac;
private String ip;
private String bridgeName;
private String uuid;
private String nicInternalName;
private int deviceId;
private String metaData;
private Boolean useVirtio;
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public Boolean getUseVirtio() {
return useVirtio;
}
public void setUseVirtio(Boolean useVirtio) {
this.useVirtio = useVirtio;
}
public String getMac() {
return mac;
}
public void setMac(String mac) {
this.mac = mac;
}
public String getBridgeName() {
return bridgeName;
}
public void setBridgeName(String bridgeName) {
this.bridgeName = bridgeName;
}
public int getDeviceId() {
return deviceId;
}
public void setDeviceId(int deviceId) {
this.deviceId = deviceId;
}
public String getMetaData() {
return metaData;
}
public void setMetaData(String metaData) {
this.metaData = metaData;
}
public String getNicInternalName() {
return nicInternalName;
}
public void setNicInternalName(String nicInternalName) {
this.nicInternalName = nicInternalName;
}
}
public static class VolumeTO {
public static final String FILE = "file";
public static final String ISCSI = "iscsi";
public static final String CEPH = "ceph";
public static final String FUSIONSTOR = "fusionstor";
private String installPath;
private int deviceId;
private String deviceType = FILE;
private String volumeUuid;
private boolean useVirtio;
private boolean useVirtioSCSI;
private boolean shareable;
private String cacheMode = "none";
private String wwn;
public VolumeTO() {
}
public VolumeTO(VolumeTO other) {
this.installPath = other.installPath;
this.deviceId = other.deviceId;
this.deviceType = other.deviceType;
this.volumeUuid = other.volumeUuid;
this.useVirtio = other.useVirtio;
this.useVirtioSCSI = other.useVirtioSCSI;
this.cacheMode = other.cacheMode;
this.wwn = other.wwn;
this.shareable = other.shareable;
}
public boolean isShareable() {
return shareable;
}
public void setShareable(boolean shareable) {
this.shareable = shareable;
}
public String getWwn() {
return wwn;
}
public void setWwn(String wwn) {
this.wwn = wwn;
}
public boolean isUseVirtioSCSI() {
return useVirtioSCSI;
}
public void setUseVirtioSCSI(boolean useVirtioSCSI) {
this.useVirtioSCSI = useVirtioSCSI;
}
public boolean isUseVirtio() {
return useVirtio;
}
public void setUseVirtio(boolean useVirtio) {
this.useVirtio = useVirtio;
}
public String getVolumeUuid() {
return volumeUuid;
}
public void setVolumeUuid(String volumeUuid) {
this.volumeUuid = volumeUuid;
}
public String getDeviceType() {
return deviceType;
}
public void setDeviceType(String deviceType) {
this.deviceType = deviceType;
}
public String getInstallPath() {
return installPath;
}
public void setInstallPath(String installPath) {
this.installPath = installPath;
}
public int getDeviceId() {
return deviceId;
}
public void setDeviceId(int deviceId) {
this.deviceId = deviceId;
}
public String getCacheMode() {
return cacheMode;
}
public void setCacheMode(String cacheMode) {
this.cacheMode = cacheMode;
}
}
public static class DetachDataVolumeCmd extends AgentCommand {
private VolumeTO volume;
private String vmInstanceUuid;
public VolumeTO getVolume() {
return volume;
}
public void setVolume(VolumeTO volume) {
this.volume = volume;
}
public String getVmUuid() {
return vmInstanceUuid;
}
public void setVmUuid(String vmInstanceUuid) {
this.vmInstanceUuid = vmInstanceUuid;
}
}
public static class DetachDataVolumeResponse extends AgentResponse {
}
public static class AttachDataVolumeCmd extends AgentCommand {
private VolumeTO volume;
private String vmInstanceUuid;
private Map<String, Object> addons;
public Map<String, Object> getAddons() {
if (addons == null) {
addons = new HashMap<>();
}
return addons;
}
public void setAddons(Map<String, Object> addons) {
this.addons = addons;
}
public VolumeTO getVolume() {
return volume;
}
public void setVolume(VolumeTO volume) {
this.volume = volume;
}
public String getVmUuid() {
return vmInstanceUuid;
}
public void setVmUuid(String vmInstanceUuid) {
this.vmInstanceUuid = vmInstanceUuid;
}
}
public static class AttachDataVolumeResponse extends AgentResponse {
}
public static class IsoTO {
private String path;
private String imageUuid;
public IsoTO() {
}
public IsoTO(IsoTO other) {
this.path = other.path;
this.imageUuid = other.imageUuid;
}
public String getImageUuid() {
return imageUuid;
}
public void setImageUuid(String imageUuid) {
this.imageUuid = imageUuid;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
}
public static class HardenVmConsoleCmd extends AgentCommand {
public String vmUuid;
public Long vmInternalId;
public String hostManagementIp;
}
public static class DeleteVmConsoleFirewallCmd extends AgentCommand {
public String vmUuid;
public Long vmInternalId;
public String hostManagementIp;
}
@ApiTimeout(apiClasses = {APICreateVmInstanceMsg.class})
public static class StartVmCmd extends AgentCommand {
private String vmInstanceUuid;
private long vmInternalId;
private String vmName;
private long memory;
private long maxMemory;
private int cpuNum;
private long cpuSpeed;
private int socketNum;
private int cpuOnSocket;
private String consolePassword;
private List<String> bootDev;
private VolumeTO rootVolume;
private IsoTO bootIso;
private List<VolumeTO> dataVolumes;
private List<NicTO> nics;
private long timeout;
private Map<String, Object> addons;
private boolean useVirtio;
private String consoleMode;
private boolean instanceOfferingOnlineChange;
private String nestedVirtualization;
private String hostManagementIp;
private String clock;
private String videoType;
private boolean useNuma;
public boolean isUseNuma() {
return useNuma;
}
public void setUseNuma(boolean useNuma) {
this.useNuma = useNuma;
}
public long getMaxMemory() {
return maxMemory;
}
public void setMaxMemory(long maxMemory) {
this.maxMemory = maxMemory;
}
public String getVideoType() {
return videoType;
}
public void setVideoType(String videoType) {
this.videoType = videoType;
}
public String getClock() {
return clock;
}
public void setClock(String clock) {
this.clock = clock;
}
public int getSocketNum() {
return socketNum;
}
public void setSocketNum(int socketNum) {
this.socketNum = socketNum;
}
public int getCpuOnSocket() {
return cpuOnSocket;
}
public void setCpuOnSocket(int cpuOnSocket) {
this.cpuOnSocket = cpuOnSocket;
}
public String getVmName() {
return vmName;
}
public void setVmName(String vmName) {
this.vmName = vmName;
}
public long getMemory() {
return memory;
}
public void setMemory(long memory) {
this.memory = memory;
}
public int getCpuNum() {
return cpuNum;
}
public void setCpuNum(int cpuNum) {
this.cpuNum = cpuNum;
}
public long getCpuSpeed() {
return cpuSpeed;
}
public void setCpuSpeed(long cpuSpeed) {
this.cpuSpeed = cpuSpeed;
}
public List<String> getBootDev() {
return bootDev;
}
public void setBootDev(List<String> bootDev) {
this.bootDev = bootDev;
}
public String getConsolePassword() {
return consolePassword;
}
public void setConsolePassword(String consolePassword) {
this.consolePassword = consolePassword;
}
public boolean getInstanceOfferingOnlineChange() {
return instanceOfferingOnlineChange;
}
public void setInstanceOfferingOnlineChange(boolean instanceOfferingOnlineChange) {
this.instanceOfferingOnlineChange = instanceOfferingOnlineChange;
}
public IsoTO getBootIso() {
return bootIso;
}
public void setBootIso(IsoTO bootIso) {
this.bootIso = bootIso;
}
public boolean isUseVirtio() {
return useVirtio;
}
public void setUseVirtio(boolean useVirtio) {
this.useVirtio = useVirtio;
}
public String getConsoleMode() {
return consoleMode;
}
public void setConsoleMode(String consoleMode) {
this.consoleMode = consoleMode;
}
public String getNestedVirtualization() {
return nestedVirtualization;
}
public void setNestedVirtualization(String nestedVirtualization) {
this.nestedVirtualization = nestedVirtualization;
}
public String getHostManagementIp() {
return hostManagementIp;
}
public void setHostManagementIp(String hostManagementIp) {
this.hostManagementIp = hostManagementIp;
}
public VolumeTO getRootVolume() {
return rootVolume;
}
public void setRootVolume(VolumeTO rootVolume) {
this.rootVolume = rootVolume;
}
public List<VolumeTO> getDataVolumes() {
return dataVolumes;
}
public void setDataVolumes(List<VolumeTO> dataVolumes) {
this.dataVolumes = dataVolumes;
}
public List<NicTO> getNics() {
return nics;
}
public void setNics(List<NicTO> nics) {
this.nics = nics;
}
public long getTimeout() {
return timeout;
}
public void setTimeout(long timeout) {
this.timeout = timeout;
}
public String getVmInstanceUuid() {
return vmInstanceUuid;
}
public void setVmInstanceUuid(String vmInstanceUuid) {
this.vmInstanceUuid = vmInstanceUuid;
}
public long getVmInternalId() {
return vmInternalId;
}
public void setVmInternalId(long vmInternalId) {
this.vmInternalId = vmInternalId;
}
public Map<String, Object> getAddons() {
if (addons == null) {
addons = new HashMap<>();
}
return addons;
}
public void setAddons(Map<String, Object> addons) {
this.addons = addons;
}
}
public static class StartVmResponse extends AgentResponse {
}
public static class ChangeCpuMemoryCmd extends AgentCommand{
private String vmUuid;
private int cpuNum;
private long memorySize;
public void setVmUuid(String vmUuid) {
this.vmUuid = vmUuid;
}
public String getVmUuid() {
return vmUuid;
}
public void setCpuNum(int cpuNum) {
this.cpuNum = cpuNum;
}
public int getCpuNum() {
return cpuNum;
}
public void setMemorySize(long memorySize) {
this.memorySize = memorySize;
}
public long getMemorySize() {
return memorySize;
}
}
public static class ChangeCpuMemoryResponse extends AgentResponse{
private int cpuNum;
private long memorySize;
public void setCpuNum(int cpuNum) {
this.cpuNum = cpuNum;
}
public int getCpuNum() {
return cpuNum;
}
public void setMemorySize(long memorySize) {
this.memorySize = memorySize;
}
public long getMemorySize() {
return memorySize;
}
}
public static class IncreaseCpuCmd extends AgentCommand{
private String vmUuid;
private int cpuNum;
public void setVmUuid(String vmUuid) {
this.vmUuid = vmUuid;
}
public String getVmUuid() {
return vmUuid;
}
public void setCpuNum(int cpuNum) {
this.cpuNum = cpuNum;
}
public int getCpuNum() {
return cpuNum;
}
}
public static class IncreaseCpuResponse extends AgentResponse{
private int cpuNum;
public void setCpuNum(int cpuNum) {
this.cpuNum = cpuNum;
}
public int getCpuNum() {
return cpuNum;
}
}
public static class IncreaseMemoryCmd extends AgentCommand{
private String vmUuid;
private long memorySize;
public void setVmUuid(String vmUuid) {
this.vmUuid = vmUuid;
}
public String getVmUuid() {
return vmUuid;
}
public void setMemorySize(long memorySize) {
this.memorySize = memorySize;
}
public long getMemorySize() {
return memorySize;
}
}
public static class IncreaseMemoryResponse extends AgentResponse{
private long memorySize;
public void setMemorySize(long memorySize) {
this.memorySize = memorySize;
}
public long getMemorySize() {
return memorySize;
}
}
public static class GetVncPortCmd extends AgentCommand {
private String vmUuid;
public String getVmUuid() {
return vmUuid;
}
public void setVmUuid(String vmUuid) {
this.vmUuid = vmUuid;
}
}
public static class GetVncPortResponse extends AgentResponse {
private int port;
private String protocol;
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
public String getProtocol() {
return protocol;
}
public void setProtocol(String protocol) {
this.protocol = protocol;
}
}
public static class StopVmCmd extends AgentCommand {
private String uuid;
private String type;
private long timeout;
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public long getTimeout() {
return timeout;
}
public void setTimeout(long timeout) {
this.timeout = timeout;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
public static class StopVmResponse extends AgentResponse {
}
public static class PauseVmCmd extends AgentCommand{
private String uuid;
private long timeout;
public String getUuid(){
return uuid;
}
public void setUuid(String uuid){
this.uuid = uuid;
}
public long getTimeout(){
return timeout;
}
public void setTimeout(long timeout){
this.timeout = timeout;
}
}
public static class PauseVmResponse extends AgentResponse{
}
public static class ResumeVmCmd extends AgentCommand{
private String uuid;
private long timeout;
public String getUuid(){
return uuid;
}
public void setUuid(String uuid){
this.uuid = uuid;
}
public long getTimeout(){
return timeout;
}
public void setTimeout(long timeout){
this.timeout = timeout;
}
}
public static class ResumeVmResponse extends AgentResponse{
}
public static class RebootVmCmd extends AgentCommand {
private String uuid;
private long timeout;
private List<String> bootDev;
public List<String> getBootDev() {
return bootDev;
}
public void setBootDev(List<String> bootDev) {
this.bootDev = bootDev;
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public long getTimeout() {
return timeout;
}
public void setTimeout(long timeout) {
this.timeout = timeout;
}
}
public static class RebootVmResponse extends AgentResponse {
}
public static class DestroyVmCmd extends AgentCommand {
private String uuid;
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
}
public static class DestroyVmResponse extends AgentResponse {
}
public static class VmSyncCmd extends AgentCommand {
}
public static class VmSyncResponse extends AgentResponse {
private HashMap<String, String> states;
public HashMap<String, String> getStates() {
return states;
}
public void setStates(HashMap<String, String> states) {
this.states = states;
}
}
public static class RefreshAllRulesOnHostCmd extends AgentCommand {
private List<SecurityGroupRuleTO> ruleTOs;
public List<SecurityGroupRuleTO> getRuleTOs() {
return ruleTOs;
}
public void setRuleTOs(List<SecurityGroupRuleTO> ruleTOs) {
this.ruleTOs = ruleTOs;
}
}
public static class RefreshAllRulesOnHostResponse extends AgentResponse {
}
public static class CleanupUnusedRulesOnHostCmd extends AgentCommand {
}
public static class CleanupUnusedRulesOnHostResponse extends AgentResponse {
}
public static class ApplySecurityGroupRuleCmd extends AgentCommand {
private List<SecurityGroupRuleTO> ruleTOs;
public List<SecurityGroupRuleTO> getRuleTOs() {
return ruleTOs;
}
public void setRuleTOs(List<SecurityGroupRuleTO> ruleTOs) {
this.ruleTOs = ruleTOs;
}
}
public static class ApplySecurityGroupRuleResponse extends AgentResponse {
}
public static class MigrateVmCmd extends AgentCommand {
private String vmUuid;
private String destHostIp;
private String storageMigrationPolicy;
private String srcHostIp;
private boolean useNuma;
public boolean isUseNuma() {
return useNuma;
}
public void setUseNuma(boolean useNuma) {
this.useNuma = useNuma;
}
public String getSrcHostIp() {
return srcHostIp;
}
public void setSrcHostIp(String srcHostIp) {
this.srcHostIp = srcHostIp;
}
public String getStorageMigrationPolicy() {
return storageMigrationPolicy;
}
public void setStorageMigrationPolicy(String storageMigrationPolicy) {
this.storageMigrationPolicy = storageMigrationPolicy;
}
public String getVmUuid() {
return vmUuid;
}
public void setVmUuid(String vmUuid) {
this.vmUuid = vmUuid;
}
public String getDestHostIp() {
return destHostIp;
}
public void setDestHostIp(String destHostIp) {
this.destHostIp = destHostIp;
}
}
public static class MigrateVmResponse extends AgentResponse {
}
public static class MergeSnapshotRsp extends AgentResponse {
}
@ApiTimeout(apiClasses = {APIDeleteVolumeSnapshotMsg.class})
public static class MergeSnapshotCmd extends AgentCommand {
private String vmUuid;
private int deviceId;
private String srcPath;
private String destPath;
private boolean fullRebase;
public boolean isFullRebase() {
return fullRebase;
}
public void setFullRebase(boolean fullRebase) {
this.fullRebase = fullRebase;
}
public String getVmUuid() {
return vmUuid;
}
public void setVmUuid(String vmUuid) {
this.vmUuid = vmUuid;
}
public int getDeviceId() {
return deviceId;
}
public void setDeviceId(int deviceId) {
this.deviceId = deviceId;
}
public String getSrcPath() {
return srcPath;
}
public void setSrcPath(String srcPath) {
this.srcPath = srcPath;
}
public String getDestPath() {
return destPath;
}
public void setDestPath(String destPath) {
this.destPath = destPath;
}
}
@ApiTimeout(apiClasses = {APICreateVolumeSnapshotMsg.class})
public static class TakeSnapshotCmd extends AgentCommand {
private String vmUuid;
private String volumeUuid;
private int deviceId;
private String installPath;
private boolean fullSnapshot;
private String volumeInstallPath;
public String getVolumeUuid() {
return volumeUuid;
}
public void setVolumeUuid(String volumeUuid) {
this.volumeUuid = volumeUuid;
}
public String getVolumeInstallPath() {
return volumeInstallPath;
}
public void setVolumeInstallPath(String volumeInstallPath) {
this.volumeInstallPath = volumeInstallPath;
}
public boolean isFullSnapshot() {
return fullSnapshot;
}
public void setFullSnapshot(boolean fullSnapshot) {
this.fullSnapshot = fullSnapshot;
}
public String getVmUuid() {
return vmUuid;
}
public void setVmUuid(String vmUuid) {
this.vmUuid = vmUuid;
}
public int getDeviceId() {
return deviceId;
}
public void setDeviceId(int deviceId) {
this.deviceId = deviceId;
}
public String getInstallPath() {
return installPath;
}
public void setInstallPath(String installPath) {
this.installPath = installPath;
}
}
public static class TakeSnapshotResponse extends AgentResponse {
@Validation
private String newVolumeInstallPath;
@Validation
private String snapshotInstallPath;
@Validation(notZero = true)
private long size;
public long getSize() {
return size;
}
public void setSize(long size) {
this.size = size;
}
public String getSnapshotInstallPath() {
return snapshotInstallPath;
}
public void setSnapshotInstallPath(String snapshotInstallPath) {
this.snapshotInstallPath = snapshotInstallPath;
}
public String getNewVolumeInstallPath() {
return newVolumeInstallPath;
}
public void setNewVolumeInstallPath(String newVolumeInstallPath) {
this.newVolumeInstallPath = newVolumeInstallPath;
}
}
public static class LogoutIscsiTargetCmd extends AgentCommand {
private String hostname;
private int port;
private String target;
public String getHostname() {
return hostname;
}
public void setHostname(String hostname) {
this.hostname = hostname;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
public String getTarget() {
return target;
}
public void setTarget(String target) {
this.target = target;
}
}
public static class LogoutIscsiTargetRsp extends AgentResponse {
}
public static class LoginIscsiTargetCmd extends AgentCommand {
private String hostname;
private int port;
private String target;
private String chapUsername;
private String chapPassword;
public String getChapUsername() {
return chapUsername;
}
public void setChapUsername(String chapUsername) {
this.chapUsername = chapUsername;
}
public String getChapPassword() {
return chapPassword;
}
public void setChapPassword(String chapPassword) {
this.chapPassword = chapPassword;
}
public String getHostname() {
return hostname;
}
public void setHostname(String hostname) {
this.hostname = hostname;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
public String getTarget() {
return target;
}
public void setTarget(String target) {
this.target = target;
}
}
public static class LoginIscsiTargetRsp extends AgentResponse {
}
public static class AttachIsoCmd extends AgentCommand {
public IsoTO iso;
public String vmUuid;
}
public static class AttachIsoRsp extends AgentResponse {
}
public static class DetachIsoCmd extends AgentCommand {
public String vmUuid;
public String isoUuid;
}
public static class DetachIsoRsp extends AgentResponse {
}
public static class ReportVmStateCmd {
public String hostUuid;
public String vmUuid;
public String vmState;
}
public static class ReconnectMeCmd {
public String hostUuid;
public String reason;
}
}