@Override public Response add(Disk disk) { DiskAttachment diskAttachment = new DiskAttachment(); if (disk.isSetBootable()) { diskAttachment.setBootable(disk.isBootable()); } else { diskAttachment.setBootable(false); } if (disk.isSetInterface()) { diskAttachment.setInterface(disk.getInterface()); } else { diskAttachment.setInterface(DiskInterface.VIRTIO); } if (disk.isSetActive()) { diskAttachment.setActive(disk.isActive()); } diskAttachment.setDisk(disk); if (disk.isSetId()) { Guid diskId = Guid.createGuidFromStringDefaultEmpty(disk.getId()); return getAttachmentsResource().attachDiskToVm(this, diskAttachment, new OldAttachDiskResolver(diskId)); } else { return getAttachmentsResource().createDisk(this, diskAttachment, new OldAddDiskResolver()); } }