package org.zstack.network.service.lb; 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.APINoSee; import org.zstack.header.rest.RestRequest; import org.zstack.header.vm.VmNicVO; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Created by frank on 8/8/2015. */ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/listeners/{listenerUuid}/vm-instances/nics", method = HttpMethod.POST, parameterName = "params", responseClass = APIAddVmNicToLoadBalancerEvent.class ) public class APIAddVmNicToLoadBalancerMsg extends APIMessage implements LoadBalancerMessage { @APIParam(resourceType = VmNicVO.class, checkAccount = true, operationTarget = true, nonempty = true) private List<String> vmNicUuids; @APIParam(resourceType = LoadBalancerListenerVO.class, checkAccount = true, operationTarget = true) private String listenerUuid; @APINoSee private String loadBalancerUuid; public List<String> getVmNicUuids() { return vmNicUuids; } public void setVmNicUuids(List<String> vmNicUuids) { this.vmNicUuids = vmNicUuids; } public String getListenerUuid() { return listenerUuid; } public void setListenerUuid(String listenerUuid) { this.listenerUuid = listenerUuid; } @Override public String getLoadBalancerUuid() { return loadBalancerUuid; } public void setLoadBalancerUuid(String loadBalancerUuid) { this.loadBalancerUuid = loadBalancerUuid; } public static APIAddVmNicToLoadBalancerMsg __example__() { APIAddVmNicToLoadBalancerMsg msg = new APIAddVmNicToLoadBalancerMsg(); msg.setVmNicUuids(Arrays.asList(uuid())); msg.setListenerUuid(uuid()); msg.setLoadBalancerUuid(uuid()); return msg; } public ApiNotification __notification__() { APIMessage that = this; return new ApiNotification() { @Override public void after(APIEvent evt) { if (evt.isSuccess()) { ntfy("Added vm nics[uuid:%s]",vmNicUuids).resource(listenerUuid,LoadBalancerVO.class.getSimpleName()) .messageAndEvent(that, evt).done(); } } }; } }