package org.zstack.header.volume;
import org.springframework.http.HttpMethod;
import org.zstack.header.core.scheduler.APICreateSchedulerMessage;
import org.zstack.header.identity.Action;
import org.zstack.header.message.APIParam;
import org.zstack.header.rest.RestRequest;
/**
* Created by root on 7/11/16.
*/
@Action(category = VolumeConstant.ACTION_CATEGORY)
@RestRequest(
path = "/volumes/{volumeUuid}/schedulers/creating-volume-snapshots",
method = HttpMethod.POST,
responseClass = APICreateVolumeSnapshotSchedulerEvent.class,
parameterName = "params"
)
public class APICreateVolumeSnapshotSchedulerMsg extends APICreateSchedulerMessage implements VolumeMessage {
/**
* @desc volume uuid. See :ref:`VolumeInventory`
*/
@APIParam(resourceType = VolumeVO.class, checkAccount = true, operationTarget = true)
private String volumeUuid;
/**
* @desc snapshot name. Max length of 255 characters
*/
@APIParam(maxLength = 255)
private String snapShotName;
/**
* @desc snapshot description. Max length of 2048 characters
*/
@APIParam(required = false, maxLength = 2048)
private String volumeSnapshotDescription;
@Override
public String getVolumeUuid() {
return volumeUuid;
}
public void setVolumeUuid(String volumeUuid) {
this.volumeUuid = volumeUuid;
}
public String getSnapShotName() {
return snapShotName;
}
public void setSnapShotName(String snapShotName) {
this.snapShotName = snapShotName;
}
public String getVolumeSnapshotDescription() {
return volumeSnapshotDescription;
}
public void setVolumeSnapshotDescription(String volumeSnapshotDescription) {
this.volumeSnapshotDescription = volumeSnapshotDescription;
}
public static APICreateVolumeSnapshotSchedulerMsg __example__() {
APICreateVolumeSnapshotSchedulerMsg msg = new APICreateVolumeSnapshotSchedulerMsg();
msg.setSchedulerName("snapshot-scheduler");
msg.setSchedulerDescription("for test snapshot scheduler");
msg.setStartTime(0L);
msg.setType("simple");
msg.setInterval(5);
msg.setRepeatCount(10);
msg.setSnapShotName("test-snapshot-scheduler");
msg.setVolumeUuid(uuid());
return msg;
}
}