in vagrant/src/main/java/org/jclouds/vagrant/config/VagrantComputeServiceContextModule.java [60:93]
protected void configure() {
super.configure();
bind(new TypeLiteral<ComputeServiceAdapter<VagrantNode, Hardware, Image, Location>>() {
}).to(VagrantComputeServiceAdapter.class);
bind(new TypeLiteral<Function<VagrantNode, NodeMetadata>>() {
}).to(MachineToNodeMetadata.class);
bind(new TypeLiteral<Function<Box, Image>>() {
}).to(BoxToImage.class);
bind(new TypeLiteral<Supplier<? extends Map<String, Hardware>>>() {
}).to(VagrantHardwareSupplier.class).in(Singleton.class);
bind(new TypeLiteral<Function<Collection<Box>, Collection<Box>>>() {
}).to(OutdatedBoxesFilter.class);
bind(new TypeLiteral<Function<Hardware, Hardware>>() {
}).to(this.<Hardware>castIdentityFunction());
bind(new TypeLiteral<Function<Location, Location>>() {
}).to(this.<Location>castIdentityFunction());
bind(new TypeLiteral<Function<Image, Image>>() {
}).to(this.<Image>castIdentityFunction());
bind(new TypeLiteral<Supplier<Collection<Image>>>() {
}).to(new TypeLiteral<ImageSupplier<Box>>() {});
bind(new TypeLiteral<Function<String, Image>>() {
}).to(new TypeLiteral<ImageSupplier<Box>>() {});
bind(new TypeLiteral<Supplier<Collection<VagrantNode>>>() {
}).to(VagrantExistingMachines.class);
install(new FactoryModuleBuilder()
.implement(VagrantApiFacade.class, VagrantCliFacade.class)
.build(VagrantApiFacade.Factory.class));
install(new FactoryModuleBuilder()
.implement(new TypeLiteral<VagrantBoxApiFacade<Box>>() {}, VagrantCliFacade.class)
.build(new TypeLiteral<VagrantBoxApiFacade.Factory<Box>>() {}));
bind(PopulateDefaultLoginCredentialsForImageStrategy.class).to(VagrantDefaultImageCredentials.class);
bind(TemplateBuilderImpl.class).to(ArbitraryCpuRamTemplateBuilderImpl.class);
bind(CommandIOListener.class).to(VagrantWireLogger.class).in(Singleton.class);
}