package org.ovirt.engine.core.common.action; import java.io.Serializable; import java.util.Collection; import java.util.Collections; import java.util.Map; import java.util.Objects; import javax.validation.Valid; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.network.ExternalVnicProfileMapping; import org.ovirt.engine.core.common.businessentities.storage.Disk; import org.ovirt.engine.core.compat.Guid; public class ImportVmParameters extends VmOperationParameterBase implements Serializable, ImportParameters { private static final long serialVersionUID = -6514416097090370831L; @Valid private VM vm; private Guid sourceDomainId; private Guid destDomainId; private Guid clusterId; private Map<Guid, Disk> diskMap; private Guid storagePoolId; private Map<Guid, Guid> imageToDestinationDomainMap; private boolean imagesExistOnTargetStorageDomain; private Guid cpuProfileId; private boolean copyCollapse; private boolean forceOverride; private boolean allowPartialImport; private Guid containerId; private Guid storageDomainId; private boolean importAsNewEntity; private Collection<ExternalVnicProfileMapping> externalVnicProfileMappings; private boolean reassignBadMacs; public ImportVmParameters() { this(Collections.emptyList(), false); } public ImportVmParameters( Collection<ExternalVnicProfileMapping> externalVnicProfileMappings, boolean reassignBadMacs) { this.sourceDomainId = Guid.Empty; this.destDomainId = Guid.Empty; this.externalVnicProfileMappings = Objects.requireNonNull(externalVnicProfileMappings); this.reassignBadMacs = reassignBadMacs; } public ImportVmParameters(VM vm, Guid destStorageDomainId, Guid storagePoolId, Guid clusterId) { this(vm, Guid.Empty, destStorageDomainId, storagePoolId, clusterId); } public ImportVmParameters(VM vm, Guid sourceStorageDomainId, Guid destStorageDomainId, Guid storagePoolId, Guid clusterId) { super(vm.getId()); containerId = vm.getId(); sourceDomainId = sourceStorageDomainId; destDomainId = destStorageDomainId; setVm(vm); setStorageDomainId(destStorageDomainId); this.setStoragePoolId(storagePoolId); setClusterId(clusterId); } public VM getVm() { return vm; } public void setVm(VM vm) { this.vm = vm; } public Guid getSourceDomainId() { return sourceDomainId; } public Guid getDestDomainId() { return destDomainId; } @Override public Guid getClusterId() { return clusterId; } public void setClusterId(Guid clusterId) { this.clusterId = clusterId; } public void setDestDomainId(Guid destDomainId) { this.destDomainId = destDomainId; } public void setSourceDomainId(Guid sourceDomainId) { this.sourceDomainId = sourceDomainId; } public Map<Guid, Disk> getDiskMap() { return diskMap; } public void setDiskMap(Map<Guid, Disk> diskMap) { this.diskMap = diskMap; } public Guid getStoragePoolId() { return storagePoolId; } public void setStoragePoolId(Guid storagePoolId) { this.storagePoolId = storagePoolId; } public Guid getStorageDomainId() { return storageDomainId; } public void setStorageDomainId(Guid storageDomainId) { this.storageDomainId = storageDomainId; } public Map<Guid, Guid> getImageToDestinationDomainMap() { return imageToDestinationDomainMap; } public void setImageToDestinationDomainMap(Map<Guid, Guid> imageToDestinationDomainMap) { this.imageToDestinationDomainMap = imageToDestinationDomainMap; } public boolean isImagesExistOnTargetStorageDomain() { return imagesExistOnTargetStorageDomain; } public void setImagesExistOnTargetStorageDomain(boolean imagesExistOnTargetStorageDomain) { this.imagesExistOnTargetStorageDomain = imagesExistOnTargetStorageDomain; } public Guid getCpuProfileId() { return cpuProfileId; } public void setCpuProfileId(Guid cpuProfileId) { this.cpuProfileId = cpuProfileId; } public boolean getCopyCollapse() { return copyCollapse; } public void setCopyCollapse(boolean copyCollapse) { this.copyCollapse = copyCollapse; } public boolean getForceOverride() { return forceOverride; } public void setForceOverride(boolean forceOverride) { this.forceOverride = forceOverride; } public boolean isAllowPartialImport() { return allowPartialImport; } public void setAllowPartialImport(boolean allowPartialImport) { this.allowPartialImport = allowPartialImport; } public Guid getContainerId() { return containerId; } public void setContainerId(Guid containerId) { this.containerId = containerId; } public boolean isImportAsNewEntity() { return importAsNewEntity; } public void setImportAsNewEntity(boolean importAsNewEntity) { this.importAsNewEntity = importAsNewEntity; } public Collection<ExternalVnicProfileMapping> getExternalVnicProfileMappings() { return externalVnicProfileMappings; } public boolean isReassignBadMacs() { return reassignBadMacs; } }