Search in sources :

Example 66 with Disk

use of org.ovirt.engine.api.model.Disk in project ovirt-engine by oVirt.

the class DiskAttachmentMapper method map.

@Mapping(from = org.ovirt.engine.core.common.businessentities.storage.DiskVmElement.class, to = DiskAttachment.class)
public static DiskAttachment map(org.ovirt.engine.core.common.businessentities.storage.DiskVmElement entity, DiskAttachment template) {
    DiskAttachment model = template != null ? template : new DiskAttachment();
    Guid vmId = entity.getVmId();
    if (vmId != null) {
        Vm vm = new Vm();
        vm.setId(vmId.toString());
        model.setVm(vm);
    }
    Guid diskId = entity.getDiskId();
    if (diskId != null) {
        Disk disk = new Disk();
        disk.setId(diskId.toString());
        model.setDisk(disk);
    }
    model.setId(entity.getDiskId().toString());
    model.setBootable(entity.isBoot());
    model.setPassDiscard(entity.isPassDiscard());
    model.setInterface(DiskMapper.mapInterface(entity.getDiskInterface()));
    model.setActive(entity.isPlugged());
    model.setLogicalName(entity.getLogicalName());
    model.setUsesScsiReservation(entity.isUsingScsiReservation());
    model.setReadOnly(entity.isReadOnly());
    return model;
}
Also used : DiskAttachment(org.ovirt.engine.api.model.DiskAttachment) Vm(org.ovirt.engine.api.model.Vm) Guid(org.ovirt.engine.core.compat.Guid) Disk(org.ovirt.engine.api.model.Disk)

Example 67 with Disk

use of org.ovirt.engine.api.model.Disk in project ovirt-engine by oVirt.

the class BackendDiskResource method move.

@Override
public Response move(Action action) {
    validateParameters(action, "storageDomain.id|name");
    Guid storageDomainId = getStorageDomainId(action);
    Disk disk = get();
    Guid imageId = getDiskImageId(disk.getImageId());
    Guid sourceStorageDomainId = getSourceStorageDomainId(disk);
    MoveDiskParameters params = new MoveDiskParameters(imageId, sourceStorageDomainId, storageDomainId);
    params.setImageGroupID(asGuid(disk.getId()));
    params.setQuotaId(action.isSetQuota() ? asGuid(action.getQuota().getId()) : null);
    params.setDiskProfileId(action.isSetDiskProfile() ? asGuid(action.getDiskProfile().getId()) : null);
    return doAction(ActionType.MoveDisk, params, action);
}
Also used : MoveDiskParameters(org.ovirt.engine.core.common.action.MoveDiskParameters) Guid(org.ovirt.engine.core.compat.Guid) Disk(org.ovirt.engine.api.model.Disk)

Example 68 with Disk

use of org.ovirt.engine.api.model.Disk in project ovirt-engine by oVirt.

the class BackendDiskResource method copy.

@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);
}
Also used : MoveOrCopyImageGroupParameters(org.ovirt.engine.core.common.action.MoveOrCopyImageGroupParameters) Guid(org.ovirt.engine.core.compat.Guid) Disk(org.ovirt.engine.api.model.Disk)

Aggregations

Disk (org.ovirt.engine.api.model.Disk)68 Test (org.junit.Test)33 Response (javax.ws.rs.core.Response)13 Guid (org.ovirt.engine.core.compat.Guid)13 WebApplicationException (javax.ws.rs.WebApplicationException)10 DiskAttachment (org.ovirt.engine.api.model.DiskAttachment)10 DiskImage (org.ovirt.engine.core.common.businessentities.storage.DiskImage)10 StorageDomain (org.ovirt.engine.api.model.StorageDomain)9 AsyncTaskStatus (org.ovirt.engine.core.common.businessentities.AsyncTaskStatus)7 Vm (org.ovirt.engine.api.model.Vm)6 StorageDomains (org.ovirt.engine.api.model.StorageDomains)4 V3Disk (org.ovirt.engine.api.v3.types.V3Disk)4 DiskAttachments (org.ovirt.engine.api.model.DiskAttachments)3 V3Disks (org.ovirt.engine.api.v3.types.V3Disks)3 UriInfo (javax.ws.rs.core.UriInfo)2 HostStorage (org.ovirt.engine.api.model.HostStorage)2 V3CdRoms (org.ovirt.engine.api.v3.types.V3CdRoms)2 V3CustomProperties (org.ovirt.engine.api.v3.types.V3CustomProperties)2 V3Floppies (org.ovirt.engine.api.v3.types.V3Floppies)2 V3KatelloErrata (org.ovirt.engine.api.v3.types.V3KatelloErrata)2