Skip to content

Commit 162c45f

Browse files
api/server: list networks by name (#11470)
* api/server: list networks by name * Update api/src/main/java/org/apache/cloudstack/api/command/user/network/ListNetworksCmd.java
1 parent 0b9afe7 commit 162c45f

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

api/src/main/java/org/apache/cloudstack/api/command/user/network/ListNetworksCmd.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ public class ListNetworksCmd extends BaseListRetrieveOnlyResourceCountCmd implem
5353
@Parameter(name = ApiConstants.ID, type = CommandType.UUID, entityType = NetworkResponse.class, description = "list networks by ID")
5454
private Long id;
5555

56+
@Parameter(name = ApiConstants.NAME, type = CommandType.STRING, description = "list networks by name", since = "4.22.0")
57+
private String name;
58+
5659
@Parameter(name = ApiConstants.ZONE_ID, type = CommandType.UUID, entityType = ZoneResponse.class, description = "the zone ID of the network")
5760
private Long zoneId;
5861

@@ -125,6 +128,10 @@ public Long getId() {
125128
return id;
126129
}
127130

131+
public String getName() {
132+
return name;
133+
}
134+
128135
public Long getZoneId() {
129136
return zoneId;
130137
}

server/src/main/java/com/cloud/network/NetworkServiceImpl.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2376,6 +2376,7 @@ private Provider getNetworkOfferingProvider(NetworkOffering networkOffering) {
23762376
@Override
23772377
public Pair<List<? extends Network>, Integer> searchForNetworks(ListNetworksCmd cmd) {
23782378
Long id = cmd.getId();
2379+
String name = cmd.getName();
23792380
String keyword = cmd.getKeyword();
23802381
Long zoneId = cmd.getZoneId();
23812382
Account caller = CallContext.current().getCallingAccount();
@@ -2554,7 +2555,7 @@ public Pair<List<? extends Network>, Integer> searchForNetworks(ListNetworksCmd
25542555

25552556
Pair<List<NetworkVO>, Integer> result = new Pair<>(new ArrayList<>(), 0);
25562557
if (BooleanUtils.isTrue(isSystem)) {
2557-
SearchCriteria<NetworkVO> sc = createNetworkSearchCriteria(sb, keyword, id, isSystem, zoneId, guestIpType, trafficType,
2558+
SearchCriteria<NetworkVO> sc = createNetworkSearchCriteria(sb, name, keyword, id, isSystem, zoneId, guestIpType, trafficType,
25582559
physicalNetworkId, networkOfferingId, null, restartRequired, specifyIpRanges,
25592560
vpcId, tags, display, vlanId, associatedNetworkId);
25602561
addProjectNetworksConditionToSearch(sc, true);
@@ -2567,7 +2568,7 @@ public Pair<List<? extends Network>, Integer> searchForNetworks(ListNetworksCmd
25672568
addSharedNetworksToSearch(additionalSC, sb, networkFilter, permittedAccounts, path, isRecursive);
25682569

25692570
if (CollectionUtils.isNotEmpty(additionalSC.getValues())) {
2570-
SearchCriteria<NetworkVO> sc = createNetworkSearchCriteria(sb, keyword, id, isSystem, zoneId, guestIpType,
2571+
SearchCriteria<NetworkVO> sc = createNetworkSearchCriteria(sb, name, keyword, id, isSystem, zoneId, guestIpType,
25712572
trafficType, physicalNetworkId, networkOfferingId, aclType, restartRequired, specifyIpRanges, vpcId,
25722573
tags, display, vlanId, associatedNetworkId);
25732574
sc.addAnd("id", SearchCriteria.Op.SC, additionalSC);
@@ -2680,7 +2681,7 @@ private void addSharedNetworksToSearch(SearchCriteria<NetworkVO> additionalSC, S
26802681
}
26812682
}
26822683

2683-
private SearchCriteria<NetworkVO> createNetworkSearchCriteria(SearchBuilder<NetworkVO> sb, String keyword, Long id,
2684+
private SearchCriteria<NetworkVO> createNetworkSearchCriteria(SearchBuilder<NetworkVO> sb, String name, String keyword, Long id,
26842685
Boolean isSystem, Long zoneId, String guestIpType, String trafficType, Long physicalNetworkId,
26852686
Long networkOfferingId, String aclType, Boolean restartRequired,
26862687
Boolean specifyIpRanges, Long vpcId, Map<String, String> tags, Boolean display, String vlanId, Long associatedNetworkId) {
@@ -2691,6 +2692,10 @@ private SearchCriteria<NetworkVO> createNetworkSearchCriteria(SearchBuilder<Netw
26912692
sc.setJoinParameters("networkOfferingSearch", "systemOnly", isSystem);
26922693
}
26932694

2695+
if (name != null) {
2696+
sc.addAnd("name", SearchCriteria.Op.EQ, name);
2697+
}
2698+
26942699
if (keyword != null) {
26952700
SearchCriteria<NetworkVO> ssc = _networksDao.createSearchCriteria();
26962701
ssc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%");

0 commit comments

Comments
 (0)