fog-maestrodev 1.18.0.20131112185232 → 1.18.0.20131114200144
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/fog.gemspec +2 -2
- data/lib/fog/aws/dns.rb +2 -1
- data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +26 -9
- data/lib/fog/aws/requests/dns/create_hosted_zone.rb +12 -3
- data/lib/fog/aws/requests/dns/delete_hosted_zone.rb +33 -0
- data/lib/fog/aws/requests/dns/get_change.rb +24 -0
- data/lib/fog/aws/requests/dns/get_hosted_zone.rb +1 -1
- data/lib/fog/aws/requests/dns/list_hosted_zones.rb +3 -8
- data/lib/fog/aws/requests/dns/list_resource_record_sets.rb +33 -10
- data/lib/fog/aws.rb +1 -1
- data/lib/fog/core/mock.rb +7 -0
- data/tests/aws/models/dns/record_tests.rb +1 -2
- data/tests/aws/models/dns/records_tests.rb +2 -7
- data/tests/aws/models/dns/zone_tests.rb +1 -1
- data/tests/aws/models/dns/zones_tests.rb +1 -1
- data/tests/aws/requests/dns/dns_tests.rb +1 -26
- metadata +72 -130
- checksums.yaml +0 -15
data/fog.gemspec
CHANGED
@@ -6,8 +6,8 @@ Gem::Specification.new do |s|
|
|
6
6
|
## If your rubyforge_project name is different, then edit it and comment out
|
7
7
|
## the sub! line in the Rakefile
|
8
8
|
s.name = 'fog-maestrodev'
|
9
|
-
s.version = '1.18.0.
|
10
|
-
s.date = '2013-11-
|
9
|
+
s.version = '1.18.0.20131114200144'
|
10
|
+
s.date = '2013-11-14'
|
11
11
|
s.rubyforge_project = 'fog'
|
12
12
|
|
13
13
|
## Make sure your summary is short. The description may be as long
|
data/lib/fog/aws/dns.rb
CHANGED
@@ -141,6 +141,7 @@ module Fog
|
|
141
141
|
if (zone = self.data[:zones][zone_id])
|
142
142
|
response.status = 200
|
143
143
|
|
144
|
+
change_id = Fog::AWS::Mock.change_id
|
144
145
|
change_batch.each do |change|
|
145
146
|
case change[:action]
|
146
147
|
when "CREATE"
|
@@ -149,12 +150,23 @@ module Fog
|
|
149
150
|
end
|
150
151
|
|
151
152
|
if zone[:records][change[:type]][change[:name]].nil?
|
153
|
+
# raise change.to_s if change[:resource_records].nil?
|
154
|
+
zone[:records][change[:type]][change[:name]] =
|
155
|
+
if change[:alias_target]
|
156
|
+
record = {
|
157
|
+
:alias_target => change[:alias_target]
|
158
|
+
}
|
159
|
+
else
|
160
|
+
record = {
|
161
|
+
:ttl => change[:ttl].to_s,
|
162
|
+
}
|
163
|
+
end
|
152
164
|
zone[:records][change[:type]][change[:name]] = {
|
165
|
+
:change_id => change_id,
|
166
|
+
:resource_records => change[:resource_records] || [],
|
153
167
|
:name => change[:name],
|
154
|
-
:type => change[:type]
|
155
|
-
|
156
|
-
:resource_records => change[:resource_records]
|
157
|
-
}
|
168
|
+
:type => change[:type]
|
169
|
+
}.merge(record)
|
158
170
|
else
|
159
171
|
errors << "Tried to create resource record set #{change[:name]}. type #{change[:type]}, but it already exists"
|
160
172
|
end
|
@@ -166,12 +178,16 @@ module Fog
|
|
166
178
|
end
|
167
179
|
|
168
180
|
if errors.empty?
|
181
|
+
change = {
|
182
|
+
:id => change_id,
|
183
|
+
:status => 'INSYNC',
|
184
|
+
:submitted_at => Time.now.utc.iso8601
|
185
|
+
}
|
186
|
+
self.data[:changes][change[:id]] = change
|
169
187
|
response.body = {
|
170
|
-
'
|
171
|
-
|
172
|
-
|
173
|
-
'SubmittedAt' => Time.now.utc.iso8601
|
174
|
-
}
|
188
|
+
'Id' => change[:id],
|
189
|
+
'Status' => change[:status],
|
190
|
+
'SubmittedAt' => change[:submitted_at]
|
175
191
|
}
|
176
192
|
response
|
177
193
|
else
|
@@ -184,6 +200,7 @@ module Fog
|
|
184
200
|
response.body = "<?xml version=\"1.0\"?><Response><Errors><Error><Code>NoSuchHostedZone</Code><Message>A hosted zone with the specified hosted zone ID does not exist.</Message></Error></Errors><RequestID>#{Fog::AWS::Mock.request_id}</RequestID></Response>"
|
185
201
|
raise(Excon::Errors.status_error({:expects => 200}, response))
|
186
202
|
end
|
203
|
+
|
187
204
|
end
|
188
205
|
end
|
189
206
|
|
@@ -60,6 +60,9 @@ module Fog
|
|
60
60
|
require 'time'
|
61
61
|
|
62
62
|
def create_hosted_zone(name, options = {})
|
63
|
+
# Append a trailing period to the name if absent.
|
64
|
+
name = name + "." unless name.end_with?(".")
|
65
|
+
|
63
66
|
response = Excon::Response.new
|
64
67
|
if list_hosted_zones.body['HostedZones'].find_all {|z| z['Name'] == name}.size < self.data[:limits][:duplicate_domains]
|
65
68
|
response.status = 201
|
@@ -77,6 +80,12 @@ module Fog
|
|
77
80
|
:comment => options[:comment],
|
78
81
|
:records => {}
|
79
82
|
}
|
83
|
+
change = {
|
84
|
+
:id => Fog::AWS::Mock.change_id,
|
85
|
+
:status => 'INSYNC',
|
86
|
+
:submitted_at => Time.now.utc.iso8601
|
87
|
+
}
|
88
|
+
self.data[:changes][change[:id]] = change
|
80
89
|
response.body = {
|
81
90
|
'HostedZone' => {
|
82
91
|
'Id' => zone_id,
|
@@ -85,9 +94,9 @@ module Fog
|
|
85
94
|
'Comment' => options[:comment]
|
86
95
|
},
|
87
96
|
'ChangeInfo' => {
|
88
|
-
'Id' =>
|
89
|
-
'Status' =>
|
90
|
-
'SubmittedAt' =>
|
97
|
+
'Id' => change[:id],
|
98
|
+
'Status' => change[:status],
|
99
|
+
'SubmittedAt' => change[:submitted_at]
|
91
100
|
},
|
92
101
|
'NameServers' => Fog::AWS::Mock.nameservers
|
93
102
|
}
|
@@ -34,6 +34,39 @@ module Fog
|
|
34
34
|
end
|
35
35
|
|
36
36
|
end
|
37
|
+
|
38
|
+
class Mock
|
39
|
+
|
40
|
+
require 'time'
|
41
|
+
|
42
|
+
def delete_hosted_zone(zone_id)
|
43
|
+
response = Excon::Response.new
|
44
|
+
key = [zone_id, "/hostedzone/#{zone_id}"].find{|k| !self.data[:zones][k].nil?}
|
45
|
+
if key
|
46
|
+
change = {
|
47
|
+
:id => Fog::AWS::Mock.change_id,
|
48
|
+
:status => 'INSYNC',
|
49
|
+
:submitted_at => Time.now.utc.iso8601
|
50
|
+
}
|
51
|
+
self.data[:changes][change[:id]] = change
|
52
|
+
response.status = 200
|
53
|
+
response.body = {
|
54
|
+
'ChangeInfo' => {
|
55
|
+
'Id' => change[:id],
|
56
|
+
'Status' => change[:status],
|
57
|
+
'SubmittedAt' => change[:submitted_at]
|
58
|
+
}
|
59
|
+
}
|
60
|
+
self.data[:zones].delete(key)
|
61
|
+
response
|
62
|
+
else
|
63
|
+
response.status = 404
|
64
|
+
response.body = "<?xml version=\"1.0\"?><ErrorResponse xmlns=\"https://route53.amazonaws.com/doc/2012-02-29/\"><Error><Type>Sender</Type><Code>NoSuchHostedZone</Code><Message>The specified hosted zone does not exist.</Message></Error><RequestId>#{Fog::AWS::Mock.request_id}</RequestId></ErrorResponse>"
|
65
|
+
raise(Excon::Errors.status_error({:expects => 200}, response))
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
37
70
|
end
|
38
71
|
end
|
39
72
|
end
|
@@ -33,6 +33,30 @@ module Fog
|
|
33
33
|
end
|
34
34
|
|
35
35
|
end
|
36
|
+
|
37
|
+
class Mock
|
38
|
+
def get_change(change_id)
|
39
|
+
response = Excon::Response.new
|
40
|
+
# find the record with matching change_id
|
41
|
+
# records = data[:zones].values.map{|z| z[:records].values.map{|r| r.values}}.flatten
|
42
|
+
change = self.data[:changes][change_id]
|
43
|
+
|
44
|
+
if change
|
45
|
+
response.status = 200
|
46
|
+
response.body = {
|
47
|
+
'Id' => change[:id],
|
48
|
+
'Status' => 'INSYNC', # TODO do some logic here
|
49
|
+
'SubmittedAt' => change[:submitted_at]
|
50
|
+
}
|
51
|
+
response
|
52
|
+
else
|
53
|
+
response.status = 404
|
54
|
+
response.body = "<?xml version=\"1.0\"?><ErrorResponse xmlns=\"https://route53.amazonaws.com/doc/2012-02-29/\"><Error><Type>Sender</Type><Code>NoSuchChange</Code><Message>Could not find resource with ID: #{change_id}</Message></Error><RequestId>#{Fog::AWS::Mock.request_id}</RequestId></ErrorResponse>"
|
55
|
+
raise(Excon::Errors.status_error({:expects => 200}, response))
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
36
60
|
end
|
37
61
|
end
|
38
62
|
end
|
@@ -55,7 +55,7 @@ module Fog
|
|
55
55
|
response
|
56
56
|
else
|
57
57
|
response.status = 404
|
58
|
-
response.body = "<?xml version=\"1.0\"?><
|
58
|
+
response.body = "<?xml version=\"1.0\"?><ErrorResponse xmlns=\"https://route53.amazonaws.com/doc/2012-02-29/\"><Error><Type>Sender</Type><Code>NoSuchHostedZone</Code><Message>The specified hosted zone does not exist.</Message></Error><RequestId>#{Fog::AWS::Mock.request_id}</RequestId></ErrorResponse>"
|
59
59
|
raise(Excon::Errors.status_error({:expects => 200}, response))
|
60
60
|
end
|
61
61
|
end
|
@@ -53,12 +53,7 @@ module Fog
|
|
53
53
|
class Mock
|
54
54
|
|
55
55
|
def list_hosted_zones(options = {})
|
56
|
-
|
57
|
-
if options[:max_items].nil?
|
58
|
-
maxitems = 100
|
59
|
-
else
|
60
|
-
maxitems = options[:max_items]
|
61
|
-
end
|
56
|
+
maxitems = [options[:max_items]||100,100].min
|
62
57
|
|
63
58
|
if options[:marker].nil?
|
64
59
|
start = 0
|
@@ -82,8 +77,8 @@ module Fog
|
|
82
77
|
}
|
83
78
|
end,
|
84
79
|
'Marker' => options[:marker].to_s,
|
85
|
-
'MaxItems' =>
|
86
|
-
'IsTruncated' => truncated
|
80
|
+
'MaxItems' => maxitems,
|
81
|
+
'IsTruncated' => truncated
|
87
82
|
}
|
88
83
|
|
89
84
|
if truncated
|
@@ -66,39 +66,62 @@ module Fog
|
|
66
66
|
def list_resource_record_sets(zone_id, options = {})
|
67
67
|
maxitems = [options[:max_items]||100,100].min
|
68
68
|
|
69
|
+
response = Excon::Response.new
|
70
|
+
|
69
71
|
zone = self.data[:zones][zone_id]
|
72
|
+
if zone.nil?
|
73
|
+
response.status = 404
|
74
|
+
response.body = "<?xml version=\"1.0\"?>\n<ErrorResponse xmlns=\"https://route53.amazonaws.com/doc/2012-02-29/\"><Error><Type>Sender</Type><Code>NoSuchHostedZone</Code><Message>No hosted zone found with ID: #{zone_id}</Message></Error><RequestId>#{Fog::AWS::Mock.request_id}</RequestId></ErrorResponse>"
|
75
|
+
raise(Excon::Errors.status_error({:expects => 200}, response))
|
76
|
+
end
|
77
|
+
|
70
78
|
if options[:type]
|
71
79
|
records = zone[:records][options[:type]].values
|
72
80
|
else
|
73
|
-
records = zone[:records].values.
|
81
|
+
records = zone[:records].values.map{|r| r.values}.flatten
|
74
82
|
end
|
75
83
|
|
84
|
+
# sort for pagination
|
85
|
+
records.sort! { |a,b| a[:name].gsub(zone[:name],"") <=> b[:name].gsub(zone[:name],"") }
|
86
|
+
|
76
87
|
if options[:name]
|
77
88
|
name = options[:name].gsub(zone[:name],"")
|
78
89
|
records = records.select{|r| r[:name].gsub(zone[:name],"") >= name }
|
90
|
+
require 'pp'
|
79
91
|
end
|
80
92
|
|
81
|
-
|
93
|
+
next_record = records[maxitems]
|
82
94
|
records = records[0, maxitems]
|
83
|
-
truncated = !
|
95
|
+
truncated = !next_record.nil?
|
84
96
|
|
85
|
-
response = Excon::Response.new
|
86
97
|
response.status = 200
|
87
98
|
response.body = {
|
88
99
|
'ResourceRecordSets' => records.map do |r|
|
100
|
+
if r[:alias_target]
|
101
|
+
record = {
|
102
|
+
'AliasTarget' => {
|
103
|
+
'HostedZoneId' => r[:alias_target][:hosted_zone_id],
|
104
|
+
'DNSName' => r[:alias_target][:dns_name]
|
105
|
+
}
|
106
|
+
}
|
107
|
+
else
|
108
|
+
record = {
|
109
|
+
'TTL' => r[:ttl]
|
110
|
+
}
|
111
|
+
end
|
89
112
|
{
|
90
113
|
'ResourceRecords' => r[:resource_records],
|
91
114
|
'Name' => r[:name],
|
92
|
-
'Type' => r[:type]
|
93
|
-
|
94
|
-
}
|
115
|
+
'Type' => r[:type]
|
116
|
+
}.merge(record)
|
95
117
|
end,
|
96
|
-
'MaxItems' => maxitems
|
97
|
-
'IsTruncated' => truncated
|
118
|
+
'MaxItems' => maxitems,
|
119
|
+
'IsTruncated' => truncated
|
98
120
|
}
|
99
121
|
|
100
122
|
if truncated
|
101
|
-
response.body['
|
123
|
+
response.body['NextRecordName'] = next_record[:name]
|
124
|
+
response.body['NextRecordType'] = next_record[:type]
|
102
125
|
end
|
103
126
|
|
104
127
|
response
|
data/lib/fog/aws.rb
CHANGED
data/lib/fog/core/mock.rb
CHANGED
@@ -74,6 +74,13 @@ module Fog
|
|
74
74
|
rand(max).to_s
|
75
75
|
end
|
76
76
|
|
77
|
+
def self.random_letters_and_numbers(length)
|
78
|
+
random_selection(
|
79
|
+
'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789',
|
80
|
+
length
|
81
|
+
)
|
82
|
+
end
|
83
|
+
|
77
84
|
def self.random_selection(characters, length)
|
78
85
|
selection = ''
|
79
86
|
length.times do
|
@@ -1,13 +1,12 @@
|
|
1
1
|
Shindo.tests("Fog::Dns[:aws] | record", ['aws', 'dns']) do
|
2
2
|
|
3
|
-
pending if Fog.mocking?
|
4
3
|
tests("zones#create").succeeds do
|
5
4
|
@zone = Fog::DNS[:aws].zones.create(:domain => generate_unique_domain)
|
6
5
|
end
|
7
6
|
|
8
7
|
params = { :name => @zone.domain, :type => 'A', :ttl => 3600, :value => ['1.2.3.4'] }
|
9
8
|
|
10
|
-
model_tests(@zone.records, params
|
9
|
+
model_tests(@zone.records, params) do
|
11
10
|
|
12
11
|
# Newly created records should have a change id
|
13
12
|
tests("#change_id") do
|
@@ -1,5 +1,4 @@
|
|
1
1
|
Shindo.tests("Fog::DNS[:aws] | records", ['aws', 'dns']) do
|
2
|
-
pending if Fog.mocking?
|
3
2
|
|
4
3
|
tests("zones#create").succeeds do
|
5
4
|
@zone = Fog::DNS[:aws].zones.create(:domain => generate_unique_domain)
|
@@ -13,7 +12,7 @@ Shindo.tests("Fog::DNS[:aws] | records", ['aws', 'dns']) do
|
|
13
12
|
]
|
14
13
|
|
15
14
|
param_groups.each do |params|
|
16
|
-
collection_tests(@zone.records, params
|
15
|
+
collection_tests(@zone.records, params)
|
17
16
|
end
|
18
17
|
|
19
18
|
records = []
|
@@ -24,11 +23,7 @@ Shindo.tests("Fog::DNS[:aws] | records", ['aws', 'dns']) do
|
|
24
23
|
|
25
24
|
records << @zone.records.create(:name => "*.#{@zone.domain}", :type => "A", :ttl => 3600, :value => ['1.2.3.4'])
|
26
25
|
|
27
|
-
tests("#all!").returns(
|
28
|
-
@zone.records.all!.size
|
29
|
-
end
|
30
|
-
|
31
|
-
tests("#all!").returns(103) do
|
26
|
+
tests("#all!").returns(101) do
|
32
27
|
@zone.records.all!.size
|
33
28
|
end
|
34
29
|
|
@@ -12,8 +12,6 @@ Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
|
|
12
12
|
tests('success') do
|
13
13
|
|
14
14
|
test('get current zone count') do
|
15
|
-
pending if Fog.mocking?
|
16
|
-
|
17
15
|
@org_zone_count= 0
|
18
16
|
response = @r53_connection.list_hosted_zones
|
19
17
|
if response.status == 200
|
@@ -25,8 +23,6 @@ Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
|
|
25
23
|
end
|
26
24
|
|
27
25
|
test('create simple zone') {
|
28
|
-
pending if Fog.mocking?
|
29
|
-
|
30
26
|
result = false
|
31
27
|
|
32
28
|
response = @r53_connection.create_hosted_zone(@domain_name)
|
@@ -55,8 +51,6 @@ Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
|
|
55
51
|
}
|
56
52
|
|
57
53
|
test("get status of change #{@change_id}") {
|
58
|
-
pending if Fog.mocking?
|
59
|
-
|
60
54
|
result = false
|
61
55
|
response = @r53_connection.get_change(@change_id)
|
62
56
|
if response.status == 200
|
@@ -70,8 +64,6 @@ Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
|
|
70
64
|
}
|
71
65
|
|
72
66
|
test("get info on hosted zone #{@zone_id}") {
|
73
|
-
pending if Fog.mocking?
|
74
|
-
|
75
67
|
result = false
|
76
68
|
|
77
69
|
response = @r53_connection.get_hosted_zone(@zone_id)
|
@@ -83,7 +75,6 @@ Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
|
|
83
75
|
ns_servers = response.body['NameServers']
|
84
76
|
|
85
77
|
# AWS returns domain with a dot at end - so when compare, remove dot
|
86
|
-
|
87
78
|
if (zone_id == @zone_id) and (name.chop == @domain_name) and (caller_ref.length > 0) and
|
88
79
|
(ns_servers.count > 0)
|
89
80
|
result = true
|
@@ -94,8 +85,6 @@ Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
|
|
94
85
|
}
|
95
86
|
|
96
87
|
test('list zones') do
|
97
|
-
pending if Fog.mocking?
|
98
|
-
|
99
88
|
result = false
|
100
89
|
|
101
90
|
response = @r53_connection.list_hosted_zones
|
@@ -120,8 +109,6 @@ Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
|
|
120
109
|
end
|
121
110
|
|
122
111
|
test("add a A resource record") {
|
123
|
-
pending if Fog.mocking?
|
124
|
-
|
125
112
|
# create an A resource record
|
126
113
|
host = 'www.' + @domain_name
|
127
114
|
ip_addrs = ['1.2.3.4']
|
@@ -142,8 +129,6 @@ Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
|
|
142
129
|
}
|
143
130
|
|
144
131
|
test("add a CNAME resource record") {
|
145
|
-
pending if Fog.mocking?
|
146
|
-
|
147
132
|
# create a CNAME resource record
|
148
133
|
host = 'mail.' + @domain_name
|
149
134
|
value = ['www.' + @domain_name]
|
@@ -164,8 +149,6 @@ Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
|
|
164
149
|
}
|
165
150
|
|
166
151
|
test("add a MX resource record") {
|
167
|
-
pending if Fog.mocking?
|
168
|
-
|
169
152
|
# create a MX resource record
|
170
153
|
host = @domain_name
|
171
154
|
value = ['7 mail.' + @domain_name]
|
@@ -186,8 +169,6 @@ Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
|
|
186
169
|
}
|
187
170
|
|
188
171
|
test("add an ALIAS resource record") {
|
189
|
-
pending if Fog.mocking?
|
190
|
-
|
191
172
|
# create a load balancer
|
192
173
|
@elb_connection.create_load_balancer(["us-east-1a"], "fog", [{"Protocol" => "HTTP", "LoadBalancerPort" => "80", "InstancePort" => "80"}])
|
193
174
|
|
@@ -213,7 +194,7 @@ Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
|
|
213
194
|
puts "DNS Name (ELB): #{dns_name}"
|
214
195
|
puts "Zone ID for Route 53: #{@zone_id}"
|
215
196
|
|
216
|
-
sleep 120
|
197
|
+
sleep 120 unless Fog.mocking?
|
217
198
|
response = @r53_connection.change_resource_record_sets(@zone_id, change_batch, options)
|
218
199
|
if response.status == 200
|
219
200
|
change_id = response.body['Id']
|
@@ -225,15 +206,11 @@ Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
|
|
225
206
|
}
|
226
207
|
|
227
208
|
tests("list resource records").formats(AWS::DNS::Formats::LIST_RESOURCE_RECORD_SETS) {
|
228
|
-
pending if Fog.mocking?
|
229
|
-
|
230
209
|
# get resource records for zone
|
231
210
|
@r53_connection.list_resource_record_sets(@zone_id).body
|
232
211
|
}
|
233
212
|
|
234
213
|
test("delete #{@new_records.count} resource records") {
|
235
|
-
pending if Fog.mocking?
|
236
|
-
|
237
214
|
result = true
|
238
215
|
|
239
216
|
change_batch = []
|
@@ -252,8 +229,6 @@ Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
|
|
252
229
|
}
|
253
230
|
|
254
231
|
test("delete hosted zone #{@zone_id}") {
|
255
|
-
pending if Fog.mocking?
|
256
|
-
|
257
232
|
# cleanup the ELB as well
|
258
233
|
@elb_connection.delete_load_balancer("fog")
|
259
234
|
|
metadata
CHANGED
@@ -1,309 +1,247 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fog-maestrodev
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.18.0.
|
4
|
+
version: 1.18.0.20131114200144
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- geemus (Wesley Beary)
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
12
|
+
date: 2013-11-14 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: builder
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirement: &9899280 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '0'
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
|
-
version_requirements:
|
23
|
-
requirements:
|
24
|
-
- - ! '>='
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
24
|
+
version_requirements: *9899280
|
27
25
|
- !ruby/object:Gem::Dependency
|
28
26
|
name: excon
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
27
|
+
requirement: &9898720 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
30
29
|
requirements:
|
31
30
|
- - ~>
|
32
31
|
- !ruby/object:Gem::Version
|
33
32
|
version: 0.28.0
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
|
-
version_requirements:
|
37
|
-
requirements:
|
38
|
-
- - ~>
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 0.28.0
|
35
|
+
version_requirements: *9898720
|
41
36
|
- !ruby/object:Gem::Dependency
|
42
37
|
name: formatador
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirement: &9898220 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
44
40
|
requirements:
|
45
41
|
- - ~>
|
46
42
|
- !ruby/object:Gem::Version
|
47
43
|
version: 0.2.0
|
48
44
|
type: :runtime
|
49
45
|
prerelease: false
|
50
|
-
version_requirements:
|
51
|
-
requirements:
|
52
|
-
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 0.2.0
|
46
|
+
version_requirements: *9898220
|
55
47
|
- !ruby/object:Gem::Dependency
|
56
48
|
name: multi_json
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirement: &9897760 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '1.0'
|
62
55
|
type: :runtime
|
63
56
|
prerelease: false
|
64
|
-
version_requirements:
|
65
|
-
requirements:
|
66
|
-
- - ~>
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '1.0'
|
57
|
+
version_requirements: *9897760
|
69
58
|
- !ruby/object:Gem::Dependency
|
70
59
|
name: mime-types
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirement: &9897320 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
72
62
|
requirements:
|
73
63
|
- - ! '>='
|
74
64
|
- !ruby/object:Gem::Version
|
75
65
|
version: '0'
|
76
66
|
type: :runtime
|
77
67
|
prerelease: false
|
78
|
-
version_requirements:
|
79
|
-
requirements:
|
80
|
-
- - ! '>='
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
68
|
+
version_requirements: *9897320
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: net-scp
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirement: &9896780 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
86
73
|
requirements:
|
87
74
|
- - ~>
|
88
75
|
- !ruby/object:Gem::Version
|
89
76
|
version: '1.1'
|
90
77
|
type: :runtime
|
91
78
|
prerelease: false
|
92
|
-
version_requirements:
|
93
|
-
requirements:
|
94
|
-
- - ~>
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '1.1'
|
79
|
+
version_requirements: *9896780
|
97
80
|
- !ruby/object:Gem::Dependency
|
98
81
|
name: net-ssh
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
82
|
+
requirement: &9896280 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
100
84
|
requirements:
|
101
85
|
- - ! '>='
|
102
86
|
- !ruby/object:Gem::Version
|
103
87
|
version: 2.1.3
|
104
88
|
type: :runtime
|
105
89
|
prerelease: false
|
106
|
-
version_requirements:
|
107
|
-
requirements:
|
108
|
-
- - ! '>='
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 2.1.3
|
90
|
+
version_requirements: *9896280
|
111
91
|
- !ruby/object:Gem::Dependency
|
112
92
|
name: nokogiri
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
93
|
+
requirement: &9895820 !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
114
95
|
requirements:
|
115
96
|
- - ~>
|
116
97
|
- !ruby/object:Gem::Version
|
117
98
|
version: '1.5'
|
118
99
|
type: :runtime
|
119
100
|
prerelease: false
|
120
|
-
version_requirements:
|
121
|
-
requirements:
|
122
|
-
- - ~>
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '1.5'
|
101
|
+
version_requirements: *9895820
|
125
102
|
- !ruby/object:Gem::Dependency
|
126
103
|
name: ruby-hmac
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
104
|
+
requirement: &9895440 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
128
106
|
requirements:
|
129
107
|
- - ! '>='
|
130
108
|
- !ruby/object:Gem::Version
|
131
109
|
version: '0'
|
132
110
|
type: :runtime
|
133
111
|
prerelease: false
|
134
|
-
version_requirements:
|
135
|
-
requirements:
|
136
|
-
- - ! '>='
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
112
|
+
version_requirements: *9895440
|
139
113
|
- !ruby/object:Gem::Dependency
|
140
114
|
name: jekyll
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirement: &9911340 !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
142
117
|
requirements:
|
143
118
|
- - ! '>='
|
144
119
|
- !ruby/object:Gem::Version
|
145
120
|
version: '0'
|
146
121
|
type: :development
|
147
122
|
prerelease: false
|
148
|
-
version_requirements:
|
149
|
-
requirements:
|
150
|
-
- - ! '>='
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
123
|
+
version_requirements: *9911340
|
153
124
|
- !ruby/object:Gem::Dependency
|
154
125
|
name: rake
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
126
|
+
requirement: &9910920 !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
156
128
|
requirements:
|
157
129
|
- - ! '>='
|
158
130
|
- !ruby/object:Gem::Version
|
159
131
|
version: '0'
|
160
132
|
type: :development
|
161
133
|
prerelease: false
|
162
|
-
version_requirements:
|
163
|
-
requirements:
|
164
|
-
- - ! '>='
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
134
|
+
version_requirements: *9910920
|
167
135
|
- !ruby/object:Gem::Dependency
|
168
136
|
name: rbvmomi
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
137
|
+
requirement: &9910500 !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
170
139
|
requirements:
|
171
140
|
- - ! '>='
|
172
141
|
- !ruby/object:Gem::Version
|
173
142
|
version: '0'
|
174
143
|
type: :development
|
175
144
|
prerelease: false
|
176
|
-
version_requirements:
|
177
|
-
requirements:
|
178
|
-
- - ! '>='
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '0'
|
145
|
+
version_requirements: *9910500
|
181
146
|
- !ruby/object:Gem::Dependency
|
182
147
|
name: yard
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirement: &9910080 !ruby/object:Gem::Requirement
|
149
|
+
none: false
|
184
150
|
requirements:
|
185
151
|
- - ! '>='
|
186
152
|
- !ruby/object:Gem::Version
|
187
153
|
version: '0'
|
188
154
|
type: :development
|
189
155
|
prerelease: false
|
190
|
-
version_requirements:
|
191
|
-
requirements:
|
192
|
-
- - ! '>='
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: '0'
|
156
|
+
version_requirements: *9910080
|
195
157
|
- !ruby/object:Gem::Dependency
|
196
158
|
name: thor
|
197
|
-
requirement: !ruby/object:Gem::Requirement
|
159
|
+
requirement: &9909660 !ruby/object:Gem::Requirement
|
160
|
+
none: false
|
198
161
|
requirements:
|
199
162
|
- - ! '>='
|
200
163
|
- !ruby/object:Gem::Version
|
201
164
|
version: '0'
|
202
165
|
type: :development
|
203
166
|
prerelease: false
|
204
|
-
version_requirements:
|
205
|
-
requirements:
|
206
|
-
- - ! '>='
|
207
|
-
- !ruby/object:Gem::Version
|
208
|
-
version: '0'
|
167
|
+
version_requirements: *9909660
|
209
168
|
- !ruby/object:Gem::Dependency
|
210
169
|
name: rspec
|
211
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirement: &9909160 !ruby/object:Gem::Requirement
|
171
|
+
none: false
|
212
172
|
requirements:
|
213
173
|
- - ~>
|
214
174
|
- !ruby/object:Gem::Version
|
215
175
|
version: 1.3.1
|
216
176
|
type: :development
|
217
177
|
prerelease: false
|
218
|
-
version_requirements:
|
219
|
-
requirements:
|
220
|
-
- - ~>
|
221
|
-
- !ruby/object:Gem::Version
|
222
|
-
version: 1.3.1
|
178
|
+
version_requirements: *9909160
|
223
179
|
- !ruby/object:Gem::Dependency
|
224
180
|
name: rbovirt
|
225
|
-
requirement: !ruby/object:Gem::Requirement
|
181
|
+
requirement: &9908660 !ruby/object:Gem::Requirement
|
182
|
+
none: false
|
226
183
|
requirements:
|
227
184
|
- - ! '>='
|
228
185
|
- !ruby/object:Gem::Version
|
229
186
|
version: 0.0.11
|
230
187
|
type: :development
|
231
188
|
prerelease: false
|
232
|
-
version_requirements:
|
233
|
-
requirements:
|
234
|
-
- - ! '>='
|
235
|
-
- !ruby/object:Gem::Version
|
236
|
-
version: 0.0.11
|
189
|
+
version_requirements: *9908660
|
237
190
|
- !ruby/object:Gem::Dependency
|
238
191
|
name: shindo
|
239
|
-
requirement: !ruby/object:Gem::Requirement
|
192
|
+
requirement: &9908200 !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
240
194
|
requirements:
|
241
195
|
- - ~>
|
242
196
|
- !ruby/object:Gem::Version
|
243
197
|
version: 0.3.4
|
244
198
|
type: :development
|
245
199
|
prerelease: false
|
246
|
-
version_requirements:
|
247
|
-
requirements:
|
248
|
-
- - ~>
|
249
|
-
- !ruby/object:Gem::Version
|
250
|
-
version: 0.3.4
|
200
|
+
version_requirements: *9908200
|
251
201
|
- !ruby/object:Gem::Dependency
|
252
202
|
name: fission
|
253
|
-
requirement: !ruby/object:Gem::Requirement
|
203
|
+
requirement: &9907820 !ruby/object:Gem::Requirement
|
204
|
+
none: false
|
254
205
|
requirements:
|
255
206
|
- - ! '>='
|
256
207
|
- !ruby/object:Gem::Version
|
257
208
|
version: '0'
|
258
209
|
type: :development
|
259
210
|
prerelease: false
|
260
|
-
version_requirements:
|
261
|
-
requirements:
|
262
|
-
- - ! '>='
|
263
|
-
- !ruby/object:Gem::Version
|
264
|
-
version: '0'
|
211
|
+
version_requirements: *9907820
|
265
212
|
- !ruby/object:Gem::Dependency
|
266
213
|
name: pry
|
267
|
-
requirement: !ruby/object:Gem::Requirement
|
214
|
+
requirement: &9907360 !ruby/object:Gem::Requirement
|
215
|
+
none: false
|
268
216
|
requirements:
|
269
217
|
- - ! '>='
|
270
218
|
- !ruby/object:Gem::Version
|
271
219
|
version: '0'
|
272
220
|
type: :development
|
273
221
|
prerelease: false
|
274
|
-
version_requirements:
|
275
|
-
requirements:
|
276
|
-
- - ! '>='
|
277
|
-
- !ruby/object:Gem::Version
|
278
|
-
version: '0'
|
222
|
+
version_requirements: *9907360
|
279
223
|
- !ruby/object:Gem::Dependency
|
280
224
|
name: google-api-client
|
281
|
-
requirement: !ruby/object:Gem::Requirement
|
225
|
+
requirement: &9906860 !ruby/object:Gem::Requirement
|
226
|
+
none: false
|
282
227
|
requirements:
|
283
228
|
- - ~>
|
284
229
|
- !ruby/object:Gem::Version
|
285
230
|
version: 0.6.2
|
286
231
|
type: :development
|
287
232
|
prerelease: false
|
288
|
-
version_requirements:
|
289
|
-
requirements:
|
290
|
-
- - ~>
|
291
|
-
- !ruby/object:Gem::Version
|
292
|
-
version: 0.6.2
|
233
|
+
version_requirements: *9906860
|
293
234
|
- !ruby/object:Gem::Dependency
|
294
235
|
name: unf
|
295
|
-
requirement: !ruby/object:Gem::Requirement
|
236
|
+
requirement: &9906440 !ruby/object:Gem::Requirement
|
237
|
+
none: false
|
296
238
|
requirements:
|
297
239
|
- - ! '>='
|
298
240
|
- !ruby/object:Gem::Version
|
299
241
|
version: '0'
|
300
242
|
type: :development
|
301
243
|
prerelease: false
|
302
|
-
version_requirements:
|
303
|
-
requirements:
|
304
|
-
- - ! '>='
|
305
|
-
- !ruby/object:Gem::Version
|
306
|
-
version: '0'
|
244
|
+
version_requirements: *9906440
|
307
245
|
description: The Ruby cloud services library. Supports all major cloud providers including
|
308
246
|
AWS, Rackspace, Linode, Blue Box, StormOnDemand, and many others. Full support for
|
309
247
|
most AWS services including EC2, S3, CloudWatch, SimpleDB, ELB, and RDS.
|
@@ -5379,25 +5317,29 @@ files:
|
|
5379
5317
|
homepage: http://github.com/fog/fog
|
5380
5318
|
licenses:
|
5381
5319
|
- MIT
|
5382
|
-
metadata: {}
|
5383
5320
|
post_install_message:
|
5384
5321
|
rdoc_options:
|
5385
5322
|
- --charset=UTF-8
|
5386
5323
|
require_paths:
|
5387
5324
|
- lib
|
5388
5325
|
required_ruby_version: !ruby/object:Gem::Requirement
|
5326
|
+
none: false
|
5389
5327
|
requirements:
|
5390
5328
|
- - ! '>='
|
5391
5329
|
- !ruby/object:Gem::Version
|
5392
5330
|
version: '0'
|
5331
|
+
segments:
|
5332
|
+
- 0
|
5333
|
+
hash: -1666891968851766766
|
5393
5334
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
5335
|
+
none: false
|
5394
5336
|
requirements:
|
5395
5337
|
- - ! '>='
|
5396
5338
|
- !ruby/object:Gem::Version
|
5397
5339
|
version: '0'
|
5398
5340
|
requirements: []
|
5399
5341
|
rubyforge_project: fog
|
5400
|
-
rubygems_version:
|
5342
|
+
rubygems_version: 1.8.9
|
5401
5343
|
signing_key:
|
5402
5344
|
specification_version: 2
|
5403
5345
|
summary: brings clouds to you
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
NzYxNjdjNWQwMjZlYmQyNGZmYmUxZGJlZDdlMjE3NDBmNjQ1MjgyOQ==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
ODYyZTAzNTZiNWZhYzc1YzI1YmQyMTQyYzQ1Yjk1NWEwN2Y1OGE1OA==
|
7
|
-
!binary "U0hBNTEy":
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
NmFlYzY1NDkwY2UwMjUxZjliYTk1MDI0MDQwNjQ5OTZkOWFiNDc0NTZhODA3
|
10
|
-
MDBmMTI1NzIzZjI2NDAyOGRkMmE1MzAwOTk0NDc2MjM5ZmEwOWQyYjUwYjFh
|
11
|
-
MGE5ZjViN2Y5YTJlMzAyNDdhZWNlNTg0ODZkMTM5NWE4NDlkNjE=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ZmM3ZDc3ZGNhZmU2YzBmYjY0OTY5MDkyMWFiYmFkZTFmM2U5MjIwNTU2ZjYy
|
14
|
-
YzlhZWZhNjY4OTE0ZDQ1NjhmNjFjMGUzYzg2MDkzNmU5ZjljNTY0YmZkMzBk
|
15
|
-
ZDBjMDdjZjFhOTkxZWM3ZTRmZTQ5MWQ2NjQwY2Q1OWVlNTgyMjE=
|