occi-api 4.0.0.alpha.1 → 4.0.0.alpha.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,266 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: head
5
+ uri: https://localhost:3300/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - text/plain,text/occi;q=0.2
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Date:
18
+ - Thu, 10 Jan 2013 17:44:39 GMT
19
+ Server:
20
+ - Apache/2.2.20 (Ubuntu)
21
+ X-Powered-By:
22
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.12
23
+ X-Frame-Options:
24
+ - sameorigin
25
+ X-Xss-Protection:
26
+ - 1; mode=block
27
+ Accept:
28
+ - application/occi+json,application/json,text/plain,text/uri-list,application/xml,text/xml,application/occi+xml,text/occi
29
+ Set-Cookie:
30
+ - GRIDHTTP_PASSCODE=ec9b4b21351052e5aPTUJs; domain=localhost; path=/;
31
+ secure
32
+ - rack.session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRiJFZTIyZmM5ZmI2OTliY2JiZWQyMjYz%0AN2IyNTQ3NjMyMDkxYTFkNWVhOGIwYjVkYTNhYTllMTYyYjdkZTZiMzhkY0ki%0ADXRyYWNraW5nBjsARnsISSIUSFRUUF9VU0VSX0FHRU5UBjsARiItZGEzOWEz%0AZWU1ZTZiNGIwZDMyNTViZmVmOTU2MDE4OTBhZmQ4MDcwOUkiGUhUVFBfQUND%0ARVBUX0VOQ09ESU5HBjsARiItZGEzOWEzZWU1ZTZiNGIwZDMyNTViZmVmOTU2%0AMDE4OTBhZmQ4MDcwOUkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsARiItZGEz%0AOWEzZWU1ZTZiNGIwZDMyNTViZmVmOTU2MDE4OTBhZmQ4MDcwOQ%3D%3D%0A--24c9906d0e0c02c6976b065151f161a7e299022a;
33
+ path=/; HttpOnly
34
+ Content-Length:
35
+ - '294'
36
+ Status:
37
+ - '200'
38
+ Vary:
39
+ - Accept-Encoding
40
+ Content-Type:
41
+ - text/plain;charset=utf-8
42
+ body:
43
+ encoding: US-ASCII
44
+ string: ''
45
+ http_version:
46
+ recorded_at: Thu, 10 Jan 2013 17:44:39 GMT
47
+ - request:
48
+ method: head
49
+ uri: https://localhost:3300/
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ''
53
+ headers:
54
+ Accept:
55
+ - text/plain,text/occi
56
+ response:
57
+ status:
58
+ code: 200
59
+ message: OK
60
+ headers:
61
+ Date:
62
+ - Thu, 10 Jan 2013 17:45:23 GMT
63
+ Server:
64
+ - Apache/2.2.20 (Ubuntu)
65
+ X-Powered-By:
66
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.12
67
+ X-Frame-Options:
68
+ - sameorigin
69
+ X-Xss-Protection:
70
+ - 1; mode=block
71
+ Accept:
72
+ - application/occi+json,application/json,text/plain,text/uri-list,application/xml,text/xml,application/occi+xml,text/occi
73
+ Set-Cookie:
74
+ - GRIDHTTP_PASSCODE=d7c3abb1b0e7ed9fvhjCIQ; domain=localhost; path=/;
75
+ secure
76
+ - rack.session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRiJFNmRmZGYwZjgwZTY0NDc5OGUyMjdm%0AMTM3MjlkNWMwOWIwNzhiNzU0YjAyYTg2YzE1M2EwNTUzNzk2OTA3ODg3Mkki%0ADXRyYWNraW5nBjsARnsISSIUSFRUUF9VU0VSX0FHRU5UBjsARiItZGEzOWEz%0AZWU1ZTZiNGIwZDMyNTViZmVmOTU2MDE4OTBhZmQ4MDcwOUkiGUhUVFBfQUND%0ARVBUX0VOQ09ESU5HBjsARiItZGEzOWEzZWU1ZTZiNGIwZDMyNTViZmVmOTU2%0AMDE4OTBhZmQ4MDcwOUkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsARiItZGEz%0AOWEzZWU1ZTZiNGIwZDMyNTViZmVmOTU2MDE4OTBhZmQ4MDcwOQ%3D%3D%0A--bcf3b29269a450e7b643e4d5405e53684c99e9f9;
77
+ path=/; HttpOnly
78
+ Content-Length:
79
+ - '294'
80
+ Status:
81
+ - '200'
82
+ Vary:
83
+ - Accept-Encoding
84
+ Content-Type:
85
+ - text/plain;charset=utf-8
86
+ body:
87
+ encoding: US-ASCII
88
+ string: ''
89
+ http_version:
90
+ recorded_at: Thu, 10 Jan 2013 17:45:23 GMT
91
+ - request:
92
+ method: get
93
+ uri: https://localhost:3300/-/
94
+ body:
95
+ encoding: US-ASCII
96
+ string: ''
97
+ headers:
98
+ Accept:
99
+ - text/plain,text/occi
100
+ response:
101
+ status:
102
+ code: 200
103
+ message: OK
104
+ headers:
105
+ Date:
106
+ - Thu, 10 Jan 2013 17:45:23 GMT
107
+ Server:
108
+ - Apache/2.2.20 (Ubuntu)
109
+ X-Powered-By:
110
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.12
111
+ X-Frame-Options:
112
+ - sameorigin
113
+ X-Xss-Protection:
114
+ - 1; mode=block
115
+ Accept:
116
+ - application/occi+json,application/json,text/plain,text/uri-list,application/xml,text/xml,application/occi+xml,text/occi
117
+ Set-Cookie:
118
+ - GRIDHTTP_PASSCODE=71a7332acbb36377l0DYiu; domain=localhost; path=/;
119
+ secure
120
+ - rack.session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRiJFOGRmOGI1ODgwZTI2NzhkZWVjODFl%0AODAwOTMwZDkwMjc1NGNlN2MxZjg5NGI2YTZkNWVhOTE3Nzc1OTg1OTFiOUki%0ADXRyYWNraW5nBjsARnsISSIUSFRUUF9VU0VSX0FHRU5UBjsARiItZGEzOWEz%0AZWU1ZTZiNGIwZDMyNTViZmVmOTU2MDE4OTBhZmQ4MDcwOUkiGUhUVFBfQUND%0ARVBUX0VOQ09ESU5HBjsARiItZGEzOWEzZWU1ZTZiNGIwZDMyNTViZmVmOTU2%0AMDE4OTBhZmQ4MDcwOUkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsARiItZGEz%0AOWEzZWU1ZTZiNGIwZDMyNTViZmVmOTU2MDE4OTBhZmQ4MDcwOQ%3D%3D%0A--f141bb38b0aa273eea158df0b71202f4ecfa04cc;
121
+ path=/; HttpOnly
122
+ Content-Length:
123
+ - '8975'
124
+ Status:
125
+ - '200'
126
+ Vary:
127
+ - Accept-Encoding
128
+ Content-Type:
129
+ - text/plain;charset=utf-8
130
+ body:
131
+ encoding: US-ASCII
132
+ string: ! 'Category: entity;scheme="http://schemas.ogf.org/occi/core#";class="kind";title="Entity";location="/entity/";attributes="occi.core.id
133
+ occi.core.title"
134
+
135
+ Category: resource;scheme="http://schemas.ogf.org/occi/core#";class="kind";title="Resource";rel="http://schemas.ogf.org/occi/core#entity";location="/resource/";attributes="occi.core.summary"
136
+
137
+ Category: link;scheme="http://schemas.ogf.org/occi/core#";class="kind";title="Link";rel="http://schemas.ogf.org/occi/core#entity";location="/link/";attributes="occi.core.target
138
+ occi.core.source"
139
+
140
+ Category: compute;scheme="http://schemas.ogf.org/occi/infrastructure#";class="kind";title="Compute
141
+ Resource";rel="http://schemas.ogf.org/occi/core#resource";location="/compute/";attributes="occi.compute.architecture
142
+ occi.compute.cores occi.compute.hostname occi.compute.speed occi.compute.memory
143
+ occi.compute.state";actions="http://schemas.ogf.org/occi/infrastructure/compute/action#start
144
+ http://schemas.ogf.org/occi/infrastructure/compute/action#stop http://schemas.ogf.org/occi/infrastructure/compute/action#restart
145
+ http://schemas.ogf.org/occi/infrastructure/compute/action#suspend"
146
+
147
+ Category: storagelink;scheme="http://schemas.ogf.org/occi/infrastructure#";class="kind";title="Storage
148
+ Link";rel="http://schemas.ogf.org/occi/core#link";location="/storagelink/";attributes="occi.storagelink.deviceid
149
+ occi.storagelink.mountpoint occi.storagelink.state"
150
+
151
+ Category: network;scheme="http://schemas.ogf.org/occi/infrastructure#";class="kind";title="Network
152
+ Resource";rel="http://schemas.ogf.org/occi/core#resource";location="/network/";attributes="occi.network.vlan
153
+ occi.network.label occi.network.state org.opennebula.network.id org.opennebula.network.bridge
154
+ org.opennebula.network.vlan org.opennebula.network.phydev org.opennebula.network.ip_start
155
+ org.opennebula.network.ip_end";actions="http://schemas.ogf.org/occi/infrastructure/network/action#up
156
+ http://schemas.ogf.org/occi/infrastructure/network/action#down"
157
+
158
+ Category: storage;scheme="http://schemas.ogf.org/occi/infrastructure#";class="kind";title="Storage
159
+ Resource";rel="http://schemas.ogf.org/occi/core#resource";location="/storage/";attributes="occi.storage.size
160
+ occi.storage.state org.opennebula.storage.id org.opennebula.storage.type org.opennebula.storage.persistent
161
+ org.opennebula.storage.dev_prefix org.opennebula.storage.bus org.opennebula.storage.driver
162
+ org.opennebula.storage.fstype";actions="http://schemas.ogf.org/occi/infrastructure/storage/action#online
163
+ http://schemas.ogf.org/occi/infrastructure/storage/action#offline http://schemas.ogf.org/occi/infrastructure/storage/action#backup
164
+ http://schemas.ogf.org/occi/infrastructure/storage/action#snapshot http://schemas.ogf.org/occi/infrastructure/storage/action#resize"
165
+
166
+ Category: networkinterface;scheme="http://schemas.ogf.org/occi/infrastructure#";class="kind";title="Networkinterface";rel="http://schemas.ogf.org/occi/core#link";location="/networkinterface/";attributes="occi.networkinterface.interface
167
+ occi.networkinterface.mac occi.networkinterface.state"
168
+
169
+ Category: console;scheme="http://schemas.ogf.org/occi/infrastructure/compute#";class="kind";title="Link
170
+ to the VM''s console";rel="http://schemas.ogf.org/occi/core#link";location="/console/"
171
+
172
+ Category: os_tpl;scheme="http://schemas.ogf.org/occi/infrastructure#";class="mixin";title="Operating
173
+ System Template";location="/mixins/os_tpl/"
174
+
175
+ Category: ipnetwork;scheme="http://schemas.ogf.org/occi/infrastructure/network#";class="mixin";title="IP
176
+ Network Mixin";location="/mixins/ipnetwork/";attributes="occi.network.address
177
+ occi.network.gateway occi.network.allocation occi.network.state"
178
+
179
+ Category: ipnetworkinterface;scheme="http://schemas.ogf.org/occi/infrastructure/networkinterface#";class="mixin";title="IP
180
+ Networkinterface Mixin";location="/mixins/ipnetworkinterface/";attributes="occi.networkinterface.address
181
+ occi.networkinterface.gateway occi.networkinterface.allocation occi.networkinterface.state"
182
+
183
+ Category: resource_tpl;scheme="http://schemas.ogf.org/occi/infrastructure#";class="mixin";title="Resource
184
+ Template";location="/mixins/resource_tpl/"
185
+
186
+ Category: compute;scheme="http://opennebula.org/occi/infrastructure#";class="mixin";title="OpenNebula
187
+ specific Compute attributes";location="/mixins/compute/";attributes="org.opennebula.compute.cpu
188
+ org.opennebula.compute.kernel org.opennebula.compute.initrd org.opennebula.compute.root
189
+ org.opennebula.compute.kernel_cmd org.opennebula.compute.bootloader org.opennebula.compute.boot"
190
+
191
+ Category: storagelink;scheme="http://opennebula.org/occi/infrastructure#";class="mixin";title="OpenNebula
192
+ specific Storagelink attributes";location="/mixins/storagelink/";attributes="org.opennebula.storagelink.bus
193
+ org.opennebula.storagelink.driver"
194
+
195
+ Category: network;scheme="http://opennebula.org/occi/infrastructure#";class="mixin";title="OpenNebula
196
+ specific Network attributes";location="/mixins/network/";attributes="org.opennebula.network.id
197
+ org.opennebula.network.bridge org.opennebula.network.vlan org.opennebula.network.phydev
198
+ org.opennebula.network.ip_start org.opennebula.network.ip_end"
199
+
200
+ Category: storage;scheme="http://opennebula.org/occi/infrastructure#";class="mixin";title="OpenNebula
201
+ specific Storage attributes";location="/mixins/storage/";attributes="org.opennebula.storage.id
202
+ org.opennebula.storage.type org.opennebula.storage.persistent org.opennebula.storage.dev_prefix
203
+ org.opennebula.storage.bus org.opennebula.storage.driver org.opennebula.storage.fstype"
204
+
205
+ Category: networkinterface;scheme="http://opennebula.org/occi/infrastructure#";class="mixin";title="OpenNebula
206
+ specific Networkinterface attributes";location="/mixins/networkinterface/";attributes="org.opennebula.networkinterface.bridge
207
+ org.opennebula.networkinterface.script org.opennebula.networkinterface.model
208
+ org.opennebula.networkinterface.white_ports_tcp org.opennebula.networkinterface.black_ports_tcp
209
+ org.opennebula.networkinterface.white_ports_udp org.opennebula.networkinterface.black_ports_udp
210
+ org.opennebula.networkinterface.icmp"
211
+
212
+ Category: large;scheme="http://occi.localhost:3300/occi/infrastructure/resource_tpl#";class="mixin";title="Large
213
+ Instance";rel="http://schemas.ogf.org/occi/infrastructure#resource_tpl";location="/mixins/large/";attributes="occi.compute.architecture
214
+ occi.compute.cores occi.compute.speed occi.compute.memory"
215
+
216
+ Category: extra_large;scheme="http://occi.localhost:3300/occi/infrastructure/resource_tpl#";class="mixin";title="Extra
217
+ Large Instance";rel="http://schemas.ogf.org/occi/infrastructure#resource_tpl";location="/mixins/extra_large/";attributes="occi.compute.architecture
218
+ occi.compute.cores occi.compute.speed occi.compute.memory"
219
+
220
+ Category: medium;scheme="http://occi.localhost:3300/occi/infrastructure/resource_tpl#";class="mixin";title="Medium
221
+ Instance";rel="http://schemas.ogf.org/occi/infrastructure#resource_tpl";location="/mixins/medium/";attributes="occi.compute.architecture
222
+ occi.compute.cores occi.compute.speed occi.compute.memory"
223
+
224
+ Category: small;scheme="http://occi.localhost:3300/occi/infrastructure/resource_tpl#";class="mixin";title="Small
225
+ Instance";rel="http://schemas.ogf.org/occi/infrastructure#resource_tpl";location="/mixins/small/";attributes="occi.compute.architecture
226
+ occi.compute.cores occi.compute.speed occi.compute.memory"
227
+
228
+ Category: mytesttemplate;scheme="http://occi.localhost:3300/occi/infrastructure/os_tpl#";class="mixin";title="MyTestTemplate";rel="http://schemas.ogf.org/occi/infrastructure#os_tpl";location="/mixins/mytesttemplate/"
229
+
230
+ Category: start;scheme="http://schemas.ogf.org/occi/infrastructure/compute/action#";class="action";title="Start
231
+ Compute instance"
232
+
233
+ Category: stop;scheme="http://schemas.ogf.org/occi/infrastructure/compute/action#";class="action";title="Stop
234
+ Compute instance";attributes="method"
235
+
236
+ Category: restart;scheme="http://schemas.ogf.org/occi/infrastructure/compute/action#";class="action";title="Restart
237
+ Compute instance";attributes="method"
238
+
239
+ Category: suspend;scheme="http://schemas.ogf.org/occi/infrastructure/compute/action#";class="action";title="Suspend
240
+ Compute instance";attributes="method"
241
+
242
+ Category: up;scheme="http://schemas.ogf.org/occi/infrastructure/network/action#";class="action";title="Activate
243
+ network"
244
+
245
+ Category: down;scheme="http://schemas.ogf.org/occi/infrastructure/network/action#";class="action";title="Activate
246
+ network"
247
+
248
+ Category: online;scheme="http://schemas.ogf.org/occi/infrastructure/storage/action#";class="action";title="Activate
249
+ Storage"
250
+
251
+ Category: offline;scheme="http://schemas.ogf.org/occi/infrastructure/storage/action#";class="action";title="Deactivate
252
+ Storage"
253
+
254
+ Category: backup;scheme="http://schemas.ogf.org/occi/infrastructure/storage/action#";class="action";title="Backup
255
+ Storage"
256
+
257
+ Category: snapshot;scheme="http://schemas.ogf.org/occi/infrastructure/storage/action#";class="action";title="Snapshot
258
+ Storage"
259
+
260
+ Category: resize;scheme="http://schemas.ogf.org/occi/infrastructure/storage/action#";class="action";title="Resize
261
+ Storage";attributes="size"
262
+
263
+ '
264
+ http_version:
265
+ recorded_at: Thu, 10 Jan 2013 17:45:24 GMT
266
+ recorded_with: VCR 2.4.0
@@ -1,5 +1,5 @@
1
1
  require 'rspec'
2
- require 'occi/api/client/http/authn_utils'
2
+ require 'occi/api/client/authn_utils'
3
3
 
4
4
  module Occi
5
5
  module Api
@@ -188,15 +188,32 @@ module Occi
188
188
  end
189
189
 
190
190
  it "finds and describes unscoped mixin" do
191
- @client.find_mixin('mytesttemplate', nil, true)
191
+ mxn = @client.find_mixin('mytesttemplate', nil, true)
192
+ mxn.type_identifier.should eq 'http://occi.localhost:3300/occi/infrastructure/os_tpl#mytesttemplate'
192
193
  end
193
194
 
194
195
  it "finds and describes scoped os_tpl mixin" do
195
- @client.find_mixin('mytesttemplate', "os_tpl", true)
196
+ mxn = @client.find_mixin('mytesttemplate', "os_tpl", true)
197
+ mxn.type_identifier.should eq 'http://occi.localhost:3300/occi/infrastructure/os_tpl#mytesttemplate'
196
198
  end
197
199
 
198
200
  it "finds and describes scoped resource_tpl mixin" do
199
- @client.find_mixin('large', "resource_tpl", true)
201
+ mxn = @client.find_mixin('large', "resource_tpl", true)
202
+ mxn.type_identifier.should eq 'http://occi.localhost:3300/occi/infrastructure/resource_tpl#large'
203
+ end
204
+
205
+ it "returns nil when looking for a non-existent mixin" do
206
+ mxn = @client.find_mixin('blablabla', nil, true)
207
+ mxn.should be_nil
208
+ end
209
+
210
+ it "returns nil when looking for a non-existent mixin of a specific type" do
211
+ mxn = @client.find_mixin('blablabla', 'os_tpl', true)
212
+ mxn.should be_nil
213
+ end
214
+
215
+ it "raises an error when looking for a non-existent mixin type" do
216
+ expect{ @client.find_mixin('blablabla', 'blabla', true) }.to raise_error
200
217
  end
201
218
 
202
219
  it "creates a new compute resource"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: occi-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.alpha.1
4
+ version: 4.0.0.alpha.2
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-07-10 00:00:00.000000000 Z
14
+ date: 2013-07-18 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: occi-core
@@ -285,6 +285,7 @@ files:
285
285
  - features/occi/infrastructure/create/step_definitions/create_steps.rb
286
286
  - features/support/env.rb
287
287
  - lib/occi-api.rb
288
+ - lib/occi/api/client/authn_utils.rb
288
289
  - lib/occi/api/client/client_amqp.rb
289
290
  - lib/occi/api/client/client_base.rb
290
291
  - lib/occi/api/client/client_http.rb
@@ -297,7 +298,6 @@ files:
297
298
  - lib/occi/api/client/http/authn_plugins/dummy.rb
298
299
  - lib/occi/api/client/http/authn_plugins/keystone.rb
299
300
  - lib/occi/api/client/http/authn_plugins/x509.rb
300
- - lib/occi/api/client/http/authn_utils.rb
301
301
  - lib/occi/api/client/http/httparty_fix.rb
302
302
  - lib/occi/api/client/http/net_http_fix.rb
303
303
  - lib/occi/api/dsl.rb
@@ -337,23 +337,27 @@ files:
337
337
  - spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_os_tpl_mixins.yml
338
338
  - spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_resource_tpl_mixins.yml
339
339
  - spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_storage_resources.yml
340
+ - spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/raises_an_error_when_looking_for_a_non-existent_mixin_type.yml
340
341
  - spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/refreshes_its_model.yml
342
+ - spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/returns_nil_when_looking_for_a_non-existent_mixin.yml
343
+ - spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/returns_nil_when_looking_for_a_non-existent_mixin_of_a_specific_type.yml
341
344
  - spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/triggers_an_action_on_a_compute_resource.yml
342
345
  - spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/triggers_an_action_on_a_network_resource.yml
343
346
  - spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/triggers_an_action_on_a_storage_resource.yml
347
+ - spec/occi/api/client/authn_utils_spec.rb
344
348
  - spec/occi/api/client/client_amqp_spec.rb
345
349
  - spec/occi/api/client/client_http_spec.rb
346
- - spec/occi/api/client/http/authn_utils_spec.rb
347
350
  - spec/occi/api/client/http/httparty_fix_spec.rb
348
351
  - spec/occi/api/client/http/net_http_fix_spec.rb
349
- - spec/occi/api/client/http/rocci-cred-cert.pem
350
- - spec/occi/api/client/http/rocci-cred-key-jruby.pem
351
- - spec/occi/api/client/http/rocci-cred-key.pem
352
- - spec/occi/api/client/http/rocci-cred.p12
352
+ - spec/occi/api/client/rocci-cred-cert.pem
353
+ - spec/occi/api/client/rocci-cred-key-jruby.pem
354
+ - spec/occi/api/client/rocci-cred-key.pem
355
+ - spec/occi/api/client/rocci-cred.p12
353
356
  - spec/occi/api/dsl_spec.rb
354
357
  - spec/spec_helper.rb
355
358
  homepage: https://github.com/gwdg/rOCCI-api
356
- licenses: []
359
+ licenses:
360
+ - Apache License, Version 2.0
357
361
  post_install_message:
358
362
  rdoc_options: []
359
363
  require_paths: