mirror of https://github.com/apache/cloudstack.git
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:
parent
6cf45ad29b
commit
e07ec3cd2c
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
Loading…
Reference in New Issue