ropenstack 1.2.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. data/.gitignore +1 -0
  2. data/README.md +2 -1
  3. data/doc/Ropenstack.html +151 -0
  4. data/doc/Ropenstack/Cinder.html +197 -0
  5. data/doc/Ropenstack/Glance.html +292 -0
  6. data/doc/Ropenstack/Keystone.html +737 -0
  7. data/doc/Ropenstack/MalformedRequestError.html +142 -0
  8. data/doc/Ropenstack/NotFoundError.html +142 -0
  9. data/doc/Ropenstack/Nova.html +562 -0
  10. data/doc/Ropenstack/OpenstackService.html +199 -0
  11. data/doc/Ropenstack/Quantum.html +830 -0
  12. data/doc/Ropenstack/Rest.html +483 -0
  13. data/doc/Ropenstack/RopenstackError.html +143 -0
  14. data/doc/Ropenstack/TimeoutError.html +142 -0
  15. data/doc/Ropenstack/UnauthorisedError.html +142 -0
  16. data/doc/created.rid +10 -0
  17. data/doc/images/add.png +0 -0
  18. data/doc/images/brick.png +0 -0
  19. data/doc/images/brick_link.png +0 -0
  20. data/doc/images/bug.png +0 -0
  21. data/doc/images/bullet_black.png +0 -0
  22. data/doc/images/bullet_toggle_minus.png +0 -0
  23. data/doc/images/bullet_toggle_plus.png +0 -0
  24. data/doc/images/date.png +0 -0
  25. data/doc/images/delete.png +0 -0
  26. data/doc/images/find.png +0 -0
  27. data/doc/images/loadingAnimation.gif +0 -0
  28. data/doc/images/macFFBgHack.png +0 -0
  29. data/doc/images/package.png +0 -0
  30. data/doc/images/page_green.png +0 -0
  31. data/doc/images/page_white_text.png +0 -0
  32. data/doc/images/page_white_width.png +0 -0
  33. data/doc/images/plugin.png +0 -0
  34. data/doc/images/ruby.png +0 -0
  35. data/doc/images/tag_blue.png +0 -0
  36. data/doc/images/tag_green.png +0 -0
  37. data/doc/images/transparent.png +0 -0
  38. data/doc/images/wrench.png +0 -0
  39. data/doc/images/wrench_orange.png +0 -0
  40. data/doc/images/zoom.png +0 -0
  41. data/doc/index.html +93 -0
  42. data/doc/js/darkfish.js +153 -0
  43. data/doc/js/jquery.js +18 -0
  44. data/doc/js/navigation.js +142 -0
  45. data/doc/js/search.js +94 -0
  46. data/doc/js/search_index.js +1 -0
  47. data/doc/js/searcher.js +228 -0
  48. data/doc/rdoc.css +543 -0
  49. data/doc/table_of_contents.html +200 -0
  50. data/lib/ropenstack.rb +18 -0
  51. data/lib/ropenstack/blockStorage.rb +25 -0
  52. data/lib/ropenstack/blockStorage/v1.rb +67 -0
  53. data/lib/ropenstack/blockStorage/v2.rb +11 -0
  54. data/lib/ropenstack/common/error.rb +12 -0
  55. data/lib/ropenstack/common/openstackservice.rb +28 -0
  56. data/lib/ropenstack/common/rest.rb +138 -0
  57. data/lib/ropenstack/compute.rb +164 -0
  58. data/lib/ropenstack/compute/v2.rb +11 -0
  59. data/lib/ropenstack/compute/v2/extensions.rb +14 -0
  60. data/lib/ropenstack/compute/v2/extensions/admin.rb +0 -0
  61. data/lib/ropenstack/compute/v2/extensions/agents.rb +0 -0
  62. data/lib/ropenstack/compute/v2/extensions/aggregates.rb +0 -0
  63. data/lib/ropenstack/compute/v2/extensions/certificates.rb +0 -0
  64. data/lib/ropenstack/compute/v2/extensions/cloudpipe.rb +0 -0
  65. data/lib/ropenstack/compute/v2/extensions/console.rb +0 -0
  66. data/lib/ropenstack/compute/v2/extensions/coverage.rb +0 -0
  67. data/lib/ropenstack/compute/v2/extensions/defaultsecuritygroup.rb +0 -0
  68. data/lib/ropenstack/compute/v2/extensions/diagnostics.rb +0 -0
  69. data/lib/ropenstack/compute/v2/extensions/extraspecs.rb +0 -0
  70. data/lib/ropenstack/compute/v2/extensions/fixedips.rb +0 -0
  71. data/lib/ropenstack/compute/v2/extensions/flavors.rb +0 -0
  72. data/lib/ropenstack/compute/v2/extensions/hosts.rb +0 -0
  73. data/lib/ropenstack/compute/v2/extensions/hypervisors.rb +0 -0
  74. data/lib/ropenstack/compute/v2/extensions/images.rb +0 -0
  75. data/lib/ropenstack/compute/v2/extensions/instanceactions.rb +0 -0
  76. data/lib/ropenstack/compute/v2/extensions/interfaces.rb +0 -0
  77. data/lib/ropenstack/compute/v2/extensions/keypairs.rb +20 -0
  78. data/lib/ropenstack/compute/v2/extensions/limits.rb +0 -0
  79. data/lib/ropenstack/compute/v2/extensions/migrations.rb +0 -0
  80. data/lib/ropenstack/compute/v2/extensions/networks.rb +0 -0
  81. data/lib/ropenstack/compute/v2/extensions/quotasets.rb +0 -0
  82. data/lib/ropenstack/compute/v2/extensions/securitygroups.rb +40 -0
  83. data/lib/ropenstack/compute/v2/extensions/servergroups.rb +0 -0
  84. data/lib/ropenstack/compute/v2/extensions/serverpassword.rb +0 -0
  85. data/lib/ropenstack/compute/v2/extensions/services.rb +0 -0
  86. data/lib/ropenstack/compute/v2/extensions/shelvedservers.rb +0 -0
  87. data/lib/ropenstack/compute/v2/extensions/usage.rb +0 -0
  88. data/lib/ropenstack/compute/v2/extensions/virtualinterfaces.rb +0 -0
  89. data/lib/ropenstack/compute/v2/extensions/volumes.rb +20 -0
  90. data/lib/ropenstack/compute/v3.rb +5 -0
  91. data/lib/ropenstack/database.rb +24 -0
  92. data/lib/ropenstack/database/v1.rb +113 -0
  93. data/lib/ropenstack/identity.rb +28 -0
  94. data/lib/ropenstack/identity/v2.rb +178 -0
  95. data/lib/ropenstack/identity/v3.rb +13 -0
  96. data/lib/ropenstack/image.rb +25 -0
  97. data/lib/ropenstack/image/v1.rb +107 -0
  98. data/lib/ropenstack/image/v2.rb +134 -0
  99. data/lib/ropenstack/networking.rb +160 -0
  100. data/lib/ropenstack/networking/v2.rb +5 -0
  101. data/lib/ropenstack/networking/v2/extensions.rb +9 -0
  102. data/lib/ropenstack/networking/v2/extensions/l3.rb +111 -0
  103. data/lib/ropenstack/networking/v2/extensions/lbaas.rb +5 -0
  104. data/lib/ropenstack/networking/v2/extensions/metering.rb +5 -0
  105. data/lib/ropenstack/networking/v2/extensions/quotas.rb +5 -0
  106. data/lib/ropenstack/networking/v2/extensions/securitygroups.rb +5 -0
  107. data/lib/ropenstack/objectStorage.rb +60 -0
  108. data/lib/ropenstack/orchestration.rb +23 -0
  109. data/lib/ropenstack/orchestration/v1.rb +162 -0
  110. data/lib/ropenstack/telemetry.rb +23 -0
  111. data/lib/ropenstack/telemetry/v2.rb +68 -0
  112. data/ropenstack.gemspec +13 -0
  113. metadata +112 -1
@@ -0,0 +1,483 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>class Ropenstack::Rest - RDoc Documentation</title>
8
+
9
+ <link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet">
10
+
11
+ <script type="text/javascript">
12
+ var rdoc_rel_prefix = "../";
13
+ </script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
16
+ <script type="text/javascript" charset="utf-8" src="../js/navigation.js"></script>
17
+ <script type="text/javascript" charset="utf-8" src="../js/search_index.js"></script>
18
+ <script type="text/javascript" charset="utf-8" src="../js/search.js"></script>
19
+ <script type="text/javascript" charset="utf-8" src="../js/searcher.js"></script>
20
+ <script type="text/javascript" charset="utf-8" src="../js/darkfish.js"></script>
21
+
22
+
23
+ <body id="top" class="class">
24
+ <nav id="metadata">
25
+ <nav id="home-section" class="section">
26
+ <h3 class="section-header">
27
+ <a href="../index.html">Home</a>
28
+ <a href="../table_of_contents.html#classes">Classes</a>
29
+ <a href="../table_of_contents.html#methods">Methods</a>
30
+ </h3>
31
+ </nav>
32
+
33
+
34
+ <nav id="search-section" class="section project-section" class="initially-hidden">
35
+ <form action="#" method="get" accept-charset="utf-8">
36
+ <h3 class="section-header">
37
+ <input type="text" name="search" placeholder="Search" id="search-field"
38
+ title="Type to search, Up and Down to navigate, Enter to load">
39
+ </h3>
40
+ </form>
41
+
42
+ <ul id="search-results" class="initially-hidden"></ul>
43
+ </nav>
44
+
45
+
46
+ <div id="file-metadata">
47
+ <nav id="file-list-section" class="section">
48
+ <h3 class="section-header">Defined In</h3>
49
+ <ul>
50
+ <li>lib/ropenstack/rest.rb
51
+ </ul>
52
+ </nav>
53
+
54
+
55
+ </div>
56
+
57
+ <div id="class-metadata">
58
+
59
+ <nav id="parent-class-section" class="section">
60
+ <h3 class="section-header">Parent</h3>
61
+
62
+ <p class="link">Object
63
+
64
+ </nav>
65
+
66
+
67
+ <!-- Method Quickref -->
68
+ <nav id="method-list-section" class="section">
69
+ <h3 class="section-header">Methods</h3>
70
+
71
+ <ul class="link-list">
72
+
73
+ <li><a href="#method-i-build_headers">#build_headers</a>
74
+
75
+ <li><a href="#method-i-build_http">#build_http</a>
76
+
77
+ <li><a href="#method-i-delete_request">#delete_request</a>
78
+
79
+ <li><a href="#method-i-do_request">#do_request</a>
80
+
81
+ <li><a href="#method-i-error_manager">#error_manager</a>
82
+
83
+ <li><a href="#method-i-get_request">#get_request</a>
84
+
85
+ <li><a href="#method-i-post_request">#post_request</a>
86
+
87
+ <li><a href="#method-i-put_request">#put_request</a>
88
+
89
+ </ul>
90
+ </nav>
91
+
92
+ </div>
93
+
94
+ <div id="project-metadata">
95
+
96
+ <nav id="classindex-section" class="section project-section">
97
+ <h3 class="section-header">Class and Module Index</h3>
98
+
99
+ <ul class="link-list">
100
+
101
+ <li><a href="../Ropenstack.html">Ropenstack</a>
102
+
103
+ <li><a href="../Ropenstack/Cinder.html">Ropenstack::Cinder</a>
104
+
105
+ <li><a href="../Ropenstack/Glance.html">Ropenstack::Glance</a>
106
+
107
+ <li><a href="../Ropenstack/Keystone.html">Ropenstack::Keystone</a>
108
+
109
+ <li><a href="../Ropenstack/MalformedRequestError.html">Ropenstack::MalformedRequestError</a>
110
+
111
+ <li><a href="../Ropenstack/NotFoundError.html">Ropenstack::NotFoundError</a>
112
+
113
+ <li><a href="../Ropenstack/Nova.html">Ropenstack::Nova</a>
114
+
115
+ <li><a href="../Ropenstack/OpenstackService.html">Ropenstack::OpenstackService</a>
116
+
117
+ <li><a href="../Ropenstack/Quantum.html">Ropenstack::Quantum</a>
118
+
119
+ <li><a href="../Ropenstack/Rest.html">Ropenstack::Rest</a>
120
+
121
+ <li><a href="../Ropenstack/RopenstackError.html">Ropenstack::RopenstackError</a>
122
+
123
+ <li><a href="../Ropenstack/TimeoutError.html">Ropenstack::TimeoutError</a>
124
+
125
+ <li><a href="../Ropenstack/UnauthorisedError.html">Ropenstack::UnauthorisedError</a>
126
+
127
+ </ul>
128
+ </nav>
129
+
130
+ </div>
131
+ </nav>
132
+
133
+ <div id="documentation">
134
+ <h1 class="class">class Ropenstack::Rest</h1>
135
+
136
+ <div id="description" class="description">
137
+ <ul><li>
138
+ <p>Name: <a href="Rest.html">Rest</a></p>
139
+ </li><li>
140
+ <p>Description: A generic wrapper for basic rest functions with JSON data
141
+ which return ruby hashes.</p>
142
+ </li><li>
143
+ <p>Author: Sam “Tehsmash” Betts</p>
144
+ </li><li>
145
+ <p>Date: 12/18/2012</p>
146
+ </li></ul>
147
+
148
+ </div><!-- description -->
149
+
150
+
151
+
152
+
153
+ <section id="5Buntitled-5D" class="documentation-section">
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+ <!-- Methods -->
163
+
164
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
165
+ <h3 class="section-header">Public Instance Methods</h3>
166
+
167
+
168
+ <div id="method-i-build_headers" class="method-detail ">
169
+
170
+ <div class="method-heading">
171
+ <span class="method-name">build_headers</span><span
172
+ class="method-args">(token)</span>
173
+ <span class="method-click-advice">click to toggle source</span>
174
+ </div>
175
+
176
+
177
+ <div class="method-description">
178
+
179
+ <p>Builds headers for requests which send JSON data, if a keystone token is
180
+ supplied</p>
181
+
182
+ <p>it adds the X-Auth-Token field with the keystone token. Returns a hash
183
+ which represents the http headers in a format accepted by Net::HTTP.</p>
184
+
185
+
186
+
187
+ <div class="method-source-code" id="build_headers-source">
188
+ <pre><span class="ruby-comment"># File lib/ropenstack/rest.rb, line 57</span>
189
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">build_headers</span>(<span class="ruby-identifier">token</span>)
190
+ <span class="ruby-identifier">headers</span> = {<span class="ruby-string">'Content-Type'</span> =<span class="ruby-operator">&gt;</span><span class="ruby-string">'application/json'</span>}
191
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">token</span>.<span class="ruby-identifier">nil?</span>
192
+ <span class="ruby-identifier">headers</span>[<span class="ruby-string">'X-Auth-Token'</span>] = <span class="ruby-identifier">token</span>
193
+ <span class="ruby-keyword">end</span>
194
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">headers</span>
195
+ <span class="ruby-keyword">end</span></pre>
196
+ </div><!-- build_headers-source -->
197
+
198
+ </div>
199
+
200
+
201
+
202
+
203
+ </div><!-- build_headers-method -->
204
+
205
+
206
+ <div id="method-i-build_http" class="method-detail ">
207
+
208
+ <div class="method-heading">
209
+ <span class="method-name">build_http</span><span
210
+ class="method-args">(uri, timeout)</span>
211
+ <span class="method-click-advice">click to toggle source</span>
212
+ </div>
213
+
214
+
215
+ <div class="method-description">
216
+
217
+ <p>Build a HTTP object having been given a timeout and a URI object Returns
218
+ Net::HTTP object.</p>
219
+
220
+
221
+
222
+ <div class="method-source-code" id="build_http-source">
223
+ <pre><span class="ruby-comment"># File lib/ropenstack/rest.rb, line 17</span>
224
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">build_http</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">timeout</span>)
225
+ <span class="ruby-identifier">http</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">host</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">port</span>)
226
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">timeout</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>)
227
+ <span class="ruby-identifier">http</span>.<span class="ruby-identifier">open_timeout</span> = <span class="ruby-identifier">timeout</span>
228
+ <span class="ruby-identifier">http</span>.<span class="ruby-identifier">read_timeout</span> = <span class="ruby-identifier">timeout</span>
229
+ <span class="ruby-keyword">end</span>
230
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">http</span>
231
+ <span class="ruby-keyword">end</span></pre>
232
+ </div><!-- build_http-source -->
233
+
234
+ </div>
235
+
236
+
237
+
238
+
239
+ </div><!-- build_http-method -->
240
+
241
+
242
+ <div id="method-i-delete_request" class="method-detail ">
243
+
244
+ <div class="method-heading">
245
+ <span class="method-name">delete_request</span><span
246
+ class="method-args">(uri, token = nil, manage_errors = true)</span>
247
+ <span class="method-click-advice">click to toggle source</span>
248
+ </div>
249
+
250
+
251
+ <div class="method-description">
252
+
253
+ <p>Wrapper function for delete requests, just provide a uri and it will return
254
+ you a hash with the result data. For authenticated transactions a token can
255
+ be provided. Implemented using the <a
256
+ href="Rest.html#method-i-do_request">#do_request</a> method.</p>
257
+
258
+
259
+
260
+ <div class="method-source-code" id="delete_request-source">
261
+ <pre><span class="ruby-comment"># File lib/ropenstack/rest.rb, line 102</span>
262
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">delete_request</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">token</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">manage_errors</span> = <span class="ruby-keyword">true</span>)
263
+ <span class="ruby-identifier">request</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span><span class="ruby-operator">::</span><span class="ruby-constant">Delete</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">request_uri</span>, <span class="ruby-identifier">initheader</span> = <span class="ruby-identifier">build_headers</span>(<span class="ruby-identifier">token</span>))
264
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">do_request</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">request</span>, <span class="ruby-identifier">manage_errors</span>)
265
+ <span class="ruby-keyword">end</span></pre>
266
+ </div><!-- delete_request-source -->
267
+
268
+ </div>
269
+
270
+
271
+
272
+
273
+ </div><!-- delete_request-method -->
274
+
275
+
276
+ <div id="method-i-do_request" class="method-detail ">
277
+
278
+ <div class="method-heading">
279
+ <span class="method-name">do_request</span><span
280
+ class="method-args">(uri, request, manage_errors = true, timeout = 10)</span>
281
+ <span class="method-click-advice">click to toggle source</span>
282
+ </div>
283
+
284
+
285
+ <div class="method-description">
286
+
287
+ <p>The function which you call to perform a http request using the request
288
+ object given in the parameters. By default manage errors is true, so all
289
+ responses are passed through the error manager which converts the into <a
290
+ href="../Ropenstack.html">Ropenstack</a> errors.</p>
291
+
292
+
293
+
294
+ <div class="method-source-code" id="do_request-source">
295
+ <pre><span class="ruby-comment"># File lib/ropenstack/rest.rb, line 71</span>
296
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">do_request</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">request</span>, <span class="ruby-identifier">manage_errors</span> = <span class="ruby-keyword">true</span>, <span class="ruby-identifier">timeout</span> = <span class="ruby-value">10</span>)
297
+ <span class="ruby-keyword">begin</span>
298
+ <span class="ruby-identifier">http</span> = <span class="ruby-identifier">build_http</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">timeout</span>)
299
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">manage_errors</span>)
300
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">error_manager</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">http</span>.<span class="ruby-identifier">request</span>(<span class="ruby-identifier">request</span>))
301
+ <span class="ruby-keyword">else</span>
302
+ <span class="ruby-identifier">http</span>.<span class="ruby-identifier">request</span>(<span class="ruby-identifier">request</span>)
303
+ <span class="ruby-keyword">return</span> { <span class="ruby-string">&quot;Success&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> }
304
+ <span class="ruby-keyword">end</span>
305
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Timeout</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span>
306
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Ropenstack</span><span class="ruby-operator">::</span><span class="ruby-constant">TimeoutError</span>, <span class="ruby-node">&quot;It took longer than #{timeout} to connect to #{uri.to_s}&quot;</span>
307
+ <span class="ruby-keyword">end</span>
308
+ <span class="ruby-keyword">end</span></pre>
309
+ </div><!-- do_request-source -->
310
+
311
+ </div>
312
+
313
+
314
+
315
+
316
+ </div><!-- do_request-method -->
317
+
318
+
319
+ <div id="method-i-error_manager" class="method-detail ">
320
+
321
+ <div class="method-heading">
322
+ <span class="method-name">error_manager</span><span
323
+ class="method-args">(uri, response)</span>
324
+ <span class="method-click-advice">click to toggle source</span>
325
+ </div>
326
+
327
+
328
+ <div class="method-description">
329
+
330
+ <p>All responses from openstack where any errors need to be caught are passed
331
+ through this function. Unless a successful response is passed it will throw
332
+ a <a href="../Ropenstack.html">Ropenstack</a> error. If successful returns
333
+ a hash of response body, unless response body is nil then it returns an
334
+ empty hash.</p>
335
+
336
+
337
+
338
+ <div class="method-source-code" id="error_manager-source">
339
+ <pre><span class="ruby-comment"># File lib/ropenstack/rest.rb, line 33</span>
340
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">error_manager</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">response</span>)
341
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">response</span>
342
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTPSuccess</span> <span class="ruby-keyword">then</span>
343
+ <span class="ruby-comment"># This covers cases where the response may not validate as JSON.</span>
344
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span> <span class="ruby-operator">==</span> <span class="ruby-string">'null'</span>
345
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
346
+ <span class="ruby-keyword">end</span>
347
+ <span class="ruby-keyword">return</span> {}
348
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTPBadRequest</span>
349
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Ropenstack</span><span class="ruby-operator">::</span><span class="ruby-constant">MalformedRequestError</span>, <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>
350
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTPNotFound</span>
351
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Ropenstack</span><span class="ruby-operator">::</span><span class="ruby-constant">NotFoundError</span>, <span class="ruby-node">&quot;URI: #{uri} \n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>
352
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTPUnauthorized</span>
353
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Ropenstack</span><span class="ruby-operator">::</span><span class="ruby-constant">UnauthorisedError</span>, <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>
354
+ <span class="ruby-keyword">else</span>
355
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Ropenstack</span><span class="ruby-operator">::</span><span class="ruby-constant">RopenstackError</span>, <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>
356
+ <span class="ruby-keyword">end</span>
357
+ <span class="ruby-keyword">end</span></pre>
358
+ </div><!-- error_manager-source -->
359
+
360
+ </div>
361
+
362
+
363
+
364
+
365
+ </div><!-- error_manager-method -->
366
+
367
+
368
+ <div id="method-i-get_request" class="method-detail ">
369
+
370
+ <div class="method-heading">
371
+ <span class="method-name">get_request</span><span
372
+ class="method-args">(uri, token = nil, manage_errors = true)</span>
373
+ <span class="method-click-advice">click to toggle source</span>
374
+ </div>
375
+
376
+
377
+ <div class="method-description">
378
+
379
+ <p>Wrapper function for a get request, just provide a uri and it will return
380
+ you a hash with the result data. For authenticated transactions a token can
381
+ be provided. Implemented using the <a
382
+ href="Rest.html#method-i-do_request">#do_request</a> method.</p>
383
+
384
+
385
+
386
+ <div class="method-source-code" id="get_request-source">
387
+ <pre><span class="ruby-comment"># File lib/ropenstack/rest.rb, line 91</span>
388
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_request</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">token</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">manage_errors</span> = <span class="ruby-keyword">true</span>)
389
+ <span class="ruby-identifier">request</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span><span class="ruby-operator">::</span><span class="ruby-constant">Get</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">request_uri</span>, <span class="ruby-identifier">initheader</span> = <span class="ruby-identifier">build_headers</span>(<span class="ruby-identifier">token</span>))
390
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">do_request</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">request</span>, <span class="ruby-identifier">manage_errors</span>)
391
+ <span class="ruby-keyword">end</span></pre>
392
+ </div><!-- get_request-source -->
393
+
394
+ </div>
395
+
396
+
397
+
398
+
399
+ </div><!-- get_request-method -->
400
+
401
+
402
+ <div id="method-i-post_request" class="method-detail ">
403
+
404
+ <div class="method-heading">
405
+ <span class="method-name">post_request</span><span
406
+ class="method-args">(uri, body, token = nil, manage_errors = true)</span>
407
+ <span class="method-click-advice">click to toggle source</span>
408
+ </div>
409
+
410
+
411
+ <div class="method-description">
412
+
413
+ <p>Wrapper function for a put request, just provide a uri and a hash of the
414
+ data to send, then it will return you a hash with the result data. For
415
+ authenticated transactions a token can be provided.</p>
416
+
417
+
418
+
419
+ <div class="method-source-code" id="post_request-source">
420
+ <pre><span class="ruby-comment"># File lib/ropenstack/rest.rb, line 126</span>
421
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">post_request</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">body</span>, <span class="ruby-identifier">token</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">manage_errors</span> = <span class="ruby-keyword">true</span>)
422
+ <span class="ruby-identifier">request</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span><span class="ruby-operator">::</span><span class="ruby-constant">Post</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">request_uri</span>, <span class="ruby-identifier">initheader</span> = <span class="ruby-identifier">build_headers</span>(<span class="ruby-identifier">token</span>))
423
+ <span class="ruby-identifier">request</span>.<span class="ruby-identifier">body</span> = <span class="ruby-identifier">body</span>.<span class="ruby-identifier">to_json</span>
424
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">do_request</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">request</span>, <span class="ruby-identifier">manage_errors</span>)
425
+ <span class="ruby-keyword">end</span></pre>
426
+ </div><!-- post_request-source -->
427
+
428
+ </div>
429
+
430
+
431
+
432
+
433
+ </div><!-- post_request-method -->
434
+
435
+
436
+ <div id="method-i-put_request" class="method-detail ">
437
+
438
+ <div class="method-heading">
439
+ <span class="method-name">put_request</span><span
440
+ class="method-args">(uri, body, token = nil, manage_errors = true)</span>
441
+ <span class="method-click-advice">click to toggle source</span>
442
+ </div>
443
+
444
+
445
+ <div class="method-description">
446
+
447
+ <p>Wrapper function for a put request, just provide a uri and a hash of the
448
+ data to send, then it will return you a hash with the result data. For
449
+ authenticated transactions a token can be provided. Implemented using the
450
+ <a href="Rest.html#method-i-do_request">#do_request</a> method</p>
451
+
452
+
453
+
454
+ <div class="method-source-code" id="put_request-source">
455
+ <pre><span class="ruby-comment"># File lib/ropenstack/rest.rb, line 114</span>
456
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">put_request</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">body</span>, <span class="ruby-identifier">token</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">manage_errors</span> = <span class="ruby-keyword">true</span>)
457
+ <span class="ruby-identifier">request</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span><span class="ruby-operator">::</span><span class="ruby-constant">Put</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">request_uri</span>, <span class="ruby-identifier">initheader</span> = <span class="ruby-identifier">build_headers</span>(<span class="ruby-identifier">token</span>))
458
+ <span class="ruby-identifier">request</span>.<span class="ruby-identifier">body</span> = <span class="ruby-identifier">body</span>.<span class="ruby-identifier">to_json</span>
459
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">do_request</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">request</span>, <span class="ruby-identifier">manage_errors</span>)
460
+ <span class="ruby-keyword">end</span></pre>
461
+ </div><!-- put_request-source -->
462
+
463
+ </div>
464
+
465
+
466
+
467
+
468
+ </div><!-- put_request-method -->
469
+
470
+
471
+ </section><!-- public-instance-method-details -->
472
+
473
+ </section><!-- 5Buntitled-5D -->
474
+
475
+ </div><!-- documentation -->
476
+
477
+
478
+ <footer id="validator-badges">
479
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
480
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
481
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
482
+ </footer>
483
+