bbrowning-deltacloud-core 0.0.3.1 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +10 -3
- data/bin/deltacloudd +67 -35
- data/config.ru +1 -1
- data/deltacloud.rb +1 -0
- data/lib/deltacloud/base_driver/base_driver.rb +29 -0
- data/lib/deltacloud/base_driver/features.rb +7 -0
- data/lib/deltacloud/base_driver/mock_driver.rb +4 -1
- data/lib/deltacloud/drivers/ec2/ec2_driver.rb +98 -31
- data/lib/deltacloud/drivers/gogrid/gogrid_client.rb +7 -2
- data/lib/deltacloud/drivers/gogrid/gogrid_driver.rb +39 -34
- data/lib/deltacloud/drivers/gogrid/test.rb +13 -0
- data/lib/deltacloud/drivers/rackspace/rackspace_driver.rb +54 -23
- data/lib/deltacloud/drivers/rimuhosting/rimuhosting_driver.rb +47 -27
- data/lib/deltacloud/drivers/terremark/terremark_driver.rb +53 -29
- data/lib/deltacloud/helpers/application_helper.rb +6 -0
- data/lib/deltacloud/models/base_model.rb +2 -2
- data/lib/deltacloud/models/key.rb +35 -0
- data/lib/sinatra/url_for.rb +7 -4
- data/server.rb +54 -2
- data/tests/url_for_test.rb +50 -0
- data/views/errors/backend_error.html.haml +3 -1
- data/views/images/index.html.haml +1 -1
- data/views/instances/index.html.haml +1 -1
- data/views/instances/show.xml.haml +31 -22
- data/views/keys/index.html.haml +26 -0
- data/views/keys/index.xml.haml +4 -0
- data/views/keys/new.html.haml +8 -0
- data/views/keys/show.html.haml +22 -0
- data/views/keys/show.xml.haml +20 -0
- metadata +337 -320
- data/support/torquebox/torquebox-ec2-config.ru +0 -8
data/lib/sinatra/url_for.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'uri'
|
2
|
+
|
1
3
|
module Sinatra
|
2
4
|
module UrlForHelper
|
3
5
|
# Construct a link to +url_fragment+, which should be given relative to
|
@@ -18,7 +20,7 @@ module Sinatra
|
|
18
20
|
when :path_only
|
19
21
|
base = request.script_name
|
20
22
|
when :full
|
21
|
-
scheme = request.scheme
|
23
|
+
scheme = request.scheme
|
22
24
|
if (scheme == 'http' && request.port == 80 ||
|
23
25
|
scheme == 'https' && request.port == 443)
|
24
26
|
port = ""
|
@@ -30,12 +32,13 @@ module Sinatra
|
|
30
32
|
else
|
31
33
|
raise TypeError, "Unknown url_for mode #{mode}"
|
32
34
|
end
|
35
|
+
url_escape = URI.escape(url_fragment)
|
33
36
|
# Don't add the base fragment if url_for gets called more than once
|
34
37
|
# per url or the url_fragment passed in is an absolute url
|
35
|
-
if
|
36
|
-
|
38
|
+
if url_escape.match(/^#{base}/) or url_escape.match(/^http/)
|
39
|
+
url_escape
|
37
40
|
else
|
38
|
-
"#{base}#{
|
41
|
+
"#{base}#{url_escape}"
|
39
42
|
end
|
40
43
|
end
|
41
44
|
|
data/server.rb
CHANGED
@@ -100,7 +100,6 @@ END
|
|
100
100
|
"owner_id" and "architecture" parameter
|
101
101
|
END
|
102
102
|
param :id, :string
|
103
|
-
param :owner_id, :string
|
104
103
|
param :architecture, :string, :optional
|
105
104
|
control { filter_all(:images) }
|
106
105
|
end
|
@@ -175,7 +174,7 @@ END
|
|
175
174
|
end
|
176
175
|
|
177
176
|
operation :show do
|
178
|
-
description 'Show an
|
177
|
+
description 'Show an instance identified by "id" parameter.'
|
179
178
|
param :id, :string, :required
|
180
179
|
control { show(:instance) }
|
181
180
|
end
|
@@ -300,3 +299,56 @@ collection :storage_volumes do
|
|
300
299
|
control { show(:storage_volume) }
|
301
300
|
end
|
302
301
|
end
|
302
|
+
|
303
|
+
get '/api/keys/new' do
|
304
|
+
respond_to do |format|
|
305
|
+
format.html { haml :"keys/new" }
|
306
|
+
end
|
307
|
+
end
|
308
|
+
|
309
|
+
collection :keys do
|
310
|
+
description "Instance authentication credentials"
|
311
|
+
|
312
|
+
operation :index do
|
313
|
+
description "List all available credentials which could be used for instance authentication"
|
314
|
+
control do
|
315
|
+
filter_all :keys
|
316
|
+
end
|
317
|
+
end
|
318
|
+
|
319
|
+
operation :show do
|
320
|
+
description "Show details about given instance credential"
|
321
|
+
param :id, :string, :required
|
322
|
+
control { show :key }
|
323
|
+
end
|
324
|
+
|
325
|
+
operation :create do
|
326
|
+
description "Create a new instance credential if backend supports this"
|
327
|
+
param :name, :string, :required
|
328
|
+
control do
|
329
|
+
unless driver.respond_to?(:create_key)
|
330
|
+
raise Deltacloud::BackendFeatureUnsupported.new('501',
|
331
|
+
'Creating instance credentials is not supported in backend')
|
332
|
+
end
|
333
|
+
@key = driver.create_key(credentials, { :key_name => params[:name] })
|
334
|
+
respond_to do |format|
|
335
|
+
format.html { haml :"keys/show" }
|
336
|
+
format.xml { haml :"keys/show" }
|
337
|
+
end
|
338
|
+
end
|
339
|
+
end
|
340
|
+
|
341
|
+
operation :destroy do
|
342
|
+
description "Destroy given instance credential if backend supports this"
|
343
|
+
param :id, :string, :required
|
344
|
+
control do
|
345
|
+
unless driver.respond_to?(:destroy_key)
|
346
|
+
raise Deltacloud::BackendFeatureUnsupported.new('501',
|
347
|
+
'Creating instance credentials is not supported in backend')
|
348
|
+
end
|
349
|
+
driver.destroy_key(credentials, { :key_name => params[:id]})
|
350
|
+
redirect(keys_url)
|
351
|
+
end
|
352
|
+
end
|
353
|
+
|
354
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'tests/common'
|
2
|
+
|
3
|
+
module DeltacloudUnitTest
|
4
|
+
class UrlForTest < Test::Unit::TestCase
|
5
|
+
include Rack::Test::Methods
|
6
|
+
|
7
|
+
def app
|
8
|
+
Sinatra::Application
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_it_works_for_root
|
12
|
+
verify_url_for("/", "/")
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_it_works_for_root_absolute
|
16
|
+
verify_url_for("/", "http://localhost/", :full)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_it_works_with_spaces
|
20
|
+
verify_url_for("/url with spaces", "/url%20with%20spaces")
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_it_works_when_given_absolute
|
24
|
+
verify_url_for("http://test.com", "http://test.com")
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_it_works_when_not_at_root_context
|
28
|
+
verify_url_for("/", "context/", :path_only, {}, {"SCRIPT_NAME" => "context"})
|
29
|
+
end
|
30
|
+
|
31
|
+
def verify_url_for(url, expected_url, mode=:path_only, params={}, rack_env={})
|
32
|
+
# generate a unique url for each test
|
33
|
+
test_url = "/url_for_test/#{expected_url.hash}/#{Time.now.to_f}"
|
34
|
+
# Create our sinatra test endpoint
|
35
|
+
self.class.create_test_url_content(test_url, url, mode)
|
36
|
+
|
37
|
+
# verify the generated url matches what we expect
|
38
|
+
get test_url, params, rack_env
|
39
|
+
last_response.body.should == expected_url
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.create_test_url_content(test_url, url_content, mode)
|
43
|
+
get test_url do
|
44
|
+
content_type "text/plain"
|
45
|
+
url_for(url_content, mode)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
end
|
@@ -1,30 +1,39 @@
|
|
1
1
|
!!! XML
|
2
2
|
%instance{:href => instance_url(@instance.id), :id => @instance.id}
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
3
|
+
- if @instance.name
|
4
|
+
%name<
|
5
|
+
=@instance.name
|
6
|
+
- if @instance.owner_id
|
7
|
+
%owner_id<
|
8
|
+
=@instance.owner_id
|
9
|
+
- if @instance.image_id
|
10
|
+
%image{:href => image_url(@instance.image_id), :id => @instance.image_id }
|
11
|
+
- if @instance.realm_id
|
12
|
+
%realm{:href => realm_url(@instance.realm_id), :id => @instance.realm_id }
|
13
|
+
- if @instance.state
|
14
|
+
%state<
|
15
|
+
=@instance.state
|
16
|
+
- if @instance.instance_profile
|
17
|
+
- haml_tag :"hardware_profile", {:id => @instance.instance_profile.id, :href => hardware_profile_url(@instance.instance_profile.id)} do
|
18
|
+
- @instance.instance_profile.overrides.each do |p, v|
|
19
|
+
%property{:kind => 'fixed', :name => p, :value => v, :unit => Deltacloud::HardwareProfile::unit(p)}
|
20
|
+
- if @instance.actions
|
21
|
+
%actions
|
22
|
+
- @instance.actions.compact.each do |instance_action|
|
23
|
+
%link{:rel => instance_action, :method => instance_action_method(instance_action), :href => self.send("#{instance_action}_instance_url", @instance.id)}
|
17
24
|
- if @instance.instance_variables.include?("@launch_time")
|
18
25
|
%launch_time<
|
19
26
|
=@instance.launch_time
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
27
|
+
- if @instance.public_addresses
|
28
|
+
%public_addresses
|
29
|
+
- @instance.public_addresses.each do |address|
|
30
|
+
%address<
|
31
|
+
=address
|
32
|
+
- if @instance.private_addresses
|
33
|
+
%private_addresses
|
34
|
+
- @instance.private_addresses.each do |address|
|
35
|
+
%address<
|
36
|
+
=address
|
28
37
|
- if driver_has_auth_features?
|
29
38
|
%authentication{ :type => driver_auth_feature_name }
|
30
39
|
- if @instance.authn_feature_failed?
|
@@ -0,0 +1,26 @@
|
|
1
|
+
%h1 Keys
|
2
|
+
|
3
|
+
%table.display
|
4
|
+
%thead
|
5
|
+
%tr
|
6
|
+
%th ID
|
7
|
+
%th Credentials details
|
8
|
+
%th Actions
|
9
|
+
%tbody
|
10
|
+
- @elements.each do |key|
|
11
|
+
%tr
|
12
|
+
%td
|
13
|
+
= link_to key.id, key_url( key.id )
|
14
|
+
%td
|
15
|
+
- if key.credential_type.eql?(:key)
|
16
|
+
= key.fingerprint
|
17
|
+
- if key.credential_type.eql?(:password)
|
18
|
+
= "#{key.username} - #{key.password}"
|
19
|
+
%td
|
20
|
+
- if driver.respond_to?(:destroy_key)
|
21
|
+
=link_to 'Destroy', destroy_key_url(key.id), :class => 'delete'
|
22
|
+
%tfoot
|
23
|
+
- if driver.respond_to?(:create_key)
|
24
|
+
%tr
|
25
|
+
%td{:colspan => 3, :style => "text-align:right;"}
|
26
|
+
=link_to 'Create »', "#{url_for('/api/keys/new')}", :class => 'button'
|
@@ -0,0 +1,22 @@
|
|
1
|
+
%h1
|
2
|
+
= @key.id
|
3
|
+
|
4
|
+
%dl
|
5
|
+
- if @key.is_key?
|
6
|
+
%di
|
7
|
+
%dt Fingerprint
|
8
|
+
%dd
|
9
|
+
= @key.fingerprint
|
10
|
+
- if @key.pem_rsa_key
|
11
|
+
%dt PEM key
|
12
|
+
%dd
|
13
|
+
%pre
|
14
|
+
= @key.pem_rsa_key
|
15
|
+
- if @key.is_password?
|
16
|
+
%di
|
17
|
+
%dt Username
|
18
|
+
%dd
|
19
|
+
= @key.username
|
20
|
+
%dt Password
|
21
|
+
%dd
|
22
|
+
= @key.password
|
@@ -0,0 +1,20 @@
|
|
1
|
+
- unless defined?(partial)
|
2
|
+
!!! XML
|
3
|
+
%key{ :href => key_url(@key.id), :id => @key.id, :type => "#{@key.credential_type}" }
|
4
|
+
%actions
|
5
|
+
- if driver.respond_to?(:destroy_key)
|
6
|
+
%link{ :rel => "destroy", :method => "delete", :href => destroy_key_url(@key.id)}
|
7
|
+
- if @key.is_key?
|
8
|
+
%fingerprint<
|
9
|
+
=@key.fingerprint
|
10
|
+
- unless @key.pem_rsa_key.nil?
|
11
|
+
%pem<
|
12
|
+
=cdata do
|
13
|
+
=@key.pem_rsa_key
|
14
|
+
- if @key.is_password?
|
15
|
+
%username<
|
16
|
+
=cdata do
|
17
|
+
=@key.username
|
18
|
+
%password<
|
19
|
+
=cdata do
|
20
|
+
=@key.password
|
metadata
CHANGED
@@ -1,319 +1,339 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bbrowning-deltacloud-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 65
|
5
4
|
prerelease: false
|
6
5
|
segments:
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
version: 0.0.3.1
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 4
|
9
|
+
version: 0.0.4
|
12
10
|
platform: ruby
|
13
11
|
authors:
|
14
|
-
- Red Hat, Inc.
|
12
|
+
- Red Hat, Inc.
|
15
13
|
autorequire:
|
16
14
|
bindir: bin
|
17
15
|
cert_chain: []
|
18
16
|
|
19
|
-
date: 2010-
|
17
|
+
date: 2010-09-01 00:00:00 -04:00
|
20
18
|
default_executable:
|
21
19
|
dependencies:
|
22
|
-
- !ruby/object:Gem::Dependency
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
- !ruby/object:Gem::
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
- !ruby/object:Gem::Dependency
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: rake
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 0
|
29
|
+
- 8
|
30
|
+
- 7
|
31
|
+
version: 0.8.7
|
32
|
+
type: :runtime
|
33
|
+
version_requirements: *id001
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: eventmachine
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
segments:
|
42
|
+
- 0
|
43
|
+
- 12
|
44
|
+
- 10
|
45
|
+
version: 0.12.10
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id002
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: haml
|
50
|
+
prerelease: false
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
segments:
|
56
|
+
- 2
|
57
|
+
- 2
|
58
|
+
- 17
|
59
|
+
version: 2.2.17
|
60
|
+
type: :runtime
|
61
|
+
version_requirements: *id003
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: sinatra
|
64
|
+
prerelease: false
|
65
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
segments:
|
70
|
+
- 0
|
71
|
+
- 9
|
72
|
+
- 4
|
73
|
+
version: 0.9.4
|
74
|
+
type: :runtime
|
75
|
+
version_requirements: *id004
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: rack
|
78
|
+
prerelease: false
|
79
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
segments:
|
84
|
+
- 1
|
85
|
+
- 0
|
86
|
+
- 0
|
87
|
+
version: 1.0.0
|
88
|
+
type: :runtime
|
89
|
+
version_requirements: *id005
|
90
|
+
- !ruby/object:Gem::Dependency
|
91
|
+
name: thin
|
92
|
+
prerelease: false
|
93
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
segments:
|
98
|
+
- 1
|
99
|
+
- 2
|
100
|
+
- 5
|
101
|
+
version: 1.2.5
|
102
|
+
type: :runtime
|
103
|
+
version_requirements: *id006
|
104
|
+
- !ruby/object:Gem::Dependency
|
105
|
+
name: rerun
|
106
|
+
prerelease: false
|
107
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
segments:
|
112
|
+
- 0
|
113
|
+
- 5
|
114
|
+
- 2
|
115
|
+
version: 0.5.2
|
116
|
+
type: :runtime
|
117
|
+
version_requirements: *id007
|
118
|
+
- !ruby/object:Gem::Dependency
|
119
|
+
name: json
|
120
|
+
prerelease: false
|
121
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
segments:
|
126
|
+
- 1
|
127
|
+
- 4
|
128
|
+
- 3
|
129
|
+
version: 1.4.3
|
130
|
+
type: :runtime
|
131
|
+
version_requirements: *id008
|
132
|
+
- !ruby/object:Gem::Dependency
|
133
|
+
name: compass
|
134
|
+
prerelease: false
|
135
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - ">="
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
segments:
|
140
|
+
- 0
|
141
|
+
- 8
|
142
|
+
- 17
|
143
|
+
version: 0.8.17
|
144
|
+
type: :development
|
145
|
+
version_requirements: *id009
|
146
|
+
- !ruby/object:Gem::Dependency
|
147
|
+
name: nokogiri
|
148
|
+
prerelease: false
|
149
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
segments:
|
154
|
+
- 1
|
155
|
+
- 4
|
156
|
+
- 1
|
157
|
+
version: 1.4.1
|
158
|
+
type: :development
|
159
|
+
version_requirements: *id010
|
160
|
+
- !ruby/object:Gem::Dependency
|
161
|
+
name: rack-test
|
162
|
+
prerelease: false
|
163
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - ">="
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
segments:
|
168
|
+
- 0
|
169
|
+
- 5
|
170
|
+
- 3
|
171
|
+
version: 0.5.3
|
172
|
+
type: :development
|
173
|
+
version_requirements: *id011
|
174
|
+
- !ruby/object:Gem::Dependency
|
175
|
+
name: cucumber
|
176
|
+
prerelease: false
|
177
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - ">="
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
segments:
|
182
|
+
- 0
|
183
|
+
- 6
|
184
|
+
- 3
|
185
|
+
version: 0.6.3
|
186
|
+
type: :development
|
187
|
+
version_requirements: *id012
|
188
|
+
- !ruby/object:Gem::Dependency
|
189
|
+
name: rcov
|
190
|
+
prerelease: false
|
191
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
192
|
+
requirements:
|
193
|
+
- - ">="
|
194
|
+
- !ruby/object:Gem::Version
|
195
|
+
segments:
|
196
|
+
- 0
|
197
|
+
- 9
|
198
|
+
- 8
|
199
|
+
version: 0.9.8
|
200
|
+
type: :development
|
201
|
+
version_requirements: *id013
|
182
202
|
description: " The Deltacloud API is built as a service-based REST API.\n You do not directly link a Deltacloud library into your program to use it.\n Instead, a client speaks the Deltacloud API over HTTP to a server\n which implements the REST interface.\n"
|
183
203
|
email: deltacloud-users@lists.fedorahosted.org
|
184
204
|
executables:
|
185
|
-
- deltacloudd
|
205
|
+
- deltacloudd
|
186
206
|
extensions: []
|
187
207
|
|
188
208
|
extra_rdoc_files:
|
189
|
-
- COPYING
|
209
|
+
- COPYING
|
190
210
|
files:
|
191
|
-
- Rakefile
|
192
|
-
- config.ru
|
193
|
-
-
|
194
|
-
-
|
195
|
-
- support/fedora/
|
196
|
-
- support/fedora/
|
197
|
-
-
|
198
|
-
- lib/
|
199
|
-
- lib/
|
200
|
-
- lib/
|
201
|
-
- lib/
|
202
|
-
- lib/
|
203
|
-
- lib/
|
204
|
-
- lib/deltacloud/
|
205
|
-
- lib/deltacloud/
|
206
|
-
- lib/deltacloud/
|
207
|
-
- lib/deltacloud/
|
208
|
-
- lib/deltacloud/
|
209
|
-
- lib/deltacloud/
|
210
|
-
- lib/deltacloud/
|
211
|
-
- lib/deltacloud/
|
212
|
-
- lib/deltacloud/
|
213
|
-
- lib/deltacloud/
|
214
|
-
- lib/deltacloud/
|
215
|
-
- lib/deltacloud/
|
216
|
-
- lib/deltacloud/drivers/
|
217
|
-
- lib/deltacloud/drivers/
|
218
|
-
- lib/deltacloud/drivers/
|
219
|
-
- lib/deltacloud/drivers/rimuhosting/rimuhosting_client.rb
|
220
|
-
- lib/deltacloud/drivers/rimuhosting/rimuhosting_driver.rb
|
221
|
-
- lib/deltacloud/drivers/
|
222
|
-
- lib/deltacloud/
|
223
|
-
- lib/deltacloud/
|
224
|
-
- lib/deltacloud/
|
225
|
-
- lib/deltacloud/
|
226
|
-
- lib/deltacloud/
|
227
|
-
- lib/deltacloud/
|
228
|
-
- lib/deltacloud/
|
229
|
-
- lib/deltacloud/
|
230
|
-
- lib/deltacloud/models/realm.rb
|
231
|
-
- lib/deltacloud/models/
|
232
|
-
- lib/deltacloud/models/
|
233
|
-
- lib/
|
234
|
-
- lib/
|
235
|
-
- lib/
|
236
|
-
- lib/
|
237
|
-
- lib/
|
238
|
-
- lib/
|
239
|
-
- lib/deltacloud/drivers/mock/data/
|
240
|
-
- lib/deltacloud/drivers/mock/data/
|
241
|
-
- lib/deltacloud/drivers/mock/data/
|
242
|
-
- lib/deltacloud/drivers/mock/data/
|
243
|
-
- lib/deltacloud/drivers/mock/data/
|
244
|
-
- lib/deltacloud/drivers/mock/data/
|
245
|
-
- lib/deltacloud/drivers/mock/data/storage_snapshots/snap1.yml
|
246
|
-
- lib/deltacloud/drivers/mock/data/storage_snapshots/snap2.yml
|
247
|
-
- lib/deltacloud/drivers/mock/data/
|
248
|
-
- lib/deltacloud/drivers/mock/data/
|
249
|
-
- lib/deltacloud/drivers/mock/data/
|
250
|
-
-
|
251
|
-
- views/
|
252
|
-
- views/
|
253
|
-
- views/
|
254
|
-
- views/
|
255
|
-
- views/
|
256
|
-
- views/
|
257
|
-
- views/
|
258
|
-
- views/
|
259
|
-
- views/
|
260
|
-
- views/
|
261
|
-
- views/
|
262
|
-
- views/errors/auth_exception.html.haml
|
263
|
-
- views/errors/auth_exception.xml.haml
|
264
|
-
- views/errors/
|
265
|
-
- views/errors/
|
266
|
-
- views/errors/
|
267
|
-
- views/errors/
|
268
|
-
- views/errors/validation_failure.html.haml
|
269
|
-
- views/errors/
|
270
|
-
- views/
|
271
|
-
- views/
|
272
|
-
- views/
|
273
|
-
- views/
|
274
|
-
- views/
|
275
|
-
- views/
|
276
|
-
- views/
|
277
|
-
- views/
|
278
|
-
- views/
|
279
|
-
- views/
|
280
|
-
- views/
|
281
|
-
- views/
|
282
|
-
- views/
|
283
|
-
- views/
|
284
|
-
- views/
|
285
|
-
- views/
|
286
|
-
- views/
|
287
|
-
- views/
|
288
|
-
- views/
|
289
|
-
- views/
|
290
|
-
- views/
|
291
|
-
- views/
|
292
|
-
- views/
|
293
|
-
- views/
|
294
|
-
- views/
|
295
|
-
- views/
|
296
|
-
- views/
|
297
|
-
- views/
|
298
|
-
-
|
299
|
-
-
|
300
|
-
-
|
301
|
-
-
|
302
|
-
-
|
303
|
-
-
|
304
|
-
- public/
|
305
|
-
- public/
|
306
|
-
- public/
|
307
|
-
- public/
|
308
|
-
- public/
|
309
|
-
-
|
310
|
-
-
|
311
|
-
-
|
312
|
-
-
|
313
|
-
-
|
314
|
-
-
|
315
|
-
-
|
316
|
-
-
|
211
|
+
- Rakefile
|
212
|
+
- config.ru
|
213
|
+
- deltacloud.rb
|
214
|
+
- server.rb
|
215
|
+
- support/fedora/deltacloudd
|
216
|
+
- support/fedora/rubygem-deltacloud-core.spec
|
217
|
+
- lib/drivers.rb
|
218
|
+
- lib/deltacloud/base_driver.rb
|
219
|
+
- lib/deltacloud/hardware_profile.rb
|
220
|
+
- lib/deltacloud/helpers.rb
|
221
|
+
- lib/deltacloud/method_serializer.rb
|
222
|
+
- lib/deltacloud/state_machine.rb
|
223
|
+
- lib/deltacloud/validation.rb
|
224
|
+
- lib/deltacloud/base_driver/base_driver.rb
|
225
|
+
- lib/deltacloud/base_driver/features.rb
|
226
|
+
- lib/deltacloud/base_driver/mock_driver.rb
|
227
|
+
- lib/deltacloud/drivers/ec2/ec2_driver.rb
|
228
|
+
- lib/deltacloud/drivers/ec2/ec2_mock_driver.rb
|
229
|
+
- lib/deltacloud/drivers/gogrid/gogrid_client.rb
|
230
|
+
- lib/deltacloud/drivers/gogrid/gogrid_driver.rb
|
231
|
+
- lib/deltacloud/drivers/gogrid/test.rb
|
232
|
+
- lib/deltacloud/drivers/mock/mock_driver.rb
|
233
|
+
- lib/deltacloud/drivers/opennebula/cloud_client.rb
|
234
|
+
- lib/deltacloud/drivers/opennebula/occi_client.rb
|
235
|
+
- lib/deltacloud/drivers/opennebula/opennebula_driver.rb
|
236
|
+
- lib/deltacloud/drivers/rackspace/rackspace_client.rb
|
237
|
+
- lib/deltacloud/drivers/rackspace/rackspace_driver.rb
|
238
|
+
- lib/deltacloud/drivers/rhevm/rhevm_driver.rb
|
239
|
+
- lib/deltacloud/drivers/rimuhosting/rimuhosting_client.rb
|
240
|
+
- lib/deltacloud/drivers/rimuhosting/rimuhosting_driver.rb
|
241
|
+
- lib/deltacloud/drivers/terremark/terremark_driver.rb
|
242
|
+
- lib/deltacloud/helpers/application_helper.rb
|
243
|
+
- lib/deltacloud/helpers/conversion_helper.rb
|
244
|
+
- lib/deltacloud/helpers/hardware_profiles_helper.rb
|
245
|
+
- lib/deltacloud/models/base_model.rb
|
246
|
+
- lib/deltacloud/models/image.rb
|
247
|
+
- lib/deltacloud/models/instance.rb
|
248
|
+
- lib/deltacloud/models/instance_profile.rb
|
249
|
+
- lib/deltacloud/models/key.rb
|
250
|
+
- lib/deltacloud/models/realm.rb
|
251
|
+
- lib/deltacloud/models/storage_snapshot.rb
|
252
|
+
- lib/deltacloud/models/storage_volume.rb
|
253
|
+
- lib/sinatra/accept_media_types.rb
|
254
|
+
- lib/sinatra/lazy_auth.rb
|
255
|
+
- lib/sinatra/rabbit.rb
|
256
|
+
- lib/sinatra/respond_to.rb
|
257
|
+
- lib/sinatra/static_assets.rb
|
258
|
+
- lib/sinatra/url_for.rb
|
259
|
+
- lib/deltacloud/drivers/mock/data/images/img1.yml
|
260
|
+
- lib/deltacloud/drivers/mock/data/images/img2.yml
|
261
|
+
- lib/deltacloud/drivers/mock/data/images/img3.yml
|
262
|
+
- lib/deltacloud/drivers/mock/data/instances/inst0.yml
|
263
|
+
- lib/deltacloud/drivers/mock/data/instances/inst1.yml
|
264
|
+
- lib/deltacloud/drivers/mock/data/instances/inst2.yml
|
265
|
+
- lib/deltacloud/drivers/mock/data/storage_snapshots/snap1.yml
|
266
|
+
- lib/deltacloud/drivers/mock/data/storage_snapshots/snap2.yml
|
267
|
+
- lib/deltacloud/drivers/mock/data/storage_snapshots/snap3.yml
|
268
|
+
- lib/deltacloud/drivers/mock/data/storage_volumes/vol1.yml
|
269
|
+
- lib/deltacloud/drivers/mock/data/storage_volumes/vol2.yml
|
270
|
+
- lib/deltacloud/drivers/mock/data/storage_volumes/vol3.yml
|
271
|
+
- views/layout.html.haml
|
272
|
+
- views/accounts/index.html.haml
|
273
|
+
- views/accounts/show.html.haml
|
274
|
+
- views/api/show.html.haml
|
275
|
+
- views/api/show.xml.haml
|
276
|
+
- views/docs/collection.html.haml
|
277
|
+
- views/docs/collection.xml.haml
|
278
|
+
- views/docs/index.html.haml
|
279
|
+
- views/docs/index.xml.haml
|
280
|
+
- views/docs/operation.html.haml
|
281
|
+
- views/docs/operation.xml.haml
|
282
|
+
- views/errors/auth_exception.html.haml
|
283
|
+
- views/errors/auth_exception.xml.haml
|
284
|
+
- views/errors/backend_error.html.haml
|
285
|
+
- views/errors/backend_error.xml.haml
|
286
|
+
- views/errors/not_found.html.haml
|
287
|
+
- views/errors/not_found.xml.haml
|
288
|
+
- views/errors/validation_failure.html.haml
|
289
|
+
- views/errors/validation_failure.xml.haml
|
290
|
+
- views/hardware_profiles/index.html.haml
|
291
|
+
- views/hardware_profiles/index.xml.haml
|
292
|
+
- views/hardware_profiles/show.html.haml
|
293
|
+
- views/hardware_profiles/show.xml.haml
|
294
|
+
- views/images/index.html.haml
|
295
|
+
- views/images/index.xml.haml
|
296
|
+
- views/images/show.html.haml
|
297
|
+
- views/images/show.xml.haml
|
298
|
+
- views/instance_states/show.html.haml
|
299
|
+
- views/instance_states/show.xml.haml
|
300
|
+
- views/instances/index.html.haml
|
301
|
+
- views/instances/index.xml.haml
|
302
|
+
- views/instances/new.html.haml
|
303
|
+
- views/instances/show.html.haml
|
304
|
+
- views/instances/show.xml.haml
|
305
|
+
- views/keys/index.html.haml
|
306
|
+
- views/keys/index.xml.haml
|
307
|
+
- views/keys/new.html.haml
|
308
|
+
- views/keys/show.html.haml
|
309
|
+
- views/keys/show.xml.haml
|
310
|
+
- views/realms/index.html.haml
|
311
|
+
- views/realms/index.xml.haml
|
312
|
+
- views/realms/show.html.haml
|
313
|
+
- views/realms/show.xml.haml
|
314
|
+
- views/root/index.html.haml
|
315
|
+
- views/storage_snapshots/index.html.haml
|
316
|
+
- views/storage_snapshots/index.xml.haml
|
317
|
+
- views/storage_snapshots/show.html.haml
|
318
|
+
- views/storage_snapshots/show.xml.haml
|
319
|
+
- views/storage_volumes/index.html.haml
|
320
|
+
- views/storage_volumes/index.xml.haml
|
321
|
+
- views/storage_volumes/show.html.haml
|
322
|
+
- views/storage_volumes/show.xml.haml
|
323
|
+
- views/instance_states/show.gv.erb
|
324
|
+
- public/favicon.ico
|
325
|
+
- public/images/grid.png
|
326
|
+
- public/images/logo-wide.png
|
327
|
+
- public/images/rails.png
|
328
|
+
- public/images/topbar-bg.png
|
329
|
+
- public/javascripts/application.js
|
330
|
+
- public/javascripts/jquery-1.4.2.min.js
|
331
|
+
- public/stylesheets/compiled/application.css
|
332
|
+
- public/stylesheets/compiled/ie.css
|
333
|
+
- public/stylesheets/compiled/print.css
|
334
|
+
- public/stylesheets/compiled/screen.css
|
335
|
+
- bin/deltacloudd
|
336
|
+
- COPYING
|
317
337
|
has_rdoc: true
|
318
338
|
homepage: http://www.deltacloud.org
|
319
339
|
licenses: []
|
@@ -322,38 +342,35 @@ post_install_message:
|
|
322
342
|
rdoc_options: []
|
323
343
|
|
324
344
|
require_paths:
|
325
|
-
- lib
|
345
|
+
- lib
|
326
346
|
required_ruby_version: !ruby/object:Gem::Requirement
|
327
|
-
none: false
|
328
347
|
requirements:
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
version: 1.8.1
|
348
|
+
- - ">="
|
349
|
+
- !ruby/object:Gem::Version
|
350
|
+
segments:
|
351
|
+
- 1
|
352
|
+
- 8
|
353
|
+
- 1
|
354
|
+
version: 1.8.1
|
337
355
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
338
|
-
none: false
|
339
356
|
requirements:
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
version: "0"
|
357
|
+
- - ">="
|
358
|
+
- !ruby/object:Gem::Version
|
359
|
+
segments:
|
360
|
+
- 0
|
361
|
+
version: "0"
|
346
362
|
requirements: []
|
347
363
|
|
348
364
|
rubyforge_project:
|
349
|
-
rubygems_version: 1.3.
|
365
|
+
rubygems_version: 1.3.6
|
350
366
|
signing_key:
|
351
367
|
specification_version: 3
|
352
368
|
summary: Deltacloud REST API
|
353
369
|
test_files:
|
354
|
-
- tests/
|
355
|
-
- tests/hardware_profiles_test.rb
|
356
|
-
- tests/
|
357
|
-
- tests/instance_states_test.rb
|
358
|
-
- tests/
|
359
|
-
- tests/
|
370
|
+
- tests/api_test.rb
|
371
|
+
- tests/hardware_profiles_test.rb
|
372
|
+
- tests/images_test.rb
|
373
|
+
- tests/instance_states_test.rb
|
374
|
+
- tests/instances_test.rb
|
375
|
+
- tests/realms_test.rb
|
376
|
+
- tests/url_for_test.rb
|