@Override public Iterable<Template> listImages() { // TODO: we may need to filter these further // we may also want to see if we can work with ssh keys return filter(client.getTemplateClient().listTemplates(), isReady()); }
@Override public Template getImage(String id) { return get(client.getTemplateClient().listTemplates(id(id)), 0, null); }
@Override public Iterable<Template> listImages() { // TODO: we may need to filter these further // we may also want to see if we can work with ssh keys return filter(client.getTemplateClient().listTemplates(), isReady()); }
@Override public Template getImage(String id) { return get(client.getTemplateClient().listTemplates(id(id)), 0, null); }
@Override public Object doExecuteWithContext(CloudStackClient client, PrintStream out) throws Exception { out.printf("CloudStack templates for provider %s\n", getProvider().getId()); for (Template template : client.getTemplateClient().listTemplates()) { out.printf("---\n%s\n", template.toString()); } out.println(); return null; } }
public static String getTemplateForZone(CloudStackClient client, String zoneId) { // TODO enum, as this is way too easy to mess up. Set<String> acceptableCategories = ImmutableSet.of("Ubuntu", "CentOS"); final Predicate<Template> hypervisorPredicate = new CorrectHypervisorForZone(client).apply(zoneId); final Predicate<Template> osTypePredicate = new OSCategoryIn(client).apply(acceptableCategories); @SuppressWarnings("unchecked") Predicate<Template> templatePredicate = Predicates.<Template> and(TemplatePredicates.isReady(), hypervisorPredicate, osTypePredicate); Iterable<Template> templates = filter( client.getTemplateClient().listTemplates(ListTemplatesOptions.Builder.zoneId(zoneId)), templatePredicate); if (Iterables.any(templates, TemplatePredicates.isPasswordEnabled())) { templates = filter(templates, TemplatePredicates.isPasswordEnabled()); } if (Iterables.size(templates) == 0) { throw new NoSuchElementException(templatePredicate.toString()); } String templateId = get(templates, 0).getId(); return templateId; }
@Test public void testListTemplates() throws Exception { Set<Template> response = client.getTemplateClient().listTemplates(); assert null != response; long templateCount = response.size(); assertTrue(templateCount >= 0); for (Template template : response) { Template newDetails = Iterables.getOnlyElement(client.getTemplateClient().listTemplates( zoneId(template.getZoneId()).id(template.getId()))); Logger.CONSOLE.info("Checking template: " + template);
client.getTemplateClient().listTemplates(ListTemplatesOptions.Builder.id(defaultTemplate))); logger.info("Using template: " + template);