aws_client 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6fed570dd4b5793482141abba8b7f28ee8217580
4
- data.tar.gz: 3a8e1862ef57ae94abbaa2dda209a3cffddfdb60
3
+ metadata.gz: 165a3fbd832f6d66aeeba7db060a59108bc9fd2f
4
+ data.tar.gz: d98568244315b8992e95826cc6c168934f6cf8be
5
5
  SHA512:
6
- metadata.gz: 248a47b8f96a03fc2f22b41674fc211d2737bdf13ba4a92a4cbd0edf9093a3a9490b3c108b6b19ca7afca8105d157a55ee4ef0180938b49cc26c0e020bae368e
7
- data.tar.gz: 3132d27d55404f70819785cb88aad6f17880d82910ee6eec3c98a13343054be2efc39aa82cb0e09fd4d9b75f0626b806b5bbaba2fe651fbde5c75dcc26b8f486
6
+ metadata.gz: 66c74013725130c65b0fec5c663845ea881052a7c74d8a4afdb205dfc6efc0fe1b902b0ebd39bda54f204022c26d5fae11c5f7d891771753334fe43b3d1c3900
7
+ data.tar.gz: a8d57f3cf52e0cdc38c423fb815c454b32ecc967ee6b11269ac8e5e2de64a80660926edc61b18f9132cd6a1d294ad061de1307f56bfe80ad005b7aa4b03dca8d
data/aws_client.gemspec CHANGED
@@ -2,6 +2,7 @@
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'aws_client/version'
5
+ require 'yaml'
5
6
 
6
7
  Gem::Specification.new do |spec|
7
8
  spec.name = "aws_client"
@@ -1,3 +1,3 @@
1
1
  module AwsClient
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
3
3
  end
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.8
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-12 00:00:00.000000000 Z
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