mirror of https://github.com/apache/cloudstack.git
awsapi - EIP related changes
This commit is contained in:
parent
5c8d968eea
commit
da520dfe21
|
|
@ -1,6 +1,8 @@
|
|||
package com.cloud.bridge.service;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.util.UUID;
|
||||
|
||||
import javax.servlet.RequestDispatcher;
|
||||
import javax.servlet.ServletConfig;
|
||||
|
|
@ -9,6 +11,7 @@ import javax.servlet.http.HttpServlet;
|
|||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
|
||||
import com.cloud.bridge.persist.PersistContext;
|
||||
import com.cloud.bridge.persist.dao.CloudStackConfigurationDao;
|
||||
import com.cloud.bridge.persist.dao.UserCredentialsDao;
|
||||
|
|
@ -55,9 +58,11 @@ public class EC2MainServlet extends HttpServlet{
|
|||
|
||||
protected void doGetOrPost(HttpServletRequest request, HttpServletResponse response) {
|
||||
String action = request.getParameter( "Action" );
|
||||
|
||||
if(!isEC2APIEnabled){
|
||||
throw new RuntimeException("EC2 API is disabled.");
|
||||
//response.sendError(404, "EC2 API is disabled.");
|
||||
response.setStatus(404);
|
||||
faultResponse(response, "404" , "EC2 API is disabled.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(action != null){
|
||||
|
|
@ -82,4 +87,23 @@ public class EC2MainServlet extends HttpServlet{
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
private void faultResponse(HttpServletResponse response, String errorCode, String errorMessage) {
|
||||
try {
|
||||
OutputStreamWriter out = new OutputStreamWriter(response.getOutputStream());
|
||||
response.setContentType("text/xml; charset=UTF-8");
|
||||
out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
|
||||
out.write("<Response><Errors><Error><Code>");
|
||||
out.write(errorCode);
|
||||
out.write("</Code><Message>");
|
||||
out.write(errorMessage);
|
||||
out.write("</Message></Error></Errors><RequestID>");
|
||||
out.write(UUID.randomUUID().toString());
|
||||
out.write("</RequestID></Response>");
|
||||
out.flush();
|
||||
out.close();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -890,7 +890,7 @@ public class EC2Engine {
|
|||
public boolean disassociateAddress( EC2DisassociateAddress request ) {
|
||||
try {
|
||||
CloudStackIpAddress cloudIp = getApi().listPublicIpAddresses(null, null, null, null, null, request.getPublicIp(), null, null, null).get(0);
|
||||
CloudStackInfoResponse resp = getApi().disassociateIpAddress(cloudIp.getId());
|
||||
CloudStackInfoResponse resp = getApi().disableStaticNat(cloudIp.getId());
|
||||
if (resp != null) {
|
||||
return resp.getSuccess();
|
||||
}
|
||||
|
|
@ -917,8 +917,9 @@ public class EC2Engine {
|
|||
CloudStackZone zone = findZone();
|
||||
CloudStackNetwork net = findNetwork(zone);
|
||||
// CloudStackIpAddress resp = getApi().associateIpAddress(null, null, null, "0036952d-48df-4422-9fd0-94b0885e18cb");
|
||||
CloudStackIpAddress resp = getApi().associateIpAddress(null, null, null, net.getId());
|
||||
CloudStackIpAddress resp = getApi().associateIpAddress(zone.getId(), caller.getName(), caller.getDomainId(), net != null ? net.getId():null);
|
||||
ec2Address.setAssociatedInstanceId(resp.getId());
|
||||
|
||||
if (resp.getIpAddress() == null) {
|
||||
List<CloudStackIpAddress> addrList = getApi().listPublicIpAddresses(null, null, null, null, null, null, null, null, null);
|
||||
if (addrList != null && addrList.size() > 0) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue