package org.ovirt.engine.core.common.action;
import java.util.Objects;
import org.ovirt.engine.core.common.businessentities.InitializationType;
import org.ovirt.engine.core.compat.Guid;
public class RunVmParams extends VmOperationParameterBase {
public enum RunVmFlow {
/** regular flow */
RUN,
/** run VM which is paused */
RESUME_PAUSE,
/** run VM which is suspended */
RESUME_HIBERNATE,
/** create the stateless images in order to run the VM as stateless */
CREATE_STATELESS_IMAGES,
/** remove stateless images that remained from last time the VM ran as stateless */
REMOVE_STATELESS_IMAGES,
/** wrap things up after the VM reach UP state */
RUNNING_SUCCEEDED;
public boolean isStateless() {
return this == RunVmFlow.CREATE_STATELESS_IMAGES || this == RunVmFlow.REMOVE_STATELESS_IMAGES;
}
}
private static final long serialVersionUID = 3311307677963231320L;
private String diskPath;
private Boolean runAndPause;
private String floppyPath;
private InitializationType initializationType;
private Boolean runAsStateless;
private boolean balloonEnabled;
private boolean runInUnknownStatus;
private RunVmFlow cachedFlow;
public RunVmParams() {
}
public RunVmParams(Guid vmId) {
super(vmId);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof RunVmParams)) {
return false;
}
RunVmParams other = (RunVmParams) obj;
return Objects.equals(getVmId(), other.getVmId())
&& Objects.equals(diskPath, other.diskPath)
&& Objects.equals(runAndPause, other.runAndPause)
&& Objects.equals(floppyPath, other.floppyPath)
&& initializationType == other.initializationType
&& Objects.equals(runAsStateless, other.runAsStateless)
&& balloonEnabled == other.balloonEnabled;
}
@Override
public int hashCode() {
return Objects.hash(
getVmId(),
diskPath,
runAndPause,
floppyPath,
initializationType,
runAsStateless,
balloonEnabled
);
}
public String getFloppyPath() {
return floppyPath;
}
public void setFloppyPath(String value) {
floppyPath = value;
}
public String getDiskPath() {
return diskPath;
}
public void setDiskPath(String value) {
diskPath = value;
}
public Boolean getRunAndPause() {
return runAndPause;
}
public void setRunAndPause(Boolean value) {
runAndPause = value;
}
public InitializationType getInitializationType() {
return initializationType;
}
public void setInitializationType(InitializationType value) {
initializationType = value;
}
public Boolean getRunAsStateless() {
return runAsStateless;
}
public void setRunAsStateless(Boolean value) {
runAsStateless = value;
}
public boolean isBalloonEnabled() {
return this.balloonEnabled;
}
public void setBalloonEnabled(boolean isBalloonEnabled) {
this.balloonEnabled = isBalloonEnabled;
}
public RunVmFlow getCachedFlow() {
return cachedFlow;
}
public void setCachedFlow(RunVmFlow cachedFlow) {
this.cachedFlow = cachedFlow;
}
public boolean isRunInUnknownStatus() {
return runInUnknownStatus;
}
public void setRunInUnknownStatus(boolean runInUnknownStatus) {
this.runInUnknownStatus = runInUnknownStatus;
}
}