mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 20:02:29 +01:00
bug 10340: added cidrs in response
The input can take multiple cidrs as in 10.91.28.0/24,169.254.2.0/24,56.89.0.0/16
This commit is contained in:
parent
83ee4e653c
commit
098f68d18e
@ -59,6 +59,11 @@ public class FirewallRuleResponse extends BaseResponse {
|
||||
|
||||
@SerializedName("state") @Param(description="the state of the rule")
|
||||
private String state;
|
||||
|
||||
@SerializedName(ApiConstants.CIDR_LIST) @Param(description="the cidr list to forward traffic from")
|
||||
private String cidrList;
|
||||
|
||||
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
@ -155,4 +160,13 @@ public class FirewallRuleResponse extends BaseResponse {
|
||||
public void setPublicIpAddressId(Long publicIpAddressId) {
|
||||
this.publicIpAddressId = publicIpAddressId;
|
||||
}
|
||||
|
||||
public String getCidrList() {
|
||||
return cidrList;
|
||||
}
|
||||
|
||||
public void setCidrList(String cidrs) {
|
||||
this.cidrList = cidrs;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -56,10 +56,12 @@ import com.cloud.network.NetworkProfile;
|
||||
import com.cloud.network.NetworkRuleConfigVO;
|
||||
import com.cloud.network.NetworkVO;
|
||||
import com.cloud.network.Networks.TrafficType;
|
||||
import com.cloud.network.dao.FirewallRulesCidrsDao;
|
||||
import com.cloud.network.dao.IPAddressDao;
|
||||
import com.cloud.network.dao.LoadBalancerDao;
|
||||
import com.cloud.network.dao.NetworkDao;
|
||||
import com.cloud.network.dao.NetworkRuleConfigDao;
|
||||
import com.cloud.network.rules.PortForwardingRuleVO;
|
||||
import com.cloud.network.security.SecurityGroup;
|
||||
import com.cloud.network.security.SecurityGroupManager;
|
||||
import com.cloud.network.security.SecurityGroupVO;
|
||||
@ -160,6 +162,7 @@ public class ApiDBUtils {
|
||||
private static ConfigurationService _configMgr;
|
||||
private static ConfigurationDao _configDao;
|
||||
private static ConsoleProxyDao _consoleProxyDao;
|
||||
private static FirewallRulesCidrsDao _firewallCidrsDao;
|
||||
|
||||
static {
|
||||
_ms = (ManagementServer) ComponentLocator.getComponent(ManagementServer.Name);
|
||||
@ -204,6 +207,7 @@ public class ApiDBUtils {
|
||||
_networkDao = locator.getDao(NetworkDao.class);
|
||||
_configDao = locator.getDao(ConfigurationDao.class);
|
||||
_consoleProxyDao = locator.getDao(ConsoleProxyDao.class);
|
||||
_firewallCidrsDao = locator.getDao(FirewallRulesCidrsDao.class);
|
||||
|
||||
// Note: stats collector should already have been initialized by this time, otherwise a null instance is returned
|
||||
_statsCollector = StatsCollector.getInstance();
|
||||
@ -583,5 +587,9 @@ public class ApiDBUtils {
|
||||
public static ConsoleProxyVO findConsoleProxy(long id) {
|
||||
return _consoleProxyDao.findById(id);
|
||||
}
|
||||
|
||||
public static List<String> findPortForwardingSourceCidrs(long id){
|
||||
return _firewallCidrsDao.getSourceCidrs(id);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -149,6 +149,7 @@ import com.cloud.user.UserStatisticsVO;
|
||||
import com.cloud.user.UserVO;
|
||||
import com.cloud.uservm.UserVm;
|
||||
import com.cloud.utils.Pair;
|
||||
import com.cloud.utils.StringUtils;
|
||||
import com.cloud.utils.net.NetUtils;
|
||||
import com.cloud.vm.ConsoleProxyVO;
|
||||
import com.cloud.vm.InstanceGroup;
|
||||
@ -986,6 +987,8 @@ public class ApiResponseHelper implements ResponseGenerator {
|
||||
response.setProtocol(fwRule.getProtocol());
|
||||
response.setPublicStartPort(Integer.toString(fwRule.getSourcePortStart()));
|
||||
response.setPublicEndPort(Integer.toString(fwRule.getSourcePortEnd()));
|
||||
List<String> cidrs = ApiDBUtils.findPortForwardingSourceCidrs(fwRule.getId());
|
||||
response.setCidrList(StringUtils.join(cidrs, ","));
|
||||
|
||||
IpAddress ip = ApiDBUtils.findIpAddressById(fwRule.getSourceIpAddressId());
|
||||
response.setPublicIpAddressId(ip.getId());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user