aws-cache 0.0.05 → 0.0.06
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/aws-cache-version.rb +1 -1
- data/lib/aws-cache.rb +38 -13
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NTA3ZWJjZjMzZTBkZDRkODc5MTc3YmM0ZGM1NmQ2NTJjMjdmOTQ0Mg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
N2RiMjg5ZWM2YmExOWRkNzY2M2RlOWM4YTBhY2I2YTFkNmQ4NzA3ZQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MDc3N2Q2MjY5NTRmZjk4Y2ZmZTJhYzExN2RiODAxMDIyOGFhNjRhYTAwOWU0
|
10
|
+
YTk1ZTAyY2Y5YTYzMmU2OTBiNjIwYWRjMjQzZmE1YTc2ZGIwNTFiODkyZjU5
|
11
|
+
ZWQ5NDY2MGJhN2QzYzI0MDdmMDdhYjU0NDFlZTQxYjFhOGM5Yzk=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
Yzk1ZTkyNWU0MGYxYWE1ODI2N2QzNDlkNThkNGFmNzQ1MmY4YThiOGQwNDJh
|
14
|
+
OWI4MmRjYmFlZDdmZTFmYzhhYmM5YjEzNjE4MTg4YzUwNDI3Y2NkOTJmYTkz
|
15
|
+
MzhhNjVlZmY5YzgyMzllMDY3ODkyNjkzODBlYjljZTk5YmQ0N2U=
|
data/lib/aws-cache-version.rb
CHANGED
data/lib/aws-cache.rb
CHANGED
@@ -10,9 +10,11 @@ class AwsCache
|
|
10
10
|
VERSION = AwsCacheVersion::VERSION
|
11
11
|
|
12
12
|
def initialize(opts)
|
13
|
+
unless opts.has_key?('port') then opts['port'] = 6379 end
|
14
|
+
unless opts.has_key?('host') then opts['host'] = 'aws-cache' end
|
13
15
|
@redis = optional_element(opts, ['redis'])
|
14
16
|
if @redis.nil?
|
15
|
-
@redis = Redis.new(url: '
|
17
|
+
@redis = Redis.new(url: "redis://#{opts['host']}:#{opts['port']}/0")
|
16
18
|
end
|
17
19
|
@keyspace = optional_element(opts, ['keyspace'], AwsCache::VERSION)
|
18
20
|
@region = optional_element(opts, ['region'], 'us-east-1')
|
@@ -23,9 +25,9 @@ class AwsCache
|
|
23
25
|
instances = {}
|
24
26
|
|
25
27
|
ec2 = Aws::EC2::Client.new(region: @region)
|
26
|
-
|
27
|
-
|
28
|
-
|
28
|
+
pages = ec2.describe_instances
|
29
|
+
pages.each do |page|
|
30
|
+
page =
|
29
31
|
page.data[:reservations].each do |res|
|
30
32
|
res[:instances].each do |instance|
|
31
33
|
list_to_hash!(instance, [:tags], :key)
|
@@ -57,10 +59,10 @@ class AwsCache
|
|
57
59
|
groups = {}
|
58
60
|
|
59
61
|
autoscaling = Aws::AutoScaling::Client.new(region: @region)
|
60
|
-
|
61
|
-
|
62
|
+
pages = autoscaling.describe_auto_scaling_groups
|
63
|
+
pages.each do |page|
|
62
64
|
page.data[:auto_scaling_groups].each do |group|
|
63
|
-
instances =
|
65
|
+
instances = Hash.new()
|
64
66
|
list_to_hash!(group, [:instances], :instance_id)
|
65
67
|
list_to_hash!(group, [:tags], :key)
|
66
68
|
groups[group[:auto_scaling_group_name]] = group
|
@@ -89,8 +91,8 @@ class AwsCache
|
|
89
91
|
cloudformation_stacks = {}
|
90
92
|
|
91
93
|
cfn = Aws::CloudFormation::Client.new(region: @region)
|
92
|
-
|
93
|
-
|
94
|
+
pages = cfn.describe_stacks
|
95
|
+
pages.each do |page|
|
94
96
|
page.data[:stacks].each do |stack|
|
95
97
|
list_to_hash!(stack, [:parameters], :parameter_key)
|
96
98
|
list_to_hash!(stack, [:outputs], :output_key)
|
@@ -115,8 +117,8 @@ class AwsCache
|
|
115
117
|
stack_resources = {}
|
116
118
|
cfn = Aws::CloudFormation::Client.new(region: @region)
|
117
119
|
|
118
|
-
|
119
|
-
|
120
|
+
pages = cfn.list_stack_resources(stack_name: stack_name)
|
121
|
+
pages.each do |page|
|
120
122
|
resources = page.data[:stack_resource_summaries]
|
121
123
|
resources.each do |resource|
|
122
124
|
stack_resources[resource[:logical_resource_id]] = resource
|
@@ -138,8 +140,8 @@ class AwsCache
|
|
138
140
|
stacks = []
|
139
141
|
|
140
142
|
cfn = Aws::CloudFormation::Client.new(region: @region)
|
141
|
-
|
142
|
-
|
143
|
+
pages = cfn.list_stacks
|
144
|
+
pages.each do |page|
|
143
145
|
page.data[:stack_summaries].each do |stack|
|
144
146
|
stacks.push(stack)
|
145
147
|
end
|
@@ -151,6 +153,29 @@ class AwsCache
|
|
151
153
|
return stacks
|
152
154
|
end
|
153
155
|
|
156
|
+
def get_snapshots()
|
157
|
+
snapshots = cache_get('aws_ec2_snapshots', 9) do
|
158
|
+
snapshots = Hash.new()
|
159
|
+
ec2 = Aws::EC2::Client.new(region: @region)
|
160
|
+
pages = ec2.describe_snapshots
|
161
|
+
pages.each do |page|
|
162
|
+
page.data.each do |data|
|
163
|
+
data.each do |snap|
|
164
|
+
if snapshots.has_key?(snap[:volume_id]) then
|
165
|
+
snapshots[snap[:volume_id]].push(snap)
|
166
|
+
else
|
167
|
+
snapshots[snap[:volume_id]] = Array.new()
|
168
|
+
snapshots[snap[:volume_id]].push(snap)
|
169
|
+
end
|
170
|
+
end
|
171
|
+
end
|
172
|
+
end
|
173
|
+
snapshots
|
174
|
+
end
|
175
|
+
return snapshots
|
176
|
+
end
|
177
|
+
|
178
|
+
|
154
179
|
private
|
155
180
|
def optional_element(hash, keys, default=nil)
|
156
181
|
keys.each do |key|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-cache
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.06
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen J. Smith
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|