package org.zstack.header.image;
import org.zstack.header.errorcode.ErrorCode;
import org.zstack.header.message.APIEvent;
import org.zstack.header.rest.RestResponse;
import org.zstack.header.rest.SDK;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
*/
@RestResponse(fieldsTo = {"inventory", "failures=failuresOnBackupStorage"})
public class APICreateRootVolumeTemplateFromVolumeSnapshotEvent extends APIEvent {
@SDK(sdkClassName = "CreateRootVolumeTemplateFromVolumeSnapshotFailure")
public static class Failure {
public String backupStorageUuid;
public ErrorCode error;
public String getBackupStorageUuid() {
return backupStorageUuid;
}
public void setBackupStorageUuid(String backupStorageUuid) {
this.backupStorageUuid = backupStorageUuid;
}
public ErrorCode getError() {
return error;
}
public void setError(ErrorCode error) {
this.error = error;
}
}
private ImageInventory inventory;
private List<Failure> failuresOnBackupStorage;
public void addFailure(Failure failure) {
if (failuresOnBackupStorage == null) {
failuresOnBackupStorage = new ArrayList<>();
}
failuresOnBackupStorage.add(failure);
}
public List<Failure> getFailuresOnBackupStorage() {
return failuresOnBackupStorage;
}
public void setFailuresOnBackupStorage(List<Failure> failuresOnBackupStorage) {
this.failuresOnBackupStorage = failuresOnBackupStorage;
}
public APICreateRootVolumeTemplateFromVolumeSnapshotEvent(String apiId) {
super(apiId);
}
public APICreateRootVolumeTemplateFromVolumeSnapshotEvent() {
super(null);
}
public ImageInventory getInventory() {
return inventory;
}
public void setInventory(ImageInventory inventory) {
this.inventory = inventory;
}
public static APICreateRootVolumeTemplateFromVolumeSnapshotEvent __example__() {
APICreateRootVolumeTemplateFromVolumeSnapshotEvent event = new APICreateRootVolumeTemplateFromVolumeSnapshotEvent();
ImageInventory inv = new ImageInventory();
inv.setUuid(uuid());
ImageBackupStorageRefInventory ref = new ImageBackupStorageRefInventory();
ref.setBackupStorageUuid(uuid());
ref.setImageUuid(inv.getUuid());
ref.setInstallPath("ceph://zs-images/0cd599ec519249489475112a058bb93a");
ref.setStatus(ImageStatus.Ready.toString());
inv.setName("My Root Volume Template");
inv.setBackupStorageRefs(Collections.singletonList(ref));
inv.setFormat(ImageConstant.RAW_FORMAT_STRING);
inv.setMediaType(ImageConstant.ImageMediaType.RootVolumeTemplate.toString());
inv.setPlatform(ImagePlatform.Linux.toString());
event.setInventory(inv);
return event;
}
}