lunanode 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +16 -0
  3. data/.gitignore +13 -0
  4. data/.rspec +2 -0
  5. data/.rubocop.yml +94 -0
  6. data/.ruby-gemset +1 -0
  7. data/.ruby-version +1 -0
  8. data/.travis.yml +11 -0
  9. data/.yardopts +1 -0
  10. data/CODE_OF_CONDUCT.md +74 -0
  11. data/Gemfile +5 -0
  12. data/LICENSE.txt +21 -0
  13. data/README.md +50 -0
  14. data/Rakefile +19 -0
  15. data/bin/console +8 -0
  16. data/bin/setup +8 -0
  17. data/lib/lunanode.rb +12 -0
  18. data/lib/lunanode/action_generator.rb +105 -0
  19. data/lib/lunanode/api.rb +172 -0
  20. data/lib/lunanode/api_actions.rb +41 -0
  21. data/lib/lunanode/api_actions/default/dns.rb +55 -0
  22. data/lib/lunanode/api_actions/default/email.rb +59 -0
  23. data/lib/lunanode/api_actions/default/floating.rb +19 -0
  24. data/lib/lunanode/api_actions/default/image.rb +31 -0
  25. data/lib/lunanode/api_actions/default/lb.rb +35 -0
  26. data/lib/lunanode/api_actions/default/monitor.rb +47 -0
  27. data/lib/lunanode/api_actions/default/network.rb +19 -0
  28. data/lib/lunanode/api_actions/default/plan.rb +11 -0
  29. data/lib/lunanode/api_actions/default/region.rb +11 -0
  30. data/lib/lunanode/api_actions/default/script.rb +11 -0
  31. data/lib/lunanode/api_actions/default/securitygroup.rb +35 -0
  32. data/lib/lunanode/api_actions/default/vm.rb +99 -0
  33. data/lib/lunanode/api_actions/default/volume.rb +47 -0
  34. data/lib/lunanode/api_actions/dns.rb +10 -0
  35. data/lib/lunanode/api_actions/email.rb +10 -0
  36. data/lib/lunanode/api_actions/floating.rb +10 -0
  37. data/lib/lunanode/api_actions/image.rb +17 -0
  38. data/lib/lunanode/api_actions/lb.rb +10 -0
  39. data/lib/lunanode/api_actions/monitor.rb +10 -0
  40. data/lib/lunanode/api_actions/network.rb +10 -0
  41. data/lib/lunanode/api_actions/plan.rb +10 -0
  42. data/lib/lunanode/api_actions/region.rb +10 -0
  43. data/lib/lunanode/api_actions/script.rb +10 -0
  44. data/lib/lunanode/api_actions/securitygroup.rb +10 -0
  45. data/lib/lunanode/api_actions/vm.rb +10 -0
  46. data/lib/lunanode/api_actions/volume.rb +10 -0
  47. data/lib/lunanode/api_error.rb +5 -0
  48. data/lib/lunanode/version.rb +4 -0
  49. data/lunanode.gemspec +33 -0
  50. data/lunanode_api_def.yaml +391 -0
  51. metadata +191 -0
@@ -0,0 +1,391 @@
1
+ :vm:
2
+ :start:
3
+ :required:
4
+ - vm_id
5
+ :stop:
6
+ :required:
7
+ - vm_id
8
+ :reboot:
9
+ :required:
10
+ - vm_id
11
+ :diskswap:
12
+ :required:
13
+ - vm_id
14
+ :info:
15
+ :required:
16
+ - vm_id
17
+ :delete:
18
+ :required:
19
+ - vm_id
20
+ :reimage:
21
+ :required:
22
+ - vm_id
23
+ - image_id
24
+ :resize:
25
+ :required:
26
+ - vm_id
27
+ - plan_id
28
+ :rescue:
29
+ :required:
30
+ - vm_id
31
+ :vnc:
32
+ :required:
33
+ - vm_id
34
+ :floatingip_add:
35
+ :required:
36
+ - vm_id
37
+ :optional:
38
+ - ip
39
+ - private_ip
40
+ :floatingip_delete:
41
+ :required:
42
+ - vm_id
43
+ :optional:
44
+ - ip
45
+ - keep
46
+ :iplist:
47
+ :required:
48
+ - vm_id
49
+ :ip_add:
50
+ :required:
51
+ - vm_id
52
+ :optional:
53
+ - ip
54
+ :ip_delete:
55
+ :required:
56
+ - vm_id
57
+ - ip
58
+ :securitygroup_add:
59
+ :required:
60
+ - vm_id
61
+ - group_id
62
+ :securitygroup_remove:
63
+ :required:
64
+ - vm_id
65
+ - group_id
66
+ :create:
67
+ :required:
68
+ - hostname
69
+ - plan_id
70
+ - image_id
71
+ :optional:
72
+ - region
73
+ - ip
74
+ - net_id
75
+ - securitygroups
76
+ - scripts
77
+ - volume_id
78
+ - volume_virtio
79
+ - key_id
80
+ - set_password
81
+ - affinity_group
82
+ :snapshot:
83
+ :required:
84
+ - vm_id
85
+ - name
86
+ :list:
87
+ :shelve:
88
+ :required:
89
+ - vm_id
90
+ :unshelve:
91
+ :required:
92
+ - vm_id
93
+ :rename:
94
+ :required:
95
+ - vm_id
96
+ - hostname
97
+ :dns:
98
+ :list:
99
+ :set:
100
+ :required:
101
+ - ip
102
+ - hostname
103
+ :zone_list:
104
+ :zone_add:
105
+ :required:
106
+ - origin
107
+ :optional:
108
+ - ttl
109
+ :zone_remove:
110
+ :required:
111
+ - zone_id
112
+ :record_list:
113
+ :required:
114
+ - zone_id
115
+ :record_add:
116
+ :required:
117
+ - zone_id
118
+ - name
119
+ - data
120
+ - ttl
121
+ - type
122
+ :record_remove:
123
+ :required:
124
+ - record_id
125
+ :dyn_list:
126
+ :dyn_add:
127
+ :required:
128
+ - name
129
+ - ip
130
+ :dyn_update:
131
+ :required:
132
+ - dyn_id
133
+ - name
134
+ - ip
135
+ :dyn_remove:
136
+ :required:
137
+ - dyn_id
138
+ :image:
139
+ :list:
140
+ :optional:
141
+ - region
142
+ :delete:
143
+ :required:
144
+ - image_id
145
+ :details:
146
+ :required:
147
+ - image_id
148
+ :replicate:
149
+ :required:
150
+ - image_id
151
+ - region
152
+ :fetch:
153
+ :required:
154
+ - region
155
+ - name
156
+ - location
157
+ - format
158
+ :optional:
159
+ - virtio
160
+ :retrieve:
161
+ :required:
162
+ - image_id
163
+ :volume:
164
+ :list:
165
+ :required:
166
+ - region
167
+ :create:
168
+ :required:
169
+ - region
170
+ - label
171
+ - size
172
+ :optional:
173
+ - image
174
+ - snapshot_id
175
+ :delete:
176
+ :required:
177
+ - region
178
+ - volume_id
179
+ :attach:
180
+ :required:
181
+ - region
182
+ - volume_id
183
+ - vm_id
184
+ - target
185
+ :detach:
186
+ :required:
187
+ - region
188
+ - volume_id
189
+ :info:
190
+ :required:
191
+ - region
192
+ - volume_id
193
+ :extend:
194
+ :required:
195
+ - region
196
+ - volume_id
197
+ - size
198
+ :snapshot_create:
199
+ :required:
200
+ - region
201
+ - volume_id
202
+ - label
203
+ :snapshot_delete:
204
+ :required:
205
+ - region
206
+ - snapshot_id
207
+ :snapshot_list:
208
+ :required:
209
+ - region
210
+ :floating:
211
+ :list:
212
+ :add:
213
+ :required:
214
+ - region
215
+ :delete:
216
+ :required:
217
+ - region
218
+ - ip
219
+ :network:
220
+ :list:
221
+ :optional:
222
+ - region
223
+ :create:
224
+ :required:
225
+ - region
226
+ - name
227
+ - subnet
228
+ - dns
229
+ :delete:
230
+ :required:
231
+ - region
232
+ - net_id
233
+ :lb:
234
+ :list:
235
+ :required:
236
+ - region
237
+ :optional:
238
+ - net_id
239
+ :create:
240
+ :required:
241
+ - region
242
+ - net_id
243
+ - name
244
+ - method
245
+ - protocol
246
+ - connection_limit
247
+ - port
248
+ :delete:
249
+ :required:
250
+ - region
251
+ - lb_id
252
+ :info:
253
+ :required:
254
+ - region
255
+ - lb_id
256
+ :member_add:
257
+ :required:
258
+ - region
259
+ - lb_id
260
+ - ip
261
+ - port
262
+ :member_remove:
263
+ :required:
264
+ - region
265
+ - lb_id
266
+ - member_id
267
+ :associate:
268
+ :required:
269
+ - region
270
+ - lb_id
271
+ - ip
272
+ :plan:
273
+ :list:
274
+ :region:
275
+ :list:
276
+ :monitor:
277
+ :check_list:
278
+ :check_types:
279
+ :check_add:
280
+ :required:
281
+ - name
282
+ - type
283
+ - fail_count
284
+ - success_count
285
+ - check_interval
286
+ :optional:
287
+ - "**from_check_type"
288
+ :check_remove:
289
+ :required:
290
+ - check_id
291
+ :contact_list:
292
+ :contact_add:
293
+ :contact_remove:
294
+ :required:
295
+ - type
296
+ - rel
297
+ :alert_list:
298
+ :required:
299
+ - check_id
300
+ :alert_add:
301
+ :required:
302
+ - check_id
303
+ - contact_id
304
+ :alert_remove:
305
+ :required:
306
+ - alert_id
307
+ securitygroup:
308
+ :list:
309
+ :create:
310
+ :required:
311
+ - region
312
+ - name
313
+ :delete:
314
+ :required:
315
+ - region
316
+ - group_id
317
+ :rename:
318
+ :required:
319
+ - region
320
+ - group_id
321
+ - name
322
+ :rule_list:
323
+ :required:
324
+ - region
325
+ - group_id
326
+ :rule_insert:
327
+ :required:
328
+ - region
329
+ - group_id
330
+ - direction
331
+ - type
332
+ - protocol
333
+ - remote_type
334
+ - remote_value
335
+ :optional:
336
+ - port_min
337
+ - port_max
338
+ - label
339
+ :rule_delete:
340
+ :required:
341
+ - region
342
+ - group_id
343
+ - rule_id
344
+ :script:
345
+ :list:
346
+ :email:
347
+ :usage:
348
+ :domain_list:
349
+ :domain_add:
350
+ :required:
351
+ - name
352
+ :domain_remove:
353
+ :required:
354
+ - domain_id
355
+ :domain_dkim_set:
356
+ :required:
357
+ - domain_id
358
+ - selector
359
+ - private_key
360
+ :domain_dkim_unset:
361
+ :required:
362
+ - domain_id
363
+ :user_list:
364
+ :required:
365
+ - domain_id
366
+ :user_add:
367
+ :required:
368
+ - domain_id
369
+ - username
370
+ - password
371
+ :user_set_password:
372
+ :required:
373
+ - domain_id
374
+ - user_id
375
+ - password
376
+ :user_remove:
377
+ :required:
378
+ - domain_id
379
+ - user_id
380
+ :alias_list:
381
+ :required:
382
+ - domain_id
383
+ :alias_add:
384
+ :required:
385
+ - domain_id
386
+ - name
387
+ - target
388
+ :alias_remove:
389
+ :required:
390
+ - domain_id
391
+ - alias_id
metadata ADDED
@@ -0,0 +1,191 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lunanode
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.5
5
+ platform: ruby
6
+ authors:
7
+ - Tim Bellefleur
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2017-02-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rest-client
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.14'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.14'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '12.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '12.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: yard
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.9'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.9'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.10'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.10'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.47'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.47'
111
+ description:
112
+ email:
113
+ - nomoon@phoebus.ca
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - ".codeclimate.yml"
119
+ - ".gitignore"
120
+ - ".rspec"
121
+ - ".rubocop.yml"
122
+ - ".ruby-gemset"
123
+ - ".ruby-version"
124
+ - ".travis.yml"
125
+ - ".yardopts"
126
+ - CODE_OF_CONDUCT.md
127
+ - Gemfile
128
+ - LICENSE.txt
129
+ - README.md
130
+ - Rakefile
131
+ - bin/console
132
+ - bin/setup
133
+ - lib/lunanode.rb
134
+ - lib/lunanode/action_generator.rb
135
+ - lib/lunanode/api.rb
136
+ - lib/lunanode/api_actions.rb
137
+ - lib/lunanode/api_actions/default/dns.rb
138
+ - lib/lunanode/api_actions/default/email.rb
139
+ - lib/lunanode/api_actions/default/floating.rb
140
+ - lib/lunanode/api_actions/default/image.rb
141
+ - lib/lunanode/api_actions/default/lb.rb
142
+ - lib/lunanode/api_actions/default/monitor.rb
143
+ - lib/lunanode/api_actions/default/network.rb
144
+ - lib/lunanode/api_actions/default/plan.rb
145
+ - lib/lunanode/api_actions/default/region.rb
146
+ - lib/lunanode/api_actions/default/script.rb
147
+ - lib/lunanode/api_actions/default/securitygroup.rb
148
+ - lib/lunanode/api_actions/default/vm.rb
149
+ - lib/lunanode/api_actions/default/volume.rb
150
+ - lib/lunanode/api_actions/dns.rb
151
+ - lib/lunanode/api_actions/email.rb
152
+ - lib/lunanode/api_actions/floating.rb
153
+ - lib/lunanode/api_actions/image.rb
154
+ - lib/lunanode/api_actions/lb.rb
155
+ - lib/lunanode/api_actions/monitor.rb
156
+ - lib/lunanode/api_actions/network.rb
157
+ - lib/lunanode/api_actions/plan.rb
158
+ - lib/lunanode/api_actions/region.rb
159
+ - lib/lunanode/api_actions/script.rb
160
+ - lib/lunanode/api_actions/securitygroup.rb
161
+ - lib/lunanode/api_actions/vm.rb
162
+ - lib/lunanode/api_actions/volume.rb
163
+ - lib/lunanode/api_error.rb
164
+ - lib/lunanode/version.rb
165
+ - lunanode.gemspec
166
+ - lunanode_api_def.yaml
167
+ homepage: https://github.com/nomoon/lunanode
168
+ licenses:
169
+ - MIT
170
+ metadata: {}
171
+ post_install_message:
172
+ rdoc_options: []
173
+ require_paths:
174
+ - lib
175
+ required_ruby_version: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: 2.1.0
180
+ required_rubygems_version: !ruby/object:Gem::Requirement
181
+ requirements:
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ version: '0'
185
+ requirements: []
186
+ rubyforge_project:
187
+ rubygems_version: 2.6.10
188
+ signing_key:
189
+ specification_version: 4
190
+ summary: Luna Node API for Ruby
191
+ test_files: []