This is an automated email from the ASF dual-hosted git repository.
rohit pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/master by this push:
new 6c6f40f server: fix for public IP addresses filtering (#3368)
6c6f40f is described below
commit 6c6f40fd4d9874fc098ae41fcffb2be4a99f830d
Author: Abhishek Kumar <[email protected]>
AuthorDate: Mon Jun 3 12:52:19 2019 +0530
server: fix for public IP addresses filtering (#3368)
Added missing parameter in listPublicIpAddresses API.
Signed-off-by: Abhishek Kumar <[email protected]>
---
.../api/command/user/address/ListPublicIpAddressesCmd.java | 11 +++++++++++
.../main/java/com/cloud/server/ManagementServerImpl.java | 14 ++++++++++----
2 files changed, 21 insertions(+), 4 deletions(-)
diff --git
a/api/src/main/java/org/apache/cloudstack/api/command/user/address/ListPublicIpAddressesCmd.java
b/api/src/main/java/org/apache/cloudstack/api/command/user/address/ListPublicIpAddressesCmd.java
index d590081..d25d167 100644
---
a/api/src/main/java/org/apache/cloudstack/api/command/user/address/ListPublicIpAddressesCmd.java
+++
b/api/src/main/java/org/apache/cloudstack/api/command/user/address/ListPublicIpAddressesCmd.java
@@ -86,6 +86,13 @@ public class ListPublicIpAddressesCmd extends
BaseListTaggedResourcesCmd {
description = "lists all public IP addresses associated to the
network specified")
private Long associatedNetworkId;
+ @Parameter(name = ApiConstants.NETWORK_ID,
+ type = CommandType.UUID,
+ entityType = NetworkResponse.class,
+ description = "lists all public IP addresses by source network ID",
+ since = "4.13.0")
+ private Long networkId;
+
@Parameter(name = ApiConstants.IS_SOURCE_NAT, type = CommandType.BOOLEAN,
description = "list only source NAT IP addresses")
private Boolean isSourceNat;
@@ -133,6 +140,10 @@ public class ListPublicIpAddressesCmd extends
BaseListTaggedResourcesCmd {
return associatedNetworkId;
}
+ public Long getNetworkId() {
+ return networkId;
+ }
+
public Boolean isSourceNat() {
return isSourceNat;
}
diff --git a/server/src/main/java/com/cloud/server/ManagementServerImpl.java
b/server/src/main/java/com/cloud/server/ManagementServerImpl.java
index b211cab..af2c6c8 100644
--- a/server/src/main/java/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/main/java/com/cloud/server/ManagementServerImpl.java
@@ -37,7 +37,6 @@ import javax.crypto.spec.SecretKeySpec;
import javax.inject.Inject;
import javax.naming.ConfigurationException;
-import com.cloud.storage.ScopeType;
import org.apache.cloudstack.acl.ControlledEntity;
import org.apache.cloudstack.affinity.AffinityGroupProcessor;
import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao;
@@ -217,10 +216,10 @@ import
org.apache.cloudstack.api.command.admin.usage.AddTrafficTypeCmd;
import org.apache.cloudstack.api.command.admin.usage.DeleteTrafficMonitorCmd;
import org.apache.cloudstack.api.command.admin.usage.DeleteTrafficTypeCmd;
import org.apache.cloudstack.api.command.admin.usage.GenerateUsageRecordsCmd;
-import org.apache.cloudstack.api.command.admin.usage.ListUsageRecordsCmd;
import org.apache.cloudstack.api.command.admin.usage.ListTrafficMonitorsCmd;
import
org.apache.cloudstack.api.command.admin.usage.ListTrafficTypeImplementorsCmd;
import org.apache.cloudstack.api.command.admin.usage.ListTrafficTypesCmd;
+import org.apache.cloudstack.api.command.admin.usage.ListUsageRecordsCmd;
import org.apache.cloudstack.api.command.admin.usage.ListUsageTypesCmd;
import org.apache.cloudstack.api.command.admin.usage.RemoveRawUsageRecordsCmd;
import org.apache.cloudstack.api.command.admin.usage.UpdateTrafficTypeCmd;
@@ -634,6 +633,7 @@ import com.cloud.storage.GuestOSHypervisor;
import com.cloud.storage.GuestOSHypervisorVO;
import com.cloud.storage.GuestOSVO;
import com.cloud.storage.GuestOsCategory;
+import com.cloud.storage.ScopeType;
import com.cloud.storage.StorageManager;
import com.cloud.storage.StoragePool;
import com.cloud.storage.Volume;
@@ -1848,6 +1848,7 @@ public class ManagementServerImpl extends ManagerBase
implements ManagementServe
final Object keyword = cmd.getKeyword();
final Long physicalNetworkId = cmd.getPhysicalNetworkId();
final Long associatedNetworkId = cmd.getAssociatedNetworkId();
+ final Long sourceNetworkId = cmd.getNetworkId();
final Long zone = cmd.getZoneId();
final String address = cmd.getIpAddress();
final Long vlan = cmd.getVlanId();
@@ -1893,7 +1894,8 @@ public class ManagementServerImpl extends ManagerBase
implements ManagementServe
sb.and("vlanDbId", sb.entity().getVlanId(), SearchCriteria.Op.EQ);
sb.and("id", sb.entity().getId(), SearchCriteria.Op.EQ);
sb.and("physicalNetworkId", sb.entity().getPhysicalNetworkId(),
SearchCriteria.Op.EQ);
- sb.and("associatedNetworkIdEq",
sb.entity().getAssociatedWithNetworkId(), SearchCriteria.Op.EQ);
+ sb.and("associatedNetworkId",
sb.entity().getAssociatedWithNetworkId(), SearchCriteria.Op.EQ);
+ sb.and("sourceNetworkId", sb.entity().getSourceNetworkId(),
SearchCriteria.Op.EQ);
sb.and("isSourceNat", sb.entity().isSourceNat(), SearchCriteria.Op.EQ);
sb.and("isStaticNat", sb.entity().isOneToOneNat(),
SearchCriteria.Op.EQ);
sb.and("vpcId", sb.entity().getVpcId(), SearchCriteria.Op.EQ);
@@ -1991,7 +1993,11 @@ public class ManagementServerImpl extends ManagerBase
implements ManagementServe
}
if (associatedNetworkId != null) {
- sc.setParameters("associatedNetworkIdEq", associatedNetworkId);
+ sc.setParameters("associatedNetworkId", associatedNetworkId);
+ }
+
+ if (sourceNetworkId != null) {
+ sc.setParameters("sourceNetworkId", sourceNetworkId);
}
if (forDisplay != null) {