protected Response attachDiskToVm(AbstractBackendCollectionResource resource, DiskAttachment attachment, IResolver entityResolver) { Guid diskId = Guid.createGuidFromStringDefaultEmpty(attachment.getDisk().getId()); DiskVmElement dve = map(attachment); dve.getId().setVmId(vmId); dve.getId().setDeviceId(diskId); AttachDetachVmDiskParameters params = new AttachDetachVmDiskParameters(dve); Disk disk = attachment.getDisk(); boolean isDiskActive = false; if (attachment.isSetActive()) { isDiskActive = BooleanUtils.toBoolean(attachment.isActive()); } params.setPlugUnPlug(isDiskActive); if (disk.isSetReadOnly()) { dve.setReadOnly(BooleanUtils.toBoolean(disk.isReadOnly())); } if (disk.isSetSnapshot()) { validateParameters(disk, "snapshot.id"); params.setSnapshotId(asGuid(disk.getSnapshot().getId())); } return resource.performCreate(ActionType.AttachDiskToVm, params, entityResolver); }
diskImage.setImageStatus(mapDiskStatus(disk.getStatus())); if (disk.isSetSnapshot() && disk.getSnapshot().isSetId()) { diskImage.setVmSnapshotId(GuidUtils.asGuid(disk.getSnapshot().getId()));
to.setShareable(from.isShareable()); if (from.isSetSnapshot()) { to.setSnapshot(adaptOut(from.getSnapshot()));