package org.zstack.header.network.l3; import org.springframework.http.HttpMethod; import org.zstack.header.identity.Action; import org.zstack.header.message.APIDeleteMessage; 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; /** * @api delete ip range * @category l3Network * @cli * @httpMsg { * "org.zstack.header.network.l3.APIDeleteIpRangeMsg": { * "uuid": "9dc2c43298a94b25bbd6a192d3913c38", * "deleteMode": "Permissive", * "session": { * "uuid": "fc1c1d1030e644e3a5e9e6b95bf922d0" * } * } * } * @msg { * "org.zstack.header.network.l3.APIDeleteIpRangeMsg": { * "uuid": "9dc2c43298a94b25bbd6a192d3913c38", * "deleteMode": "Permissive", * "session": { * "uuid": "fc1c1d1030e644e3a5e9e6b95bf922d0" * }, * "timeout": 1800000, * "id": "7eced738ea56424280da80590db55663", * "serviceId": "api.portal" * } * } * @result see :ref:`APIDeleteIpRangeEvent` * @since 0.1.0 */ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/ip-ranges/{uuid}", method = HttpMethod.DELETE, responseClass = APIDeleteIpRangeEvent.class ) public class APIDeleteIpRangeMsg extends APIDeleteMessage implements L3NetworkMessage, IpRangeMessage { /** * @desc ip range uuid */ @APIParam(resourceType = IpRangeVO.class, successIfResourceNotExisting = true, checkAccount = true, operationTarget = true) private String uuid; /** * @ignore */ @APINoSee private String l3NetworkUuid; public APIDeleteIpRangeMsg() { } public APIDeleteIpRangeMsg(String uuid) { super(); this.uuid = uuid; } public String getUuid() { return uuid; } public void setUuid(String uuid) { this.uuid = uuid; } public void setL3NetworkUuid(String l3NetworkUuid) { this.l3NetworkUuid = l3NetworkUuid; } @Override public String getL3NetworkUuid() { return l3NetworkUuid; } @Override public String getIpRangeUuid() { return uuid; } public static APIDeleteIpRangeMsg __example__() { APIDeleteIpRangeMsg msg = new APIDeleteIpRangeMsg(); msg.setUuid(uuid()); return msg; } public ApiNotification __notification__() { APIMessage that = this; return new ApiNotification() { @Override public void after(APIEvent evt) { ntfy("Deleted an IP range[uuid:%s]", getIpRangeUuid()).resource(l3NetworkUuid, L3NetworkVO.class.getSimpleName()) .resource("ipRangeUuid", getIpRangeUuid()) .messageAndEvent(that, evt).done(); } }; } }