cloudstack 3.0 API - listVpnConnections API - add publicip property (get it from vpnGateway object).

This commit is contained in:
Jessica Wang 2012-07-02 10:22:30 -07:00 committed by Sheng Yang
parent 8fad593ac5
commit 196885e378
3 changed files with 27 additions and 1 deletions

View File

@ -30,6 +30,9 @@ public class Site2SiteVpnConnectionResponse extends BaseResponse {
@SerializedName(ApiConstants.S2S_VPN_GATEWAY_ID) @Param(description="the vpn gateway ID")
private IdentityProxy vpnGatewayId= new IdentityProxy("s2s_vpn_gateway");
@SerializedName(ApiConstants.PUBLIC_IP) @Param(description="the public IP address")
private String ip;
@SerializedName(ApiConstants.S2S_CUSTOMER_GATEWAY_ID) @Param(description="the customer gateway ID")
private IdentityProxy customerGatewayId = new IdentityProxy("s2s_customer_gateway");
@ -48,6 +51,10 @@ public class Site2SiteVpnConnectionResponse extends BaseResponse {
this.vpnGatewayId.setValue(vpnGatewayId);
}
public void setIp(String ip) {
this.ip = ip;
}
public void setCustomerGatewayId(Long customerGatewayId) {
this.customerGatewayId.setValue(customerGatewayId);
}

View File

@ -62,6 +62,7 @@ import com.cloud.network.NetworkManager;
import com.cloud.network.NetworkProfile;
import com.cloud.network.NetworkRuleConfigVO;
import com.cloud.network.NetworkVO;
import com.cloud.network.Site2SiteVpnGatewayVO;
import com.cloud.network.Networks.TrafficType;
import com.cloud.network.dao.FirewallRulesCidrsDao;
import com.cloud.network.dao.IPAddressDao;
@ -69,6 +70,7 @@ import com.cloud.network.dao.LoadBalancerDao;
import com.cloud.network.dao.NetworkDao;
import com.cloud.network.dao.NetworkDomainDao;
import com.cloud.network.dao.NetworkRuleConfigDao;
import com.cloud.network.dao.Site2SiteVpnGatewayDao;
import com.cloud.network.security.SecurityGroup;
import com.cloud.network.security.SecurityGroupManager;
import com.cloud.network.security.SecurityGroupVO;
@ -183,6 +185,7 @@ public class ApiDBUtils {
private static UserVmDao _userVmDao;
private static VlanDao _vlanDao;
private static VolumeDao _volumeDao;
private static Site2SiteVpnGatewayDao _site2SiteVpnGatewayDao;
private static VolumeHostDao _volumeHostDao;
private static DataCenterDao _zoneDao;
private static NetworkOfferingDao _networkOfferingDao;
@ -238,6 +241,7 @@ public class ApiDBUtils {
_userVmDao = locator.getDao(UserVmDao.class);
_vlanDao = locator.getDao(VlanDao.class);
_volumeDao = locator.getDao(VolumeDao.class);
_site2SiteVpnGatewayDao = locator.getDao(Site2SiteVpnGatewayDao.class);
_volumeHostDao = locator.getDao(VolumeHostDao.class);
_zoneDao = locator.getDao(DataCenterDao.class);
_securityGroupDao = locator.getDao(SecurityGroupDao.class);
@ -555,6 +559,10 @@ public class ApiDBUtils {
return _volumeDao.findByIdIncludingRemoved(volumeId);
}
public static Site2SiteVpnGatewayVO findVpnGatewayById(Long vpnGatewayId) {
return _site2SiteVpnGatewayDao.findById(vpnGatewayId);
}
public static List<UserVO> listUsersByAccount(long accountId) {
return _userDao.listByAccount(accountId);
}

View File

@ -146,6 +146,7 @@ import com.cloud.network.RemoteAccessVpn;
import com.cloud.network.Site2SiteCustomerGateway;
import com.cloud.network.Site2SiteVpnConnection;
import com.cloud.network.Site2SiteVpnGateway;
import com.cloud.network.Site2SiteVpnGatewayVO;
import com.cloud.network.VirtualRouterProvider;
import com.cloud.network.VpnUser;
import com.cloud.network.router.VirtualRouter;
@ -3790,7 +3791,17 @@ public class ApiResponseHelper implements ResponseGenerator {
public Site2SiteVpnConnectionResponse createSite2SiteVpnConnectionResponse(Site2SiteVpnConnection result) {
Site2SiteVpnConnectionResponse response = new Site2SiteVpnConnectionResponse();
response.setId(result.getId());
response.setVpnGatewayId(result.getVpnGatewayId());
response.setVpnGatewayId(result.getVpnGatewayId());
Long vpnGatewayId = result.getVpnGatewayId();
if(vpnGatewayId != null) {
Site2SiteVpnGatewayVO vpnGateway = ApiDBUtils.findVpnGatewayById(vpnGatewayId);//???
long ipId = vpnGateway.getAddrId();
IPAddressVO ipObj = ApiDBUtils.findIpAddressById(ipId);
response.setIp(ipObj.getAddress().addr());
}
response.setCustomerGatewayId(result.getCustomerGatewayId());
response.setCreated(result.getCreated());
response.setRemoved(result.getRemoved());