aws_client 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/aws_client.gemspec +1 -0
- data/lib/aws_client/version.rb +1 -1
- data/lib/aws_client.rb +5 -0
- data/lib/elasticache_wrapper.rb +51 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 165a3fbd832f6d66aeeba7db060a59108bc9fd2f
|
4
|
+
data.tar.gz: d98568244315b8992e95826cc6c168934f6cf8be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 66c74013725130c65b0fec5c663845ea881052a7c74d8a4afdb205dfc6efc0fe1b902b0ebd39bda54f204022c26d5fae11c5f7d891771753334fe43b3d1c3900
|
7
|
+
data.tar.gz: a8d57f3cf52e0cdc38c423fb815c454b32ecc967ee6b11269ac8e5e2de64a80660926edc61b18f9132cd6a1d294ad061de1307f56bfe80ad005b7aa4b03dca8d
|
data/aws_client.gemspec
CHANGED
data/lib/aws_client/version.rb
CHANGED
data/lib/aws_client.rb
CHANGED
@@ -9,6 +9,7 @@ require "rds_wrapper"
|
|
9
9
|
require "ec2_wrapper"
|
10
10
|
require "elb_wrapper"
|
11
11
|
require "elb"
|
12
|
+
require "elasticache_wrapper"
|
12
13
|
|
13
14
|
module AwsClient
|
14
15
|
|
@@ -48,6 +49,10 @@ module AwsClient
|
|
48
49
|
@elb ||= ::AwsClient::ElbWrapper.new(client: client_connect(::Aws::ElasticLoadBalancing::Client))
|
49
50
|
end
|
50
51
|
|
52
|
+
def elasticache
|
53
|
+
@elasticache ||= ::AwsClient::ElastiCacheWrapper.new(client: client_connect(::Aws::ElastiCache::Client))
|
54
|
+
end
|
55
|
+
|
51
56
|
protected
|
52
57
|
|
53
58
|
def credentials
|
@@ -0,0 +1,51 @@
|
|
1
|
+
|
2
|
+
## API docs: http://docs.aws.amazon.com/sdkforruby/api/Aws/ElastiCache/Client.html
|
3
|
+
|
4
|
+
module AwsClient
|
5
|
+
class ElastiCacheWrapper < AwsClient::Wrapper
|
6
|
+
|
7
|
+
def redis_endpoints_by_identifier(identifier)
|
8
|
+
cluster = redis_cluster_by_identifier(identifier)
|
9
|
+
return [] unless cluster
|
10
|
+
cluster.cache_nodes.collect{|cache_node| cache_node.endpoint }
|
11
|
+
end
|
12
|
+
|
13
|
+
def redis_cluster_by_identifier(identifier)
|
14
|
+
redis_clusters.select{|cluster| cluster.cache_cluster_id == identifier }.first
|
15
|
+
end
|
16
|
+
|
17
|
+
def memcached_cluster_by_identfier(identifier)
|
18
|
+
memcache_clusters.select{|cluster| cluster.cache_cluster_id == identifier }.first
|
19
|
+
end
|
20
|
+
|
21
|
+
def redis_clusters
|
22
|
+
clusters_by_engine_type("redis")
|
23
|
+
end
|
24
|
+
|
25
|
+
def memcache_clusters
|
26
|
+
clusters_by_engine_type("memcached")
|
27
|
+
end
|
28
|
+
|
29
|
+
def clusters_by_engine_type(engine_type)
|
30
|
+
cache_clusters.select{|cache_cluster| cache_cluster.engine == engine_type }
|
31
|
+
end
|
32
|
+
|
33
|
+
def cache_clusters
|
34
|
+
all_cache_messages = get_all_instances
|
35
|
+
return all_cache_messages.collect{|cache_message| cache_message.cache_clusters }.flatten
|
36
|
+
end
|
37
|
+
|
38
|
+
def get_all_instances
|
39
|
+
all_instances = []
|
40
|
+
pages = client.describe_cache_clusters(:show_cache_node_info => true)
|
41
|
+
all_instances << pages.data
|
42
|
+
while pages.next_page?
|
43
|
+
pages = pages.next_page
|
44
|
+
@all_instances << pages.data
|
45
|
+
end
|
46
|
+
return all_instances
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Webzakimbo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08
|
11
|
+
date: 2016-09-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|
@@ -73,6 +73,7 @@ files:
|
|
73
73
|
- lib/aws_client/version.rb
|
74
74
|
- lib/cf_wrapper.rb
|
75
75
|
- lib/ec2_wrapper.rb
|
76
|
+
- lib/elasticache_wrapper.rb
|
76
77
|
- lib/elb.rb
|
77
78
|
- lib/elb_wrapper.rb
|
78
79
|
- lib/rds_wrapper.rb
|