diff --git a/clouddriver-aws/src/main/groovy/com/netflix/spinnaker/clouddriver/aws/controllers/AmazonNamedImageLookupController.groovy b/clouddriver-aws/src/main/groovy/com/netflix/spinnaker/clouddriver/aws/controllers/AmazonNamedImageLookupController.groovy index a39d0934ee8..5c0720aef85 100644 --- a/clouddriver-aws/src/main/groovy/com/netflix/spinnaker/clouddriver/aws/controllers/AmazonNamedImageLookupController.groovy +++ b/clouddriver-aws/src/main/groovy/com/netflix/spinnaker/clouddriver/aws/controllers/AmazonNamedImageLookupController.groovy @@ -84,15 +84,16 @@ class AmazonNamedImageLookupController { Collection namedImageIdentifiers = !isAmi ? cacheView.filterIdentifiers(NAMED_IMAGES.ns, namedImageSearch) : [] Collection imageIdentifiers = namedImageIdentifiers.isEmpty() ? cacheView.filterIdentifiers(IMAGES.ns, imageSearch) : [] - namedImageIdentifiers = (namedImageIdentifiers as List).subList(0, Math.min(MAX_SEARCH_RESULTS, namedImageIdentifiers.size())) Collection matchesByName = cacheView.getAll(NAMED_IMAGES.ns, namedImageIdentifiers, RelationshipCacheFilter.include(IMAGES.ns)) Collection matchesByImageId = cacheView.getAll(IMAGES.ns, imageIdentifiers) - return filter( + List allFilteredImages = filter( render(matchesByName, matchesByImageId, lookupOptions.q, lookupOptions.region), extractTagFilters(request) ) + + return allFilteredImages.subList(0, Math.min(MAX_SEARCH_RESULTS, allFilteredImages.size())) } private List render(Collection namedImages, Collection images, String requestedName = null, String requiredRegion = null) {