package org.zstack.header.network.l3; 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; /** * @api remove dns from l3Network * @category l3network * @cli * @httpMsg { * "org.zstack.header.network.l3.APIRemoveDnsFromL3NetworkMsg": { * "l3NetworkUuid": "f14fd6ff593a41dd8c6caafc1f5448f9", * "dns": "8.8.8.8", * "session": { * "uuid": "db6ab57c757b403f898872adc01ead9e" * } * } * } * @msg { * "org.zstack.header.network.l3.APIRemoveDnsFromL3NetworkMsg": { * "l3NetworkUuid": "f14fd6ff593a41dd8c6caafc1f5448f9", * "dns": "8.8.8.8", * "session": { * "uuid": "db6ab57c757b403f898872adc01ead9e" * }, * "timeout": 1800000, * "id": "515bf56f9bcc46e2826e0af653dffe64", * "serviceId": "api.portal" * } * } * @result see :ref:`APIRemoveDnsFromL3NetworkEvent` * @since 0.1.0 */ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/dns/{dns}", method = HttpMethod.DELETE, responseClass = APIRemoveDnsFromL3NetworkEvent.class ) public class APIRemoveDnsFromL3NetworkMsg extends APIMessage implements L3NetworkMessage { /** * @desc l3Network uuid */ @APIParam(resourceType = L3NetworkVO.class, checkAccount = true, operationTarget = true) private String l3NetworkUuid; /** * @desc dns ip address */ @APIParam private String dns; @Override public String getL3NetworkUuid() { return l3NetworkUuid; } public void setL3NetworkUuid(String l3NetworkUuid) { this.l3NetworkUuid = l3NetworkUuid; } public String getDns() { return dns; } public void setDns(String dns) { this.dns = dns; } public static APIRemoveDnsFromL3NetworkMsg __example__() { APIRemoveDnsFromL3NetworkMsg msg = new APIRemoveDnsFromL3NetworkMsg(); msg.setL3NetworkUuid(uuid()); msg.setDns("8.8.4.4"); return msg; } public ApiNotification __notification__() { APIMessage that = this; return new ApiNotification() { @Override public void after(APIEvent evt) { ntfy("Removed a DNS[%s]", dns).resource(l3NetworkUuid, L3NetworkVO.class.getSimpleName()) .messageAndEvent(that, evt).done(); } }; } }