diff --git a/api/src/org/apache/cloudstack/api/command/user/zone/ListZonesByCmd.java b/api/src/org/apache/cloudstack/api/command/user/zone/ListZonesByCmd.java index 97fe2ffeb90..bbfb598b1db 100644 --- a/api/src/org/apache/cloudstack/api/command/user/zone/ListZonesByCmd.java +++ b/api/src/org/apache/cloudstack/api/command/user/zone/ListZonesByCmd.java @@ -53,6 +53,9 @@ public class ListZonesByCmd extends BaseListCmd { description="the ID of the domain associated with the zone") private Long domainId; + @Parameter(name=ApiConstants.NAME, type=CommandType.STRING, description="the name of the zone") + private String name; + @Parameter(name=ApiConstants.SHOW_CAPACITIES, type=CommandType.BOOLEAN, description="flag to display the capacity of the zones") private Boolean showCapacities; @@ -72,6 +75,10 @@ public class ListZonesByCmd extends BaseListCmd { return domainId; } + public String getName(){ + return name; + } + public Boolean getShowCapacities() { return showCapacities; } diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java index 51312a60eb1..746e8cb31ff 100644 --- a/server/src/com/cloud/api/query/QueryManagerImpl.java +++ b/server/src/com/cloud/api/query/QueryManagerImpl.java @@ -2190,12 +2190,15 @@ public class QueryManagerImpl extends ManagerBase implements QueryService { Long domainId = cmd.getDomainId(); Long id = cmd.getId(); String keyword = cmd.getKeyword(); + String name = cmd.getName(); Filter searchFilter = new Filter(DataCenterJoinVO.class, null, false, cmd.getStartIndex(), cmd.getPageSizeVal()); SearchCriteria sc = _dcJoinDao.createSearchCriteria(); if (id != null) { sc.addAnd("id", SearchCriteria.Op.EQ, id); + } else if (name != null) { + sc.addAnd("name", SearchCriteria.Op.EQ, name); } else { if (keyword != null) { SearchCriteria ssc = _dcJoinDao.createSearchCriteria();