project-fifo-ruby 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/project-fifo/resource.rb +12 -3
- data/lib/project-fifo/vm.rb +1 -1
- data/project-fifo-ruby.gemspec +1 -1
- data/test.rb +6 -0
- metadata +2 -2
@@ -5,9 +5,10 @@ class ProjectFifo
|
|
5
5
|
|
6
6
|
attr_reader :fifo, :namespace
|
7
7
|
|
8
|
-
def initialize(fifo, namespace)
|
8
|
+
def initialize(fifo, namespace, name="name")
|
9
9
|
@namespace = namespace
|
10
10
|
@fifo = fifo
|
11
|
+
@name = name
|
11
12
|
end
|
12
13
|
|
13
14
|
def list
|
@@ -23,13 +24,16 @@ class ProjectFifo
|
|
23
24
|
fifo.get(namespace + '/' + uuid)
|
24
25
|
end
|
25
26
|
|
27
|
+
def get_by_name(name)
|
28
|
+
list.map{|i| get(i) }.select{|i| i[@name] == name}
|
29
|
+
end
|
30
|
+
|
26
31
|
def metadata(uuid, key, value)
|
27
32
|
fifo.put([ namespace, uuid, 'metadata'].join('/'), { key => value })
|
28
33
|
end
|
29
34
|
|
30
35
|
def create(data)
|
31
|
-
|
32
|
-
raise(ArgumentError, validator.errors) unless validator.valid?
|
36
|
+
validate!(data)
|
33
37
|
fifo.post(namespace, data)
|
34
38
|
end
|
35
39
|
|
@@ -46,6 +50,11 @@ class ProjectFifo
|
|
46
50
|
end
|
47
51
|
|
48
52
|
protected
|
53
|
+
def validate!(data)
|
54
|
+
validator = HashValidator.validate(data, validations)
|
55
|
+
raise(ArgumentError, validator.errors) unless validator.valid?
|
56
|
+
end
|
57
|
+
|
49
58
|
def validations()
|
50
59
|
return {}
|
51
60
|
end
|
data/lib/project-fifo/vm.rb
CHANGED
data/project-fifo-ruby.gemspec
CHANGED
data/test.rb
CHANGED
@@ -6,6 +6,12 @@ fifo = ProjectFifo.new("http://192.168.1.100/api/0.1.0/", "admin", "admin")
|
|
6
6
|
|
7
7
|
fifo.connect
|
8
8
|
|
9
|
+
pp fifo.packages.get_by_name("medium")
|
10
|
+
pp fifo.ipranges.get_by_name("default")
|
11
|
+
pp fifo.datasets.get_by_name("ubuntu-12.04")
|
12
|
+
pp fifo.vms.get_by_name("netatalk")
|
13
|
+
exit
|
14
|
+
|
9
15
|
fifo.vms.list.each do |id|
|
10
16
|
vm = fifo.vms[id]
|
11
17
|
pp vm.config.dataset
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: project-fifo-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-05-
|
12
|
+
date: 2013-05-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|