package org.zstack.header.vm; import org.springframework.http.HttpMethod; import org.zstack.header.identity.Action; import org.zstack.header.message.APIEvent; import org.zstack.header.message.APIMessage; import org.zstack.header.message.APIParam; import org.zstack.header.notification.ApiNotification; import org.zstack.header.rest.RestRequest; import java.util.List; import static java.util.Arrays.asList; /** * Created by frank on 11/22/2015. */ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{uuid}/actions", isAction = true, method = HttpMethod.PUT, responseClass = APISetVmBootOrderEvent.class ) public class APISetVmBootOrderMsg extends APIMessage implements VmInstanceMessage { @APIParam(resourceType = VmInstanceVO.class, checkAccount = true, operationTarget = true) private String uuid; private List<String> bootOrder; @Override public String getVmInstanceUuid() { return uuid; } public String getUuid() { return uuid; } public void setUuid(String uuid) { this.uuid = uuid; } public List<String> getBootOrder() { return bootOrder; } public void setBootOrder(List<String> bootOrder) { this.bootOrder = bootOrder; } public static APISetVmBootOrderMsg __example__() { APISetVmBootOrderMsg msg = new APISetVmBootOrderMsg(); msg.uuid = uuid(); msg.bootOrder = asList(VmBootDevice.CdRom.toString(), VmBootDevice.HardDisk.toString()); return msg; } public ApiNotification __notification__() { APIMessage that = this; return new ApiNotification() { @Override public void after(APIEvent evt) { ntfy("set boot order").resource(uuid, VmInstanceVO.class.getSimpleName()) .messageAndEvent(that, evt).done(); } }; } }