package org.zstack.header.storage.snapshot; import org.zstack.header.core.workflow.Flow; import org.zstack.header.image.ImageInventory; /** * Created by xing5 on 2016/4/29. */ public interface CreateTemplateFromVolumeSnapshotExtensionPoint { class WorkflowTemplate { private Flow createTemporaryTemplate; private Flow uploadToBackupStorage; private Flow deleteTemporaryTemplate; public Flow getCreateTemporaryTemplate() { return createTemporaryTemplate; } public void setCreateTemporaryTemplate(Flow createTemporaryTemplate) { this.createTemporaryTemplate = createTemporaryTemplate; } public Flow getUploadToBackupStorage() { return uploadToBackupStorage; } public void setUploadToBackupStorage(Flow uploadToBackupStorage) { this.uploadToBackupStorage = uploadToBackupStorage; } public Flow getDeleteTemporaryTemplate() { return deleteTemporaryTemplate; } public void setDeleteTemporaryTemplate(Flow deleteTemporaryTemplate) { this.deleteTemporaryTemplate = deleteTemporaryTemplate; } } class ParamIn { private VolumeSnapshotInventory snapshot; private ImageInventory image; private String primaryStorageUuid; private String backupStorageUuid; public String getBackupStorageUuid() { return backupStorageUuid; } public void setBackupStorageUuid(String backupStorageUuid) { this.backupStorageUuid = backupStorageUuid; } public VolumeSnapshotInventory getSnapshot() { return snapshot; } public void setSnapshot(VolumeSnapshotInventory snapshot) { this.snapshot = snapshot; } public ImageInventory getImage() { return image; } public void setImage(ImageInventory image) { this.image = image; } public String getPrimaryStorageUuid() { return primaryStorageUuid; } public void setPrimaryStorageUuid(String primaryStorageUuid) { this.primaryStorageUuid = primaryStorageUuid; } } class ParamOut { private long actualSize; private long size; private String backupStorageInstallPath; public String getBackupStorageInstallPath() { return backupStorageInstallPath; } public void setBackupStorageInstallPath(String backupStorageInstallPath) { this.backupStorageInstallPath = backupStorageInstallPath; } public long getActualSize() { return actualSize; } public void setActualSize(long actualSize) { this.actualSize = actualSize; } public long getSize() { return size; } public void setSize(long size) { this.size = size; } } WorkflowTemplate createTemplateFromVolumeSnapshot(ParamIn paramIn); String createTemplateFromVolumeSnapshotPrimaryStorageType(); }