From a7ccbdc79084b56d2a32a3ecd14d5ffed2b9a811 Mon Sep 17 00:00:00 2001 From: Anurag Awasthi <43956255+anuragaw@users.noreply.github.com> Date: Sun, 23 Dec 2018 00:34:53 +0530 Subject: [PATCH] api: allow keyword search in listSSHKeyPairs (#2920) (#3098) Adds support for keyword search that was ignored by listsshkeypairs command. Fixes: #2920 --- server/src/com/cloud/server/ManagementServerImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 56c912d29c1..38a84bb2dad 100644 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -3655,6 +3655,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe public Pair, Integer> listSSHKeyPairs(final ListSSHKeyPairsCmd cmd) { final String name = cmd.getName(); final String fingerPrint = cmd.getFingerprint(); + final String keyword = cmd.getKeyword(); final Account caller = getCaller(); final List permittedAccounts = new ArrayList(); @@ -3681,6 +3682,11 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe sc.addAnd("fingerprint", SearchCriteria.Op.EQ, fingerPrint); } + if (keyword != null) { + sc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%"); + sc.addOr("fingerprint", SearchCriteria.Op.LIKE, "%" + keyword + "%"); + } + final Pair, Integer> result = _sshKeyPairDao.searchAndCount(sc, searchFilter); return new Pair, Integer>(result.first(), result.second()); }