diff --git a/cloudbridge/src/com/cloud/bridge/service/core/ec2/EC2Engine.java b/cloudbridge/src/com/cloud/bridge/service/core/ec2/EC2Engine.java index 9c5a902de8b..79b04150dfa 100644 --- a/cloudbridge/src/com/cloud/bridge/service/core/ec2/EC2Engine.java +++ b/cloudbridge/src/com/cloud/bridge/service/core/ec2/EC2Engine.java @@ -1707,9 +1707,30 @@ public class EC2Engine { */ private EC2DescribeImagesResponse listTemplates( String templateId, EC2DescribeImagesResponse images ) throws EC2ServiceException { try { - List resp = getApi().listTemplates("executable", null, null, null, templateId != null ? templateId : null, null, null, null); - if (resp != null && resp.size() > 0) { - for (CloudStackTemplate temp : resp) { + List result = new ArrayList(); + + List selfExecutable = getApi().listTemplates("selfexecutable", null, null, null, templateId != null ? templateId : null, null, null, null); + if(selfExecutable != null){ + result.addAll(selfExecutable); + } + + List featured = getApi().listTemplates("featured", null, null, null, templateId != null ? templateId : null, null, null, null); + if(featured != null){ + result.addAll(featured); + } + + List sharedExecutable = getApi().listTemplates("sharedexecutable", null, null, null, templateId != null ? templateId : null, null, null, null); + if(sharedExecutable != null){ + result.addAll(sharedExecutable); + } + + List community = getApi().listTemplates("community", null, null, null, templateId != null ? templateId : null, null, null, null); + if(community != null){ + result.addAll(community); + } + + if (result != null && result.size() > 0) { + for (CloudStackTemplate temp : result) { EC2Image ec2Image = new EC2Image(); ec2Image.setId(temp.getId().toString()); ec2Image.setAccountName(temp.getAccount());