@Override public Image load(@Nullable RegionAndName from) { return ImagesToRegionAndIdMap.imagesToMap(images).get(from); } };
@SuppressWarnings({ "unchecked", "rawtypes" }) @Override public Set<? extends Image> get() { if (amiOwners.length == 0) { logger.debug(">> no owners specified, skipping image parsing"); return ImmutableSet.of(); } else { logger.debug(">> providing images"); Iterable<Entry<String, DescribeImagesOptions>> queries = getDescribeQueriesForOwnersInRegions(regions.get(), amiOwners); Iterable<? extends Image> parsedImages = ImmutableSet.copyOf(filter(transform(describer.apply(queries), parser), Predicates .notNull())); Map<RegionAndName, ? extends Image> imageMap = ImagesToRegionAndIdMap.imagesToMap(parsedImages); cache.get().invalidateAll(); cache.get().asMap().putAll((Map)imageMap); logger.debug("<< images(%d)", imageMap.size()); return Sets.newLinkedHashSet(imageMap.values()); } }
@SuppressWarnings({ "unchecked", "rawtypes" }) @Override public Set<? extends Image> get() { if (amiOwners.length == 0) { logger.debug(">> no owners specified, skipping image parsing"); return ImmutableSet.of(); } else { logger.debug(">> providing images"); Iterable<Entry<String, DescribeImagesOptions>> queries = getDescribeQueriesForOwnersInRegions(regions.get(), amiOwners); Iterable<? extends Image> parsedImages = ImmutableSet.copyOf(filter(transform(describer.apply(queries), parser), Predicates .notNull())); Map<RegionAndName, ? extends Image> imageMap = ImagesToRegionAndIdMap.imagesToMap(parsedImages); cache.get().invalidateAll(); cache.get().asMap().putAll((Map)imageMap); logger.debug("<< images(%d)", imageMap.size()); return Sets.newLinkedHashSet(imageMap.values()); } }
@SuppressWarnings({ "unchecked", "rawtypes" }) @Override public Set<? extends Image> get() { if (amiOwners.length == 0) { logger.debug(">> no owners specified, skipping image parsing"); return ImmutableSet.of(); } else { logger.debug(">> providing images"); Iterable<Entry<String, DescribeImagesOptions>> queries = getDescribeQueriesForOwnersInRegions(regions.get(), amiOwners); Iterable<? extends Image> parsedImages = ImmutableSet.copyOf(filter(transform(describer.apply(queries), parser), Predicates .notNull())); Map<RegionAndName, ? extends Image> imageMap = ImagesToRegionAndIdMap.imagesToMap(parsedImages); cache.get().invalidateAll(); cache.get().asMap().putAll((Map)imageMap); logger.debug("<< images(%d)", imageMap.size()); return Sets.newLinkedHashSet(imageMap.values()); } }
@Override public Image load(@Nullable RegionAndName from) { return ImagesToRegionAndIdMap.imagesToMap(images).get(from); } };
@SuppressWarnings({ "unchecked", "rawtypes" }) @Override public Set<? extends Image> get() { if (amiOwners.length == 0) { logger.debug(">> no owners specified, skipping image parsing"); return ImmutableSet.of(); } else { logger.debug(">> providing images"); Iterable<Entry<String, DescribeImagesOptions>> queries = getDescribeQueriesForOwnersInRegions(regions.get(), amiOwners); Iterable<? extends Image> parsedImages = ImmutableSet.copyOf(filter(transform(describer.apply(queries), parser), Predicates .notNull())); Map<RegionAndName, ? extends Image> imageMap = ImagesToRegionAndIdMap.imagesToMap(parsedImages); cache.get().invalidateAll(); cache.get().asMap().putAll((Map)imageMap); logger.debug("<< images(%d)", imageMap.size()); return Sets.newLinkedHashSet(imageMap.values()); } }
@SuppressWarnings({ "unchecked", "rawtypes" }) @Override public Set<? extends Image> get() { if (amiOwners.length == 0) { logger.debug(">> no owners specified, skipping image parsing"); return ImmutableSet.of(); } else { logger.debug(">> providing images"); Iterable<Entry<String, DescribeImagesOptions>> queries = getDescribeQueriesForOwnersInRegions(regions.get(), amiOwners); Iterable<? extends Image> parsedImages = ImmutableSet.copyOf(filter(transform(describer.apply(queries), parser), Predicates .notNull())); Map<RegionAndName, ? extends Image> imageMap = ImagesToRegionAndIdMap.imagesToMap(parsedImages); cache.get().invalidateAll(); cache.get().asMap().putAll((Map)imageMap); logger.debug("<< images(%d)", imageMap.size()); return Sets.newLinkedHashSet(imageMap.values()); } }
final Map<RegionAndName, ? extends Image> imageMap = ImagesToRegionAndIdMap.imagesToMap(parsedImages); cache.get().invalidateAll(); cache.get().asMap().putAll(Map.class.cast(imageMap));
Map<RegionAndName, ? extends Image> imageMap = ImagesToRegionAndIdMap.imagesToMap(parsedImages); cache.get().invalidateAll(); cache.get().putAll(Map.class.cast(imageMap));
Map<RegionAndName, ? extends Image> imageMap = ImagesToRegionAndIdMap.imagesToMap(parsedImages); cache.get().invalidateAll(); cache.get().putAll(Map.class.cast(imageMap));
protected AWSRunningInstanceToNodeMetadata createNodeParser(final ImmutableSet<Hardware> hardware, final ImmutableSet<Location> locations, Set<org.jclouds.compute.domain.Image> images, Map<String, Credentials> credentialStore) { Map<InstanceState, Status> instanceToNodeStatus = EC2ComputeServiceDependenciesModule.toPortableNodeStatus; final Map<RegionAndName, ? extends Image> backing = ImagesToRegionAndIdMap.imagesToMap(images); LoadingCache<RegionAndName, Image> instanceToImage = CacheBuilder.newBuilder().build(new CacheLoader<RegionAndName, Image>() { @Override public Image load(RegionAndName key) throws Exception { return backing.get(key); } }); return createNodeParser(hardware, locations, credentialStore, instanceToNodeStatus, instanceToImage); }
public TemplateBuilder createTemplateBuilder() { final Supplier<Set<? extends Image>> images = Suppliers.<Set<? extends Image>> ofInstance(ImmutableSet.of(getImage())); ImmutableMap<RegionAndName, Image> imageMap = (ImmutableMap<RegionAndName, Image>) ImagesToRegionAndIdMap.imagesToMap(images.get()); Supplier<LoadingCache<RegionAndName, ? extends Image>> imageCache = Suppliers.<LoadingCache<RegionAndName, ? extends Image>> ofInstance( CacheBuilder.newBuilder().<RegionAndName, Image>build(CacheLoader.from(Functions.forMap(imageMap)))); return newTemplateBuilder(images, imageCache); }
@Override protected EC2TemplateBuilderImpl createTemplateBuilder(final Image knownImage, @Memoized Supplier<Set<? extends Location>> locations, final @Memoized Supplier<Set<? extends Image>> images, @Memoized Supplier<Set<? extends Hardware>> sizes, Location defaultLocation, Provider<TemplateOptions> optionsProvider, Provider<TemplateBuilder> templateBuilderProvider) { LoadingCache<RegionAndName, ? extends Image> imageMap; if (knownImage != null) { final RegionAndName knownRegionAndName = new RegionAndName(knownImage.getLocation().getId(), knownImage.getProviderId()); imageMap = CacheBuilder.newBuilder().build(new CacheLoader<RegionAndName, Image>() { @Override public Image load(RegionAndName from) { return from.equals(knownRegionAndName) ? knownImage : null; } }); } else { imageMap = CacheBuilder.newBuilder().build(CacheLoader.from(Functions.forMap( ImagesToRegionAndIdMap.imagesToMap(images.get())))); } return new EC2TemplateBuilderImpl(locations, images, sizes, Suppliers.ofInstance(defaultLocation), optionsProvider, templateBuilderProvider, Suppliers.<LoadingCache<RegionAndName, ? extends Image>>ofInstance(imageMap)); }
@Override protected EC2TemplateBuilderImpl createTemplateBuilder(final Image knownImage, @Memoized Supplier<Set<? extends Location>> locations, @Memoized final Supplier<Set<? extends Image>> images, @Memoized Supplier<Set<? extends Hardware>> sizes, Location defaultLocation, Provider<TemplateOptions> optionsProvider, Provider<TemplateBuilder> templateBuilderProvider, GetImageStrategy getImageStrategy) { LoadingCache<RegionAndName, ? extends Image> imageMap; if (knownImage != null) { final RegionAndName knownRegionAndName = new RegionAndName(knownImage.getLocation().getId(), knownImage.getProviderId()); imageMap = CacheBuilder.newBuilder().build(new CacheLoader<RegionAndName, Image>() { @Override public Image load(RegionAndName from) { return from.equals(knownRegionAndName) ? knownImage : null; } }); } else { imageMap = CacheBuilder.newBuilder().build(CacheLoader.from(Functions.forMap( ImagesToRegionAndIdMap.imagesToMap(images.get())))); } return new EC2TemplateBuilderImpl(locations, new ImageCacheSupplier(images, 60, Atomics.<AuthorizationException> newReference(), Providers.of(getImageStrategy)), sizes, Suppliers.ofInstance(defaultLocation), optionsProvider, templateBuilderProvider, Suppliers.<LoadingCache<RegionAndName, ? extends Image>> ofInstance(imageMap)); }
private TemplateBuilder newTemplateBuilder() { final Supplier<Set<? extends Image>> images = Suppliers.<Set<? extends Image>> ofInstance(ImmutableSet.<Image> of( new ImageBuilder().providerId("cc-image").name("image").id("us-east-1/cc-image").location(location) .operatingSystem(new OperatingSystem(OsFamily.UBUNTU, null, "1.0", "hvm", "ubuntu", true)) .description("description").version("1.0").defaultCredentials(LoginCredentials.builder().user("root").build()) .status(Image.Status.AVAILABLE) .build(), new ImageBuilder().providerId("normal-image").name("image").id("us-east-1/normal-image").location(location) .operatingSystem(new OperatingSystem(OsFamily.UBUNTU, null, "1.0", "paravirtual", "ubuntu", true)) .description("description").version("1.0").defaultCredentials(LoginCredentials.builder().user("root").build()) .status(Image.Status.AVAILABLE) .build())); // weird compilation error means have to cast this - see https://bugs.eclipse.org/bugs/show_bug.cgi?id=365818 @SuppressWarnings("unchecked") ImmutableMap<RegionAndName, Image> imageMap = (ImmutableMap<RegionAndName, Image>) ImagesToRegionAndIdMap.imagesToMap(images.get()); Supplier<LoadingCache<RegionAndName, ? extends Image>> imageCache = Suppliers.<LoadingCache<RegionAndName, ? extends Image>> ofInstance( CacheBuilder.newBuilder().<RegionAndName,Image>build(CacheLoader.from(Functions.forMap(imageMap)))); return newTemplateBuilder(images, imageCache); }
private TemplateBuilder newTemplateBuilder() { final Supplier<Set<? extends Image>> images = Suppliers.<Set<? extends Image>> ofInstance(ImmutableSet.<Image> of( new ImageBuilder().providerId("hvm-image-provider").name("image").id("us-east-1/hvm-image").location(location) .operatingSystem(new OperatingSystem(OsFamily.UBUNTU, null, "1.0", "hvm", "ubuntu", true)) .description("description").version("1.0").defaultCredentials(LoginCredentials.builder().user("root").build()) .status(Image.Status.AVAILABLE) .build(), new ImageBuilder().providerId("pv-image-provider").name("image").id("us-east-1/pv-image").location(location) .operatingSystem(new OperatingSystem(OsFamily.UBUNTU, null, "1.0", "paravirtual", "ubuntu", true)) .description("description").version("1.0").defaultCredentials(LoginCredentials.builder().user("root").build()) .status(Image.Status.AVAILABLE) .build(), new ImageBuilder().providerId("bogus-image-provider").name("image").id("us-east-1/bogus-image").location(location) .operatingSystem(new OperatingSystem(OsFamily.UBUNTU, null, "1.0", "bogus", "ubuntu", true)) .description("description").version("1.0").defaultCredentials(LoginCredentials.builder().user("root").build()) .status(Image.Status.AVAILABLE) .build())); // weird compilation error means have to cast this - see https://bugs.eclipse.org/bugs/show_bug.cgi?id=365818 @SuppressWarnings("unchecked") ImmutableMap<RegionAndName, Image> imageMap = (ImmutableMap<RegionAndName, Image>) ImagesToRegionAndIdMap.imagesToMap(images.get()); Supplier<LoadingCache<RegionAndName, ? extends Image>> imageCache = Suppliers.<LoadingCache<RegionAndName, ? extends Image>> ofInstance( CacheBuilder.newBuilder().<RegionAndName, Image>build(CacheLoader.from(Functions.forMap(imageMap)))); return newTemplateBuilder(images, imageCache); }