cloudstack 3.0: (1) API - CreateVpnConnection API, ListVpnConnections API: set object name for API response.

(2) UI - Add site-to-site VPN dialog - call CreateVpnConnection API after CreateVpnCustomerGateway API returns success.
This commit is contained in:
Jessica Wang 2012-06-29 14:55:26 -07:00
parent 6cf45ad29b
commit e07ec3cd2c
3 changed files with 44 additions and 2 deletions

View File

@ -65,7 +65,9 @@ public class ListVpnConnectionsCmd extends BaseListProjectAndAccountResourcesCmd
List<Site2SiteVpnConnectionResponse> connResponses = new ArrayList<Site2SiteVpnConnectionResponse>();
if (conns != null && !conns.isEmpty()) {
for (Site2SiteVpnConnection conn : conns) {
connResponses.add(_responseGenerator.createSite2SiteVpnConnectionResponse(conn));
Site2SiteVpnConnectionResponse site2SiteVpnConnectonRes = _responseGenerator.createSite2SiteVpnConnectionResponse(conn);
site2SiteVpnConnectonRes.setObjectName("vpnconnection");
connResponses.add(site2SiteVpnConnectonRes);
}
}
response.setResponses(connResponses);

View File

@ -3649,6 +3649,7 @@ public class ApiResponseHelper implements ResponseGenerator {
response.setCustomerGatewayId(result.getCustomerGatewayId());
response.setCreated(result.getCreated());
response.setRemoved(result.getRemoved());
response.setObjectName("vpnconnection");
return response;
}
}

View File

@ -3356,7 +3356,46 @@
if (result.jobstatus == 1) {
var obj = result.jobresult.vpncustomergateway;
var vpncustomergatewayid = obj.id;
//???
//???
$.ajax({
url: createURL('createVpnConnection'),
data: {
s2svpngatewayid: vpngatewayid,
s2scustomergatewayid: vpncustomergatewayid
},
dataType: 'json',
success: function(json) {
var jid = json.createvpnconnectionresponse.jobid;
var createvpnconnectionIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobid=" + jid),
dataType: "json",
success: function(json) {
var result = json.queryasyncjobresultresponse;
if (result.jobstatus == 0) {
return; //Job has not completed
}
else {
clearInterval(createvpnconnectionIntervalID);
if (result.jobstatus == 1) {
debugger;
var obj = result.jobresult.vpnconnection;
}
else if (result.jobstatus == 2) {
alert("Failed to create VPN connection. Error: " + _s(result.jobresult.errortext));
}
}
},
error: function(XMLHttpResponse) {
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
alert("Failed to create VPN connection. Error: " + errorMsg);
}
});
}, 3000);
}
});
//???
}
else if (result.jobstatus == 2) {
alert("Failed to create VPN customer gateway. Error: " + _s(result.jobresult.errortext));