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.
@@ -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 || 'http'
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 url_fragment.match(/^#{base}/) or url_fragment.match(/^http/)
36
- url_fragment
38
+ if url_escape.match(/^#{base}/) or url_escape.match(/^http/)
39
+ url_escape
37
40
  else
38
- "#{base}#{url_fragment}"
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 image identified by "id" parameter.'
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
@@ -14,4 +14,6 @@
14
14
  %dd= @error.cause
15
15
  %di
16
16
  %dt Details
17
- %dd= @error.details
17
+ %dd
18
+ %pre
19
+ =@error.details.join("\n")
@@ -22,7 +22,7 @@
22
22
  %td
23
23
  = image.name
24
24
  %td
25
- = link_to image.owner_id, images_url( :owner_id => image.owner_id )
25
+ = link_to image.owner_id, images_url
26
26
  %td
27
27
  = image.architecture
28
28
  %td
@@ -16,7 +16,7 @@
16
16
  %td
17
17
  = link_to instance.id, instance_url( instance.id )
18
18
  %td
19
- = link_to instance.owner_id, images_url( instance.owner_id )
19
+ = link_to instance.owner_id, images_url
20
20
  %td
21
21
  = instance.name
22
22
  %td
@@ -1,30 +1,39 @@
1
1
  !!! XML
2
2
  %instance{:href => instance_url(@instance.id), :id => @instance.id}
3
- %name<
4
- =@instance.name
5
- %owner_id<
6
- =@instance.owner_id
7
- %image{:href => image_url(@instance.image_id), :id => @instance.image_id }
8
- %realm{:href => realm_url(@instance.realm_id), :id => @instance.realm_id }
9
- %state<
10
- =@instance.state
11
- - haml_tag :"hardware_profile", {:id => @instance.instance_profile.id, :href => hardware_profile_url(@instance.instance_profile.id)} do
12
- - @instance.instance_profile.overrides.each do |p, v|
13
- %property{:kind => 'fixed', :name => p, :value => v, :unit => Deltacloud::HardwareProfile::unit(p)}
14
- %actions
15
- - @instance.actions.compact.each do |instance_action|
16
- %link{:rel => instance_action, :method => instance_action_method(instance_action), :href => self.send("#{instance_action}_instance_url", @instance.id)}
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
- %public_addresses
21
- - @instance.public_addresses.each do |address|
22
- %address<
23
- =address
24
- %private_addresses
25
- - @instance.private_addresses.each do |address|
26
- %address<
27
- =address
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 &raquo;', "#{url_for('/api/keys/new')}", :class => 'button'
@@ -0,0 +1,4 @@
1
+ !!!XML
2
+ %keys
3
+ - @elements.each do |c|
4
+ = haml :'keys/show', :locals => { :@key => c, :partial => true }
@@ -0,0 +1,8 @@
1
+ %h1 New key
2
+
3
+ %form{ :action => '/api/keys', :method => :post }
4
+ %p
5
+ %label
6
+ Name:
7
+ %input{ :name => 'name', :size => 30 }/
8
+ %input{ :type => :submit, :name => "commit", :value => "create" }/
@@ -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
- - 0
8
- - 0
9
- - 3
10
- - 1
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-07-25 00:00:00 -04:00
17
+ date: 2010-09-01 00:00:00 -04:00
20
18
  default_executable:
21
19
  dependencies:
22
- - !ruby/object:Gem::Dependency
23
- name: rake
24
- prerelease: false
25
- requirement: &id001 !ruby/object:Gem::Requirement
26
- none: false
27
- requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- hash: 49
31
- segments:
32
- - 0
33
- - 8
34
- - 7
35
- version: 0.8.7
36
- type: :runtime
37
- version_requirements: *id001
38
- - !ruby/object:Gem::Dependency
39
- name: haml
40
- prerelease: false
41
- requirement: &id002 !ruby/object:Gem::Requirement
42
- none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- hash: 37
47
- segments:
48
- - 2
49
- - 2
50
- - 17
51
- version: 2.2.17
52
- type: :runtime
53
- version_requirements: *id002
54
- - !ruby/object:Gem::Dependency
55
- name: sinatra
56
- prerelease: false
57
- requirement: &id003 !ruby/object:Gem::Requirement
58
- none: false
59
- requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- hash: 51
63
- segments:
64
- - 0
65
- - 9
66
- - 4
67
- version: 0.9.4
68
- type: :runtime
69
- version_requirements: *id003
70
- - !ruby/object:Gem::Dependency
71
- name: rack
72
- prerelease: false
73
- requirement: &id004 !ruby/object:Gem::Requirement
74
- none: false
75
- requirements:
76
- - - ">="
77
- - !ruby/object:Gem::Version
78
- hash: 23
79
- segments:
80
- - 1
81
- - 0
82
- - 0
83
- version: 1.0.0
84
- type: :runtime
85
- version_requirements: *id004
86
- - !ruby/object:Gem::Dependency
87
- name: json_pure
88
- prerelease: false
89
- requirement: &id005 !ruby/object:Gem::Requirement
90
- none: false
91
- requirements:
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- hash: 25
95
- segments:
96
- - 1
97
- - 2
98
- - 3
99
- version: 1.2.3
100
- type: :runtime
101
- version_requirements: *id005
102
- - !ruby/object:Gem::Dependency
103
- name: compass
104
- prerelease: false
105
- requirement: &id006 !ruby/object:Gem::Requirement
106
- none: false
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- hash: 29
111
- segments:
112
- - 0
113
- - 8
114
- - 17
115
- version: 0.8.17
116
- type: :development
117
- version_requirements: *id006
118
- - !ruby/object:Gem::Dependency
119
- name: nokogiri
120
- prerelease: false
121
- requirement: &id007 !ruby/object:Gem::Requirement
122
- none: false
123
- requirements:
124
- - - ">="
125
- - !ruby/object:Gem::Version
126
- hash: 5
127
- segments:
128
- - 1
129
- - 4
130
- - 1
131
- version: 1.4.1
132
- type: :development
133
- version_requirements: *id007
134
- - !ruby/object:Gem::Dependency
135
- name: rack-test
136
- prerelease: false
137
- requirement: &id008 !ruby/object:Gem::Requirement
138
- none: false
139
- requirements:
140
- - - ">="
141
- - !ruby/object:Gem::Version
142
- hash: 13
143
- segments:
144
- - 0
145
- - 5
146
- - 3
147
- version: 0.5.3
148
- type: :development
149
- version_requirements: *id008
150
- - !ruby/object:Gem::Dependency
151
- name: cucumber
152
- prerelease: false
153
- requirement: &id009 !ruby/object:Gem::Requirement
154
- none: false
155
- requirements:
156
- - - ">="
157
- - !ruby/object:Gem::Version
158
- hash: 1
159
- segments:
160
- - 0
161
- - 6
162
- - 3
163
- version: 0.6.3
164
- type: :development
165
- version_requirements: *id009
166
- - !ruby/object:Gem::Dependency
167
- name: rcov
168
- prerelease: false
169
- requirement: &id010 !ruby/object:Gem::Requirement
170
- none: false
171
- requirements:
172
- - - ">="
173
- - !ruby/object:Gem::Version
174
- hash: 43
175
- segments:
176
- - 0
177
- - 9
178
- - 8
179
- version: 0.9.8
180
- type: :development
181
- version_requirements: *id010
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
- - server.rb
194
- - deltacloud.rb
195
- - support/fedora/rubygem-deltacloud-core.spec
196
- - support/fedora/deltacloudd
197
- - support/torquebox/torquebox-ec2-config.ru
198
- - lib/sinatra/rabbit.rb
199
- - lib/sinatra/respond_to.rb
200
- - lib/sinatra/lazy_auth.rb
201
- - lib/sinatra/accept_media_types.rb
202
- - lib/sinatra/url_for.rb
203
- - lib/sinatra/static_assets.rb
204
- - lib/deltacloud/validation.rb
205
- - lib/deltacloud/method_serializer.rb
206
- - lib/deltacloud/state_machine.rb
207
- - lib/deltacloud/hardware_profile.rb
208
- - lib/deltacloud/helpers.rb
209
- - lib/deltacloud/base_driver.rb
210
- - lib/deltacloud/helpers/conversion_helper.rb
211
- - lib/deltacloud/helpers/hardware_profiles_helper.rb
212
- - lib/deltacloud/helpers/application_helper.rb
213
- - lib/deltacloud/base_driver/features.rb
214
- - lib/deltacloud/base_driver/base_driver.rb
215
- - lib/deltacloud/base_driver/mock_driver.rb
216
- - lib/deltacloud/drivers/opennebula/occi_client.rb
217
- - lib/deltacloud/drivers/opennebula/cloud_client.rb
218
- - lib/deltacloud/drivers/opennebula/opennebula_driver.rb
219
- - lib/deltacloud/drivers/rimuhosting/rimuhosting_client.rb
220
- - lib/deltacloud/drivers/rimuhosting/rimuhosting_driver.rb
221
- - lib/deltacloud/drivers/rhevm/rhevm_driver.rb
222
- - lib/deltacloud/drivers/terremark/terremark_driver.rb
223
- - lib/deltacloud/drivers/rackspace/rackspace_driver.rb
224
- - lib/deltacloud/drivers/rackspace/rackspace_client.rb
225
- - lib/deltacloud/drivers/ec2/ec2_driver.rb
226
- - lib/deltacloud/drivers/ec2/ec2_mock_driver.rb
227
- - lib/deltacloud/drivers/gogrid/gogrid_driver.rb
228
- - lib/deltacloud/drivers/gogrid/gogrid_client.rb
229
- - lib/deltacloud/drivers/mock/mock_driver.rb
230
- - lib/deltacloud/models/realm.rb
231
- - lib/deltacloud/models/image.rb
232
- - lib/deltacloud/models/storage_snapshot.rb
233
- - lib/deltacloud/models/storage_volume.rb
234
- - lib/deltacloud/models/base_model.rb
235
- - lib/deltacloud/models/instance_profile.rb
236
- - lib/deltacloud/models/instance.rb
237
- - lib/drivers.rb
238
- - lib/deltacloud/drivers/mock/data/instances/inst1.yml
239
- - lib/deltacloud/drivers/mock/data/instances/inst2.yml
240
- - lib/deltacloud/drivers/mock/data/instances/inst0.yml
241
- - lib/deltacloud/drivers/mock/data/storage_volumes/vol1.yml
242
- - lib/deltacloud/drivers/mock/data/storage_volumes/vol3.yml
243
- - lib/deltacloud/drivers/mock/data/storage_volumes/vol2.yml
244
- - lib/deltacloud/drivers/mock/data/storage_snapshots/snap3.yml
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/images/img2.yml
248
- - lib/deltacloud/drivers/mock/data/images/img1.yml
249
- - lib/deltacloud/drivers/mock/data/images/img3.yml
250
- - views/instances/new.html.haml
251
- - views/instances/show.html.haml
252
- - views/instances/index.html.haml
253
- - views/instances/show.xml.haml
254
- - views/instances/index.xml.haml
255
- - views/hardware_profiles/show.html.haml
256
- - views/hardware_profiles/index.html.haml
257
- - views/hardware_profiles/show.xml.haml
258
- - views/hardware_profiles/index.xml.haml
259
- - views/root/index.html.haml
260
- - views/api/show.html.haml
261
- - views/api/show.xml.haml
262
- - views/errors/auth_exception.html.haml
263
- - views/errors/auth_exception.xml.haml
264
- - views/errors/not_found.xml.haml
265
- - views/errors/not_found.html.haml
266
- - views/errors/backend_error.xml.haml
267
- - views/errors/validation_failure.xml.haml
268
- - views/errors/validation_failure.html.haml
269
- - views/errors/backend_error.html.haml
270
- - views/docs/collection.xml.haml
271
- - views/docs/collection.html.haml
272
- - views/docs/operation.html.haml
273
- - views/docs/index.html.haml
274
- - views/docs/operation.xml.haml
275
- - views/docs/index.xml.haml
276
- - views/realms/show.html.haml
277
- - views/realms/index.html.haml
278
- - views/realms/show.xml.haml
279
- - views/realms/index.xml.haml
280
- - views/layout.html.haml
281
- - views/instance_states/show.html.haml
282
- - views/instance_states/show.xml.haml
283
- - views/storage_volumes/show.html.haml
284
- - views/storage_volumes/index.html.haml
285
- - views/storage_volumes/show.xml.haml
286
- - views/storage_volumes/index.xml.haml
287
- - views/accounts/show.html.haml
288
- - views/accounts/index.html.haml
289
- - views/storage_snapshots/show.html.haml
290
- - views/storage_snapshots/index.html.haml
291
- - views/storage_snapshots/show.xml.haml
292
- - views/storage_snapshots/index.xml.haml
293
- - views/images/show.html.haml
294
- - views/images/index.html.haml
295
- - views/images/show.xml.haml
296
- - views/images/index.xml.haml
297
- - views/instance_states/show.gv.erb
298
- - public/favicon.ico
299
- - public/images/logo-wide.png
300
- - public/images/topbar-bg.png
301
- - public/images/rails.png
302
- - public/images/grid.png
303
- - public/javascripts/application.js
304
- - public/javascripts/jquery-1.4.2.min.js
305
- - public/stylesheets/compiled/ie.css
306
- - public/stylesheets/compiled/print.css
307
- - public/stylesheets/compiled/screen.css
308
- - public/stylesheets/compiled/application.css
309
- - bin/deltacloudd
310
- - COPYING
311
- - tests/realms_test.rb
312
- - tests/hardware_profiles_test.rb
313
- - tests/instances_test.rb
314
- - tests/instance_states_test.rb
315
- - tests/images_test.rb
316
- - tests/api_test.rb
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
- - !ruby/object:Gem::Version
331
- hash: 53
332
- segments:
333
- - 1
334
- - 8
335
- - 1
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
- - !ruby/object:Gem::Version
342
- hash: 3
343
- segments:
344
- - 0
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.7
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/realms_test.rb
355
- - tests/hardware_profiles_test.rb
356
- - tests/instances_test.rb
357
- - tests/instance_states_test.rb
358
- - tests/images_test.rb
359
- - tests/api_test.rb
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