bbrowning-deltacloud-client 0.0.9.4 → 0.0.9.7
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +14 -2
- data/lib/deltacloud.rb +34 -12
- metadata +9 -11
data/Rakefile
CHANGED
@@ -25,8 +25,15 @@ task 'documentation' do
|
|
25
25
|
load 'lib/documentation.rb'
|
26
26
|
end
|
27
27
|
|
28
|
-
|
29
|
-
|
28
|
+
@specs = ['ruby', 'java'].inject({}) do |hash, spec_platform|
|
29
|
+
$platform = spec_platform
|
30
|
+
hash.update(spec_platform => Gem::Specification.load('deltacloud-client.gemspec'))
|
31
|
+
end
|
32
|
+
|
33
|
+
@specs.values.each do |spec|
|
34
|
+
Rake::GemPackageTask.new(spec) do |pkg|
|
35
|
+
pkg.need_tar = true
|
36
|
+
end
|
30
37
|
end
|
31
38
|
|
32
39
|
if Gem.available?('rspec')
|
@@ -47,3 +54,8 @@ desc "Clean Fixtures"
|
|
47
54
|
task 'fixtures:clean' do
|
48
55
|
FileUtils.rm_rf( File.dirname( __FILE__ ) + '/specs/data' )
|
49
56
|
end
|
57
|
+
|
58
|
+
begin
|
59
|
+
require 'ci/reporter/rake/rspec'
|
60
|
+
rescue LoadError
|
61
|
+
end
|
data/lib/deltacloud.rb
CHANGED
@@ -33,6 +33,22 @@ module DeltaCloud
|
|
33
33
|
API.new(user_name, password, api_url, &block)
|
34
34
|
end
|
35
35
|
|
36
|
+
# Check given credentials if their are valid against
|
37
|
+
# backend cloud provider
|
38
|
+
#
|
39
|
+
# @param [String, user_name] API user name
|
40
|
+
# @param [String, password] API password
|
41
|
+
# @param [String, user_name] API URL (eg. http://localhost:3001/api)
|
42
|
+
# @return [true|false]
|
43
|
+
def self.valid_credentials?(user_name, password, api_url)
|
44
|
+
api=API.new(user_name, password, api_url)
|
45
|
+
result = false
|
46
|
+
api.request(:get, '', :force_auth => '1') do |response|
|
47
|
+
result = true if response.code.eql?(200)
|
48
|
+
end
|
49
|
+
return result
|
50
|
+
end
|
51
|
+
|
36
52
|
# Return a API driver for specified URL
|
37
53
|
#
|
38
54
|
# @param [String, url] API URL (eg. http://localhost:3001/api)
|
@@ -178,7 +194,12 @@ module DeltaCloud
|
|
178
194
|
actions << [link['rel'], link[:href]]
|
179
195
|
define_method :"#{link['rel'].sanitize}!" do
|
180
196
|
client.request(:"#{link['method']}", link['href'], {}, {})
|
181
|
-
client.send(:"#{item.name}", item['id'])
|
197
|
+
@current_state = client.send(:"#{item.name}", item['id']).state
|
198
|
+
obj.instance_eval do |o|
|
199
|
+
def state
|
200
|
+
@current_state
|
201
|
+
end
|
202
|
+
end
|
182
203
|
end
|
183
204
|
end
|
184
205
|
define_method :actions do
|
@@ -240,16 +261,16 @@ module DeltaCloud
|
|
240
261
|
end
|
241
262
|
declare_entry_points_methods(@entry_points)
|
242
263
|
end
|
243
|
-
|
244
|
-
def
|
264
|
+
|
265
|
+
def create_key(opts={}, &block)
|
245
266
|
params = { :name => opts[:name] }
|
246
|
-
|
247
|
-
request(:post, entry_points[:
|
248
|
-
c = DeltaCloud.define_class("
|
249
|
-
|
250
|
-
yield
|
267
|
+
key = nil
|
268
|
+
request(:post, entry_points[:keys], {}, params) do |response|
|
269
|
+
c = DeltaCloud.define_class("Key")
|
270
|
+
key = base_object(c, :key, response)
|
271
|
+
yield key if block_given?
|
251
272
|
end
|
252
|
-
return
|
273
|
+
return key
|
253
274
|
end
|
254
275
|
|
255
276
|
# Create a new instance, using image +image_id+. Possible optiosn are
|
@@ -267,17 +288,18 @@ module DeltaCloud
|
|
267
288
|
realm_id = opts[:realm]
|
268
289
|
user_data = opts[:user_data]
|
269
290
|
key_name = opts[:key_name]
|
291
|
+
security_group = opts[:security_group]
|
270
292
|
|
271
|
-
params =
|
293
|
+
params = {}
|
272
294
|
( params[:realm_id] = realm_id ) if realm_id
|
273
295
|
( params[:name] = name ) if name
|
274
296
|
( params[:user_data] = user_data ) if user_data
|
275
|
-
( params[:keyname] =
|
297
|
+
( params[:keyname] = key_name ) if key_name
|
298
|
+
( params[:security_group] = security_group) if security_group
|
276
299
|
|
277
300
|
if opts[:hardware_profile].is_a?(String)
|
278
301
|
params[:hwp_id] = opts[:hardware_profile]
|
279
302
|
elsif opts[:hardware_profile].is_a?(Hash)
|
280
|
-
params.delete(:hardware_profile)
|
281
303
|
opts[:hardware_profile].each do |k,v|
|
282
304
|
params[:"hwp_#{k}"] = v
|
283
305
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bbrowning-deltacloud-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 101
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
9
|
- 9
|
10
|
-
-
|
11
|
-
version: 0.0.9.
|
10
|
+
- 7
|
11
|
+
version: 0.0.9.7
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Red Hat, Inc.
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-
|
19
|
+
date: 2010-10-04 00:00:00 -04:00
|
20
20
|
default_executable: deltacloudc
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -43,14 +43,12 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
hash:
|
46
|
+
hash: 5
|
47
47
|
segments:
|
48
48
|
- 1
|
49
|
-
-
|
50
|
-
-
|
51
|
-
|
52
|
-
- 2
|
53
|
-
version: 1.5.0.beta.2
|
49
|
+
- 4
|
50
|
+
- 1
|
51
|
+
version: 1.4.1
|
54
52
|
type: :runtime
|
55
53
|
version_requirements: *id002
|
56
54
|
- !ruby/object:Gem::Dependency
|
@@ -84,7 +82,6 @@ files:
|
|
84
82
|
- lib/plain_formatter.rb
|
85
83
|
- init.rb
|
86
84
|
- bin/deltacloudc
|
87
|
-
- COPYING
|
88
85
|
- specs/fixtures/images/img1.yml
|
89
86
|
- specs/fixtures/images/img2.yml
|
90
87
|
- specs/fixtures/images/img3.yml
|
@@ -107,6 +104,7 @@ files:
|
|
107
104
|
- specs/spec_helper.rb
|
108
105
|
- specs/storage_snapshot_spec.rb
|
109
106
|
- specs/storage_volume_spec.rb
|
107
|
+
- COPYING
|
110
108
|
has_rdoc: true
|
111
109
|
homepage: http://www.deltacloud.org
|
112
110
|
licenses: []
|