aws 2.2.5 → 2.2.6
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.
- data/lib/aws.rb +1 -0
- data/lib/awsbase/aws_response_array.rb +30 -0
- data/lib/awsbase/right_awsbase.rb +63 -33
- data/lib/rds/rds.rb +40 -24
- data/test/rds/test_rds.rb +65 -53
- metadata +3 -2
data/lib/aws.rb
CHANGED
@@ -16,6 +16,7 @@ $:.unshift(File.dirname(__FILE__))
|
|
16
16
|
require 'awsbase/benchmark_fix'
|
17
17
|
require 'awsbase/support'
|
18
18
|
require 'awsbase/right_awsbase'
|
19
|
+
require 'awsbase/aws_response_array'
|
19
20
|
require 'ec2/right_ec2'
|
20
21
|
require 'ec2/right_mon_interface'
|
21
22
|
require 's3/right_s3_interface'
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Aws
|
2
|
+
|
3
|
+
# This class is a special array to hold a bit of extra information about a response like:
|
4
|
+
# <ResponseMetadata>
|
5
|
+
# <RequestId>4f1fae46-bf3d-11de-a88b-7b5b3d23b3a7</RequestId>
|
6
|
+
# </ResponseMetadata>
|
7
|
+
#
|
8
|
+
# Which can be accessed directly from the array using array.response_metadata
|
9
|
+
#
|
10
|
+
class AwsResponseArray < Array
|
11
|
+
|
12
|
+
attr_accessor :response_metadata
|
13
|
+
|
14
|
+
def initialize(response_metadata)
|
15
|
+
@response_metadata = response_metadata
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
# Used when pulling out a single response object
|
21
|
+
class AwsResponseObjectHash < Hash
|
22
|
+
|
23
|
+
attr_accessor :response_metadata
|
24
|
+
|
25
|
+
def initialize(response_metadata)
|
26
|
+
@response_metadata = response_metadata
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
@@ -28,6 +28,7 @@ module Aws
|
|
28
28
|
require 'cgi'
|
29
29
|
require 'uri'
|
30
30
|
require 'xmlsimple'
|
31
|
+
require 'active_support'
|
31
32
|
|
32
33
|
class AwsUtils #:nodoc:
|
33
34
|
@@digest1 = OpenSSL::Digest::Digest.new("sha1")
|
@@ -321,15 +322,16 @@ module Aws
|
|
321
322
|
end
|
322
323
|
|
323
324
|
# This is the direction we should head instead of writing our own parsers for everything, much simpler
|
325
|
+
# params:
|
326
|
+
# - :group_tags => hash of indirection to eliminate, see: http://xml-simple.rubyforge.org/
|
327
|
+
# - :force_array => true for all or an array of tag names to force
|
328
|
+
# - :pull_out_array => an array of levels to dig into when generating return value (see rds.rb for example)
|
324
329
|
def request_info_xml_simple(connection_name, lib_params, request, logger, params = {})
|
325
330
|
|
326
331
|
@connection = get_conn(connection_name, lib_params, logger)
|
327
332
|
@last_request = request[:request]
|
328
333
|
@last_response = nil
|
329
334
|
|
330
|
-
response = nil
|
331
|
-
blockexception = nil
|
332
|
-
|
333
335
|
response = @connection.request(request)
|
334
336
|
# benchblock.service.add!{ response = @connection.request(request) }
|
335
337
|
# check response for errors...
|
@@ -339,7 +341,51 @@ module Aws
|
|
339
341
|
# benchblock.xml.add! { parser.parse(response) }
|
340
342
|
# return parser.result
|
341
343
|
force_array = params[:force_array] || false
|
342
|
-
|
344
|
+
# Force_array and group_tags don't work nice together so going to force array manually
|
345
|
+
xml_simple_options = {"KeyToSymbol"=>false, 'ForceArray' => false}
|
346
|
+
xml_simple_options["GroupTags"] = params[:group_tags] if params[:group_tags]
|
347
|
+
|
348
|
+
# { 'GroupTags' => { 'searchpath' => 'dir' }
|
349
|
+
# 'ForceArray' => %r(_list$)
|
350
|
+
parsed = XmlSimple.xml_in(response.body, xml_simple_options)
|
351
|
+
# todo: we may want to consider stripping off a couple of layers when doing this, for instance:
|
352
|
+
# <DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/admin/2009-10-16/">
|
353
|
+
# <DescribeDBInstancesResult>
|
354
|
+
# <DBInstances>
|
355
|
+
# <DBInstance>....
|
356
|
+
# Strip it off and only return an array or hash of <DBInstance>'s (hash by identifier).
|
357
|
+
# would have to be able to make the RequestId available somehow though, perhaps some special array subclass which included that?
|
358
|
+
unless force_array.is_a? Array
|
359
|
+
force_array = []
|
360
|
+
end
|
361
|
+
parsed = symbolize(parsed, force_array)
|
362
|
+
# puts 'parsed=' + parsed.inspect
|
363
|
+
if params[:pull_out_array]
|
364
|
+
ret = Aws::AwsResponseArray.new(parsed[:response_metadata])
|
365
|
+
level_hash = parsed
|
366
|
+
params[:pull_out_array].each do |x|
|
367
|
+
level_hash = level_hash[x]
|
368
|
+
end
|
369
|
+
if level_hash.is_a? Hash # When there's only one
|
370
|
+
ret << level_hash
|
371
|
+
else # should be array
|
372
|
+
level_hash.each do |x|
|
373
|
+
ret << x
|
374
|
+
end
|
375
|
+
end
|
376
|
+
elsif params[:pull_out_single]
|
377
|
+
# returns a single object
|
378
|
+
ret = AwsResponseObjectHash.new(parsed[:response_metadata])
|
379
|
+
level_hash = parsed
|
380
|
+
params[:pull_out_single].each do |x|
|
381
|
+
level_hash = level_hash[x]
|
382
|
+
end
|
383
|
+
ret.merge!(level_hash)
|
384
|
+
else
|
385
|
+
ret = parsed
|
386
|
+
end
|
387
|
+
return ret
|
388
|
+
|
343
389
|
else
|
344
390
|
@error_handler = AWSErrorHandler.new(self, nil, :errors_list => self.class.amazon_problems) unless @error_handler
|
345
391
|
check_result = @error_handler.check(request)
|
@@ -353,38 +399,22 @@ module Aws
|
|
353
399
|
|
354
400
|
end
|
355
401
|
|
356
|
-
|
357
|
-
=
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
if signature_version == '2'
|
368
|
-
# resign the request because HTTP verb is included into signature
|
369
|
-
service_params = signed_service_params(@aws_secret_access_key, service_hash, :post, @params[:server], @params[:service])
|
402
|
+
def symbolize(hash, force_array)
|
403
|
+
ret = {}
|
404
|
+
hash.keys.each do |key|
|
405
|
+
val = hash[key]
|
406
|
+
if val.is_a? Hash
|
407
|
+
val = symbolize(val, force_array)
|
408
|
+
if force_array.include? key
|
409
|
+
val = [val]
|
410
|
+
end
|
411
|
+
elsif val.is_a? Array
|
412
|
+
val = val.collect { |x| symbolize(x, force_array) }
|
370
413
|
end
|
371
|
-
|
372
|
-
request.body = service_params
|
373
|
-
request['Content-Type'] = 'application/x-www-form-urlencoded'
|
374
|
-
else
|
375
|
-
request = Net::HTTP::Get.new("#{@params[:service]}?#{service_params}")
|
414
|
+
ret[key.underscore.to_sym] = val
|
376
415
|
end
|
377
|
-
|
378
|
-
#puts "\n\n --------------- QUERY REQUEST TO AWS -------------- \n\n"
|
379
|
-
#puts "#{@params[:service]}?#{service_params}\n\n"
|
380
|
-
|
381
|
-
# prepare output hash
|
382
|
-
{ :request => request,
|
383
|
-
:server => @params[:server],
|
384
|
-
:port => @params[:port],
|
385
|
-
:protocol => @params[:protocol] }
|
416
|
+
ret
|
386
417
|
end
|
387
|
-
=end
|
388
418
|
|
389
419
|
# Returns +true+ if the describe_xxx responses are being cached
|
390
420
|
def caching?
|
data/lib/rds/rds.rb
CHANGED
@@ -51,6 +51,24 @@ module Aws
|
|
51
51
|
generate_request2(@aws_access_key_id, @aws_secret_access_key, action, @@api, @params, params)
|
52
52
|
end
|
53
53
|
|
54
|
+
def do_request(action, params, options={})
|
55
|
+
link = generate_request(action, params)
|
56
|
+
resp = request_info_xml_simple(:rds_connection, @params, link, @logger,
|
57
|
+
:group_tags=>{"DBInstances"=>"DBInstance",
|
58
|
+
"DBParameterGroups"=>"DBParameterGroup",
|
59
|
+
"DBSecurityGroups"=>"DBSecurityGroup",
|
60
|
+
"EC2SecurityGroups"=>"EC2SecurityGroup",
|
61
|
+
"IPRanges"=>"IPRange"},
|
62
|
+
:force_array=>["DBInstances",
|
63
|
+
"DBParameterGroups",
|
64
|
+
"DBSecurityGroups",
|
65
|
+
"EC2SecurityGroups",
|
66
|
+
"IPRanges"],
|
67
|
+
:pull_out_array=>options[:pull_out_array],
|
68
|
+
:pull_out_single=>options[:pull_out_single],
|
69
|
+
:wrapper=>options[:wrapper])
|
70
|
+
end
|
71
|
+
|
54
72
|
|
55
73
|
#-----------------------------------------------------------------
|
56
74
|
# REQUESTS
|
@@ -81,8 +99,7 @@ module Aws
|
|
81
99
|
|
82
100
|
@logger.info("Creating DB Instance called #{identifier}")
|
83
101
|
|
84
|
-
link =
|
85
|
-
resp = request_info_xml_simple(:rds_connection, @params, link, @logger)
|
102
|
+
link = do_request("CreateDBInstance", params, :pull_out_single=>[:create_db_instance_result, :db_instance])
|
86
103
|
|
87
104
|
rescue Exception
|
88
105
|
on_exception
|
@@ -93,14 +110,16 @@ module Aws
|
|
93
110
|
# DBInstanceIdentifier
|
94
111
|
# MaxRecords
|
95
112
|
# Marker
|
113
|
+
#
|
114
|
+
# Returns array of instances as hashes.
|
115
|
+
# Response metadata can be retreived by calling array.response_metadata on the returned array.
|
96
116
|
def describe_db_instances(options={})
|
97
117
|
params = {}
|
98
|
-
params['DBInstanceIdentifier'] = options[:
|
99
|
-
params['MaxRecords'] = options[:
|
100
|
-
params['Marker'] = options[:
|
118
|
+
params['DBInstanceIdentifier'] = options[:db_instance_identifier] if options[:db_instance_identifier]
|
119
|
+
params['MaxRecords'] = options[:max_records] if options[:max_records]
|
120
|
+
params['Marker'] = options[:marker] if options[:marker]
|
101
121
|
|
102
|
-
|
103
|
-
resp = request_info_xml_simple(:rds_connection, @params, link, @logger)
|
122
|
+
resp = do_request("DescribeDBInstances", params, :pull_out_array=>[:describe_db_instances_result, :db_instances])
|
104
123
|
|
105
124
|
rescue Exception
|
106
125
|
on_exception
|
@@ -120,21 +139,20 @@ module Aws
|
|
120
139
|
params['SkipFinalSnapshot'] = true
|
121
140
|
end
|
122
141
|
|
123
|
-
link =
|
124
|
-
resp = request_info_xml_simple(:rds_connection, @params, link, @logger)
|
142
|
+
link = do_request("DeleteDBInstance", params, :pull_out_single=>[:delete_db_instance_result, :db_instance])
|
125
143
|
|
126
144
|
rescue Exception
|
127
145
|
on_exception
|
128
146
|
end
|
129
147
|
|
130
148
|
|
131
|
-
def
|
149
|
+
def create_db_security_group(group_name, description, options={})
|
132
150
|
params = {}
|
133
151
|
params['DBSecurityGroupName'] = group_name
|
134
152
|
params['DBSecurityGroupDescription'] = description
|
135
|
-
|
136
|
-
link =
|
137
|
-
|
153
|
+
|
154
|
+
link = do_request("CreateDBSecurityGroup", params, :pull_out_single => [:create_db_security_group_result, :db_security_group])
|
155
|
+
|
138
156
|
rescue Exception
|
139
157
|
on_exception
|
140
158
|
end
|
@@ -143,8 +161,9 @@ module Aws
|
|
143
161
|
def delete_db_security_group(group_name, options={})
|
144
162
|
params = {}
|
145
163
|
params['DBSecurityGroupName'] = group_name
|
146
|
-
|
147
|
-
|
164
|
+
|
165
|
+
link = do_request("DeleteDBSecurityGroup", params)
|
166
|
+
|
148
167
|
rescue Exception
|
149
168
|
on_exception
|
150
169
|
end
|
@@ -155,10 +174,9 @@ module Aws
|
|
155
174
|
params['DBSecurityGroupName'] = options[:DBSecurityGroupName] if options[:DBSecurityGroupName]
|
156
175
|
params['MaxRecords'] = options[:MaxRecords] if options[:MaxRecords]
|
157
176
|
|
158
|
-
|
177
|
+
link = do_request("DescribeDBSecurityGroups", params, :pull_out_array=>[:describe_db_security_groups_result, :db_security_groups], :wrapper=>:db_security_group)
|
178
|
+
|
159
179
|
|
160
|
-
link = generate_request("DescribeDBSecurityGroups", params)
|
161
|
-
resp = request_info_xml_simple(:rds_connection, @params, link, @logger, :force_array => force_array)
|
162
180
|
rescue Exception
|
163
181
|
on_exception
|
164
182
|
end
|
@@ -169,8 +187,7 @@ module Aws
|
|
169
187
|
params['DBSecurityGroupName'] = group_name
|
170
188
|
params['EC2SecurityGroupOwnerId'] = ec2_group_owner_id
|
171
189
|
params['EC2SecurityGroupName'] = ec2_group_name
|
172
|
-
link =
|
173
|
-
resp = request_info_xml_simple(:rds_connection, @params, link, @logger)
|
190
|
+
link = do_request("AuthorizeDBSecurityGroupIngress", params)
|
174
191
|
rescue Exception
|
175
192
|
on_exception
|
176
193
|
end
|
@@ -180,8 +197,7 @@ module Aws
|
|
180
197
|
params = {}
|
181
198
|
params['DBSecurityGroupName'] = group_name
|
182
199
|
params['CIDRIP'] = ip_range
|
183
|
-
link =
|
184
|
-
resp = request_info_xml_simple(:rds_connection, @params, link, @logger)
|
200
|
+
link = do_request("AuthorizeDBSecurityGroupIngress", params)
|
185
201
|
rescue Exception
|
186
202
|
on_exception
|
187
203
|
end
|
@@ -191,13 +207,13 @@ module Aws
|
|
191
207
|
params = {}
|
192
208
|
params['DBSecurityGroupName'] = group_name
|
193
209
|
params['CIDRIP'] = ip_range
|
194
|
-
link =
|
195
|
-
resp = request_info_xml_simple(:rds_connection, @params, link, @logger)
|
210
|
+
link = do_request("RevokeDBSecurityGroupIngress", params)
|
196
211
|
rescue Exception
|
197
212
|
on_exception
|
198
213
|
end
|
199
214
|
|
200
215
|
|
216
|
+
|
201
217
|
end
|
202
218
|
|
203
219
|
end
|
data/test/rds/test_rds.rb
CHANGED
@@ -15,7 +15,7 @@ class TestRds < Test::Unit::TestCase
|
|
15
15
|
@rds = Aws::Rds.new(TestCredentials.aws_access_key_id,
|
16
16
|
TestCredentials.aws_secret_access_key)
|
17
17
|
|
18
|
-
@identifier = 'test-db-
|
18
|
+
@identifier = 'test-db-instance1b'
|
19
19
|
# deleting this one....
|
20
20
|
#@identifier2 = 'my-db-instance2'
|
21
21
|
end
|
@@ -23,61 +23,69 @@ class TestRds < Test::Unit::TestCase
|
|
23
23
|
|
24
24
|
def test_01_create_db_instance
|
25
25
|
begin
|
26
|
-
db_instance3 = @rds.create_db_instance('
|
26
|
+
db_instance3 = @rds.create_db_instance('bad_test_key', "db.m1.small", 5, "master", "masterpass")
|
27
27
|
rescue => ex
|
28
28
|
#puts "msg=" + ex.message
|
29
29
|
#puts "response=" + ex.response
|
30
30
|
assert ex.message[0, "InvalidParameterValue".size] == "InvalidParameterValue"
|
31
31
|
end
|
32
32
|
|
33
|
-
|
33
|
+
db_instance = @rds.create_db_instance(@identifier, "db.m1.small", 5, "master", "masterpass")
|
34
|
+
assert db_instance[:db_instance_status] == "creating"
|
34
35
|
|
36
|
+
start = Time.now
|
35
37
|
tries=0
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
38
|
+
catch (:done) do
|
39
|
+
while tries < 100
|
40
|
+
instances = @rds.describe_db_instances
|
41
|
+
|
42
|
+
#puts "INSTANCES -----> " + instances.inspect
|
43
|
+
|
44
|
+
instances.each do |i|
|
45
|
+
db_status = i[:db_instance_status]
|
46
|
+
puts 'i=' + db_status.to_s
|
47
|
+
next unless i[:db_instance_identifier] == @identifier
|
48
|
+
throw :done if db_status == "available"
|
49
|
+
puts "Database not ready yet.... attempt #{tries.to_s} of 100, db state --> #{i[:db_instance_status].to_s}"
|
50
|
+
tries += 1
|
51
|
+
sleep 5
|
52
|
+
end
|
48
53
|
end
|
49
|
-
|
50
|
-
|
51
54
|
end
|
55
|
+
puts "Duration to start db instance: #{Time.now-start}"
|
52
56
|
end
|
53
57
|
|
54
58
|
|
55
59
|
def test_02_describe_db_instances
|
56
|
-
|
57
|
-
|
58
|
-
instances = instances_result["DescribeDBInstancesResult"]["DBInstances"]["DBInstance"]
|
59
|
-
|
60
|
-
|
60
|
+
instances = @rds.describe_db_instances
|
61
|
+
# puts "instances_result=" + instances_result.inspect
|
62
|
+
# instances = instances_result["DescribeDBInstancesResult"]["DBInstances"]["DBInstance"]
|
63
|
+
puts "instances count = " + instances.count.to_s
|
64
|
+
puts 'instances=' + instances.inspect
|
61
65
|
assert instances.size > 0
|
66
|
+
i_describe = nil
|
67
|
+
instances.each do |x|
|
68
|
+
i_describe = x if x[:db_instance_identifier] == @identifier
|
69
|
+
end
|
70
|
+
assert i_describe
|
71
|
+
|
72
|
+
puts 'response_metadata=' + instances.response_metadata.inspect
|
73
|
+
assert instances.response_metadata
|
74
|
+
assert instances.response_metadata[:request_id]
|
62
75
|
end
|
63
76
|
|
64
77
|
|
65
78
|
def test_03_describe_security_groups
|
66
|
-
|
67
|
-
|
68
|
-
security_groups=security_result["DescribeDBSecurityGroupsResult"]["DBSecurityGroups"]["DBSecurityGroup"]
|
79
|
+
security_groups = @rds.describe_db_security_groups()
|
80
|
+
puts "security_groups=" + security_groups.inspect
|
69
81
|
default_present = false
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
default_present=true
|
75
|
-
end
|
76
|
-
end
|
77
|
-
else
|
78
|
-
if security_groups["DBSecurityGroupName"]=="default"
|
82
|
+
assert security_groups.is_a?(Array)
|
83
|
+
security_groups.each do |security_group|
|
84
|
+
security_group.inspect
|
85
|
+
if security_group[:db_security_group_name] == "default"
|
79
86
|
default_present=true
|
80
87
|
end
|
88
|
+
assert security_group[:ec2_security_groups].is_a? Array
|
81
89
|
end
|
82
90
|
assert default_present
|
83
91
|
end
|
@@ -85,11 +93,13 @@ class TestRds < Test::Unit::TestCase
|
|
85
93
|
|
86
94
|
def test_04_authorize_security_groups_ingress
|
87
95
|
# Create
|
88
|
-
|
96
|
+
# security_groups = @rds.describe_db_security_groups
|
97
|
+
# @security_info = security_groups[0]
|
89
98
|
@rds.authorize_db_security_group_ingress_range("default", "122.122.122.122/12")
|
90
99
|
|
91
100
|
# Check
|
92
|
-
|
101
|
+
security_groups = @rds.describe_db_security_groups
|
102
|
+
@security_info = security_groups[0]
|
93
103
|
|
94
104
|
ip_found = @security_info.inspect.include? "122.122.122.122/12"
|
95
105
|
assert ip_found
|
@@ -97,31 +107,34 @@ class TestRds < Test::Unit::TestCase
|
|
97
107
|
|
98
108
|
|
99
109
|
def test_05_delete_db_instance
|
100
|
-
@rds.delete_db_instance(@identifier)
|
110
|
+
@rds.delete_db_instance(@identifier) # todo: can't delete unless it's in "available" state
|
101
111
|
#@rds.delete_db_instance(@identifier2)
|
102
112
|
sleep 3
|
103
113
|
|
104
|
-
|
114
|
+
instances = @rds.describe_db_instances(:db_instance_identifier=>@identifier)
|
105
115
|
#puts "instances_result=" + instances_result.inspect
|
106
116
|
|
107
|
-
|
108
|
-
|
109
|
-
|
117
|
+
instances.each do |i|
|
118
|
+
next unless i[:db_instance_identifier] == @identifier
|
119
|
+
db_status = i[:db_instance_status]
|
120
|
+
puts "Trying to delete and getting i[DBInstanceStatus] -----------> " + db_status
|
121
|
+
@rds.delete_db_instance(i[:db_instance_identifier]) if db_status == "available"
|
122
|
+
assert db_status == "deleting"
|
110
123
|
end
|
124
|
+
sleep 2
|
111
125
|
|
112
|
-
assert instances_result["DescribeDBInstancesResult"]["DBInstances"]["DBInstance"].size < 2
|
113
126
|
end
|
114
127
|
|
115
128
|
|
116
129
|
def test_06_create_security_groups
|
117
130
|
group_present=false
|
118
131
|
|
119
|
-
@rds.
|
132
|
+
@rds.create_db_security_group("new_sample_group", "new_sample_group_description")
|
120
133
|
|
121
|
-
|
134
|
+
security_groups = @rds.describe_db_security_groups
|
122
135
|
|
123
|
-
|
124
|
-
if (security_group[
|
136
|
+
security_groups.each do |security_group|
|
137
|
+
if (security_group[:db_security_group_name]=="new_sample_group")&&(security_group[:db_security_group_description]=="new_sample_group_description")
|
125
138
|
group_present = true
|
126
139
|
end
|
127
140
|
end
|
@@ -131,23 +144,22 @@ class TestRds < Test::Unit::TestCase
|
|
131
144
|
|
132
145
|
|
133
146
|
def test_07_revoking_security_groups_ingress
|
134
|
-
sleep 15
|
147
|
+
# sleep 15
|
135
148
|
@rds.revoke_db_security_group_ingress("default", "122.122.122.122/12")
|
136
149
|
sleep 2
|
137
|
-
|
138
|
-
revoking =
|
150
|
+
security_groups = @rds.describe_db_security_groups
|
151
|
+
revoking = security_groups[0].inspect.include? "revoking"
|
139
152
|
assert revoking
|
140
153
|
end
|
141
154
|
|
142
155
|
|
143
|
-
|
144
156
|
def test_08_delete_security_group
|
145
157
|
group_present=false
|
146
158
|
@rds.delete_db_security_group("new_sample_group")
|
147
159
|
sleep 2
|
148
|
-
|
149
|
-
|
150
|
-
if (security_group[
|
160
|
+
security_groups = @rds.describe_db_security_groups
|
161
|
+
security_groups.each do |security_group|
|
162
|
+
if (security_group[:db_security_group_name]=="new_sample_group")
|
151
163
|
group_present=true
|
152
164
|
end
|
153
165
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Travis Reeder
|
@@ -11,7 +11,7 @@ autorequire:
|
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
13
|
|
14
|
-
date: 2010-02-
|
14
|
+
date: 2010-02-15 00:00:00 -08:00
|
15
15
|
default_executable:
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
@@ -55,6 +55,7 @@ extra_rdoc_files:
|
|
55
55
|
files:
|
56
56
|
- lib/acf/right_acf_interface.rb
|
57
57
|
- lib/aws.rb
|
58
|
+
- lib/awsbase/aws_response_array.rb
|
58
59
|
- lib/awsbase/benchmark_fix.rb
|
59
60
|
- lib/awsbase/right_awsbase.rb
|
60
61
|
- lib/awsbase/support.rb
|