Class: AwsClient::ElastiCacheWrapper

Inherits:
Wrapper
  • Object
show all
Defined in:
lib/elasticache_wrapper.rb

Instance Attribute Summary

Attributes inherited from Wrapper

#client

Instance Method Summary collapse

Methods inherited from Wrapper

#initialize

Constructor Details

This class inherits a constructor from AwsClient::Wrapper

Instance Method Details

#cache_clustersObject



39
40
41
42
# File 'lib/elasticache_wrapper.rb', line 39

def cache_clusters
  all_cache_messages = get_all_instances
  return all_cache_messages.collect{|cache_message| cache_message.cache_clusters }.flatten
end

#clusters_by_engine_type(engine_type) ⇒ Object



35
36
37
# File 'lib/elasticache_wrapper.rb', line 35

def clusters_by_engine_type(engine_type)
  cache_clusters.select{|cache_cluster| cache_cluster.engine == engine_type }
end

#get_all_instancesObject



44
45
46
47
48
49
50
51
52
53
# File 'lib/elasticache_wrapper.rb', line 44

def get_all_instances
  all_instances = []
  pages = client.describe_cache_clusters(:show_cache_node_info => true)
  all_instances << pages.data
  while pages.next_page?
    pages = pages.next_page
    @all_instances << pages.data
  end
  return all_instances
end

#memcache_clustersObject



31
32
33
# File 'lib/elasticache_wrapper.rb', line 31

def memcache_clusters
  clusters_by_engine_type("memcached")
end

#memcached_cluster_by_identifier(identifier) ⇒ Object



23
24
25
# File 'lib/elasticache_wrapper.rb', line 23

def memcached_cluster_by_identifier(identifier)
  memcache_clusters.select{|cluster| cluster.cache_cluster_id == identifier }.first
end

#memcached_endpoints_by_identifier(identifier) ⇒ Object



7
8
9
10
11
# File 'lib/elasticache_wrapper.rb', line 7

def memcached_endpoints_by_identifier(identifier)
  cluster = memcached_cluster_by_identifier(identifier)
  return [] unless cluster
  cluster.cache_nodes.collect{|cache_node| cache_node.endpoint }
end

#redis_cluster_by_identifier(identifier) ⇒ Object



19
20
21
# File 'lib/elasticache_wrapper.rb', line 19

def redis_cluster_by_identifier(identifier)
  redis_clusters.select{|cluster| cluster.cache_cluster_id == identifier }.first
end

#redis_clustersObject



27
28
29
# File 'lib/elasticache_wrapper.rb', line 27

def redis_clusters
  clusters_by_engine_type("redis")
end

#redis_endpoints_by_identifier(identifier) ⇒ Object



13
14
15
16
17
# File 'lib/elasticache_wrapper.rb', line 13

def redis_endpoints_by_identifier(identifier)
  cluster = redis_cluster_by_identifier(identifier)
  return [] unless cluster
  cluster.cache_nodes.collect{|cache_node| cache_node.endpoint }
end