@Override protected MoveOrCopyImageGroupParameters createParameters(Guid sourceStorageDomainGuid, Guid destStorageDomainGuid, DiskImage disk) { MoveOrCopyImageGroupParameters moveOrCopyImageGroupParameters = new MoveOrCopyImageGroupParameters(disk.getImageId(), sourceStorageDomainGuid, destStorageDomainGuid, ImageOperation.Copy); moveOrCopyImageGroupParameters.setImageGroupID(disk.getId()); return moveOrCopyImageGroupParameters; }
@Override public Response copy(Action action) { validateParameters(action, "storageDomain.id|name"); Guid storageDomainId = getStorageDomainId(action); Disk disk = getDisk(); Guid imageId = asGuid(disk.getImageId()); MoveOrCopyImageGroupParameters params = new MoveOrCopyImageGroupParameters(imageId, Guid.Empty, storageDomainId, ImageOperation.Copy); params.setImageGroupID(asGuid(disk.getId())); return doAction(ActionType.MoveOrCopyDisk, params, action); }
public MoveOrCopyImageGroupParameters(Guid containerId, Guid imageGroupId, Guid leafSnapshotID, Guid storageDomainId, ImageOperation operation) { super(leafSnapshotID, containerId); setStorageDomainId(storageDomainId); setImageGroupID(imageGroupId); setOperation(operation); setUseCopyCollapse(false); setVolumeFormat(VolumeFormat.Unassigned); setVolumeType(VolumeType.Unassigned); setForceOverride(false); setDestinationImageId(leafSnapshotID); setDestImageGroupId(imageGroupId); copyVolumeType = CopyVolumeType.SharedVol; setShouldLockImageOnRevert(true); }
@Override public Response copy(Action action) { validateParameters(action, "storageDomain.id|name"); Guid storageDomainId = getStorageDomainId(action); Disk disk = get(); Guid imageId = getDiskImageId(disk.getImageId()); Guid sourceStorageDomainId = getSourceStorageDomainId(disk); MoveOrCopyImageGroupParameters params = new MoveOrCopyImageGroupParameters(imageId, sourceStorageDomainId, storageDomainId, ImageOperation.Copy); params.setImageGroupID(asGuid(disk.getId())); params.setQuotaId(action.isSetQuota() ? asGuid(action.getQuota().getId()) : null); params.setDiskProfileId(action.isSetDiskProfile() ? asGuid(action.getDiskProfile().getId()) : null); Disk actionDisk = action.getDisk(); if (actionDisk != null) { String name = actionDisk.getName(); String alias = actionDisk.getAlias(); if (name != null && !StringUtils.isEmpty(name)) { params.setNewAlias(name); } else if (alias != null && !StringUtils.isEmpty(alias)) { params.setNewAlias(alias); } } return doAction(ActionType.MoveOrCopyDisk, params, action); }