org.jclouds.ec2.compute.config
Class EC2ComputeServiceDependenciesModule

java.lang.Object
  extended by com.google.inject.AbstractModule
      extended by org.jclouds.ec2.compute.config.EC2ComputeServiceDependenciesModule
All Implemented Interfaces:
com.google.inject.Module
Direct Known Subclasses:
AWSEC2ComputeServiceDependenciesModule

public class EC2ComputeServiceDependenciesModule
extends com.google.inject.AbstractModule

Author:
Adrian Cole

Field Summary
static Map<InstanceState,NodeState> instanceToNodeState
           
 
Constructor Summary
EC2ComputeServiceDependenciesModule()
           
 
Method Summary
 com.google.common.base.Function<RunningInstance,NodeMetadata> bindNodeConverter(RunningInstanceToNodeMetadata baseConverter, AddElasticIpsToNodemetadata addElasticIpsToNodemetadata, boolean autoAllocateElasticIps)
          only add the overhead of looking up ips when we have enabled the auto-allocate functionality
protected  void configure()
           
protected  com.google.common.cache.LoadingCache<RunningInstance,Credentials> credentialsMap(com.google.common.cache.CacheLoader<RunningInstance,Credentials> in)
           
protected  com.google.common.cache.LoadingCache<RegionAndName,String> instanceToElasticIp(com.google.common.cache.CacheLoader<RegionAndName,String> in)
           
protected  ConcurrentMap<RegionAndName,KeyPair> keypairMap(com.google.inject.Injector i)
           
protected  com.google.common.base.Predicate<RegionAndName> securityGroupEventualConsistencyDelay(SecurityGroupPresent in, long msDelay)
           
protected  com.google.common.cache.LoadingCache<RegionAndName,String> securityGroupMap(com.google.common.cache.CacheLoader<RegionAndName,String> in)
           
 
Methods inherited from class com.google.inject.AbstractModule
addError, addError, addError, bind, bind, bind, bindConstant, binder, bindInterceptor, bindListener, bindScope, configure, convertToTypes, currentStage, getMembersInjector, getMembersInjector, getProvider, getProvider, install, requestInjection, requestStaticInjection, requireBinding, requireBinding
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

instanceToNodeState

public static final Map<InstanceState,NodeState> instanceToNodeState
Constructor Detail

EC2ComputeServiceDependenciesModule

public EC2ComputeServiceDependenciesModule()
Method Detail

configure

protected void configure()
Specified by:
configure in class com.google.inject.AbstractModule

bindNodeConverter

@Provides
@Singleton
public com.google.common.base.Function<RunningInstance,NodeMetadata> bindNodeConverter(RunningInstanceToNodeMetadata baseConverter,
                                                                                                          AddElasticIpsToNodemetadata addElasticIpsToNodemetadata,
                                                                                                          @Named(value="jclouds.ec2.auto-allocate-elastic-ips")
                                                                                                          boolean autoAllocateElasticIps)
only add the overhead of looking up ips when we have enabled the auto-allocate functionality


credentialsMap

@Provides
@Singleton
protected com.google.common.cache.LoadingCache<RunningInstance,Credentials> credentialsMap(com.google.common.cache.CacheLoader<RunningInstance,Credentials> in)

keypairMap

@Provides
@Singleton
protected ConcurrentMap<RegionAndName,KeyPair> keypairMap(com.google.inject.Injector i)

securityGroupMap

@Provides
@Singleton
@Named(value="SECURITY")
protected com.google.common.cache.LoadingCache<RegionAndName,String> securityGroupMap(@Named(value="SECURITY")
                                                                                                               com.google.common.cache.CacheLoader<RegionAndName,String> in)

instanceToElasticIp

@Provides
@Singleton
@Named(value="ELASTICIP")
protected com.google.common.cache.LoadingCache<RegionAndName,String> instanceToElasticIp(@Named(value="ELASTICIP")
                                                                                                                  com.google.common.cache.CacheLoader<RegionAndName,String> in)

securityGroupEventualConsistencyDelay

@Provides
@Singleton
@Named(value="SECURITY")
protected com.google.common.base.Predicate<RegionAndName> securityGroupEventualConsistencyDelay(SecurityGroupPresent in,
                                                                                                                         @Named(value="jclouds.ec2.timeout.securitygroup-present")
                                                                                                                         long msDelay)


Copyright © 2009-2012 jclouds. All Rights Reserved.