opennebula 4.4.0 → 4.5.80.beta

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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/NOTICE +1 -1
  3. data/lib/opennebula.rb +4 -2
  4. data/lib/opennebula/acl.rb +36 -8
  5. data/lib/opennebula/acl_pool.rb +1 -1
  6. data/lib/opennebula/client.rb +52 -4
  7. data/lib/opennebula/cluster.rb +1 -1
  8. data/lib/opennebula/cluster_pool.rb +1 -1
  9. data/lib/opennebula/datastore.rb +1 -1
  10. data/lib/opennebula/datastore_pool.rb +1 -1
  11. data/lib/opennebula/document.rb +1 -1
  12. data/lib/opennebula/document_json.rb +1 -1
  13. data/lib/opennebula/document_pool.rb +1 -1
  14. data/lib/opennebula/document_pool_json.rb +1 -1
  15. data/lib/opennebula/error.rb +1 -1
  16. data/lib/opennebula/group.rb +227 -43
  17. data/lib/opennebula/group_pool.rb +1 -1
  18. data/lib/opennebula/host.rb +1 -1
  19. data/lib/opennebula/host_pool.rb +1 -1
  20. data/lib/opennebula/image.rb +1 -1
  21. data/lib/opennebula/image_pool.rb +1 -1
  22. data/lib/opennebula/ldap_auth.rb +1 -1
  23. data/lib/opennebula/ldap_auth_spec.rb +1 -1
  24. data/lib/opennebula/oneflow_client.rb +1 -1
  25. data/lib/opennebula/pool.rb +57 -1
  26. data/lib/opennebula/pool_element.rb +1 -1
  27. data/lib/opennebula/server_cipher_auth.rb +1 -1
  28. data/lib/opennebula/server_x509_auth.rb +1 -1
  29. data/lib/opennebula/ssh_auth.rb +1 -1
  30. data/lib/opennebula/system.rb +1 -1
  31. data/lib/opennebula/template.rb +1 -1
  32. data/lib/opennebula/template_pool.rb +1 -1
  33. data/lib/opennebula/user.rb +10 -3
  34. data/lib/opennebula/user_pool.rb +1 -1
  35. data/lib/opennebula/virtual_machine.rb +1 -1
  36. data/lib/opennebula/virtual_machine_pool.rb +1 -1
  37. data/lib/opennebula/virtual_network.rb +1 -1
  38. data/lib/opennebula/virtual_network_pool.rb +1 -1
  39. data/lib/opennebula/x509_auth.rb +1 -1
  40. data/lib/opennebula/xml_element.rb +1 -1
  41. data/lib/opennebula/xml_pool.rb +2 -1
  42. data/lib/opennebula/xml_utils.rb +104 -1
  43. data/lib/opennebula/zone.rb +107 -0
  44. data/lib/opennebula/zone_pool.rb +58 -0
  45. metadata +21 -18
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # ---------------------------------------------------------------------------- #
2
- # Copyright 2010-2013, C12G Labs S.L #
2
+ # Copyright 2010-2014, C12G Labs S.L #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # ---------------------------------------------------------------------------- #
2
- # Copyright 2010-2013, C12G Labs S.L #
2
+ # Copyright 2010-2014, C12G Labs S.L #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2010-2013, C12G Labs S.L. #
2
+ # Copyright 2010-2014, C12G Labs S.L. #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -24,6 +24,9 @@ module OpenNebula
24
24
  include Enumerable
25
25
  alias_method :each_with_xpath, :each
26
26
 
27
+ PAGINATED_POOLS=%w{VM_POOL IMAGE_POOL TEMPLATE_POOL VN_POOL
28
+ DOCUMENT_POOL}
29
+
27
30
  protected
28
31
  #pool:: _String_ XML name of the root element
29
32
  #element:: _String_ XML name of the Pool elements
@@ -156,5 +159,58 @@ module OpenNebula
156
159
 
157
160
  return str
158
161
  end
162
+
163
+ # Gets a hash from a pool
164
+ #
165
+ # size:: nil => default page size
166
+ # < 2 => not paginated
167
+ # >=2 => page size
168
+ #
169
+ # The default page size can be changed with the environment variable
170
+ # ONE_POOL_PAGE_SIZE. Any value > 2 will set a page size, a non
171
+ # numeric value disables pagination.
172
+ def get_hash(size=nil)
173
+ allow_paginated = PAGINATED_POOLS.include?(@pool_name)
174
+
175
+ if OpenNebula.pool_page_size && allow_paginated &&
176
+ ( ( size && size >= 2 ) || !size )
177
+ size = OpenNebula.pool_page_size if !size
178
+ hash=info_paginated(size)
179
+
180
+ return hash if OpenNebula.is_error?(hash)
181
+ { @pool_name => { @element_name => hash } }
182
+ else
183
+ rc=info
184
+ return rc if OpenNebula.is_error?(rc)
185
+ to_hash
186
+ end
187
+ end
188
+
189
+ # Gets a pool in hash form using pagination
190
+ #
191
+ # size:: _Integer_ size of each page
192
+ def info_paginated(size)
193
+ array=Array.new
194
+ current=0
195
+
196
+ parser=ParsePoolSax.new(@pool_name, @element_name)
197
+
198
+ while true
199
+ a=@client.call("#{@pool_name.delete('_').downcase}.info",
200
+ -2, current, -size, -1)
201
+ return a if OpenNebula.is_error?(a)
202
+
203
+ a_array=parser.parse(a)
204
+
205
+ array += a_array
206
+ current += size
207
+ break if !a || a_array.length<size
208
+ end
209
+
210
+ array.compact!
211
+ array=nil if array.length == 0
212
+
213
+ array
214
+ end
159
215
  end
160
216
  end
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -172,8 +172,8 @@ module OpenNebula
172
172
  end
173
173
 
174
174
  # Sets the user quota limits
175
- # @param quota [String] a template (XML or txt) with the new quota limits
176
- #
175
+ # @param quota [String] a template (XML or txt) with the new quota limits
176
+ #
177
177
  # @return [nil, OpenNebula::Error] nil in case of success, Error
178
178
  # otherwise
179
179
  def set_quota(quota)
@@ -194,5 +194,12 @@ module OpenNebula
194
194
  def gid
195
195
  self['GID'].to_i
196
196
  end
197
+
198
+ # Returns a list with all the group IDs for the user including primary
199
+ # [return] _Array_ with the group ID's (as integers)
200
+ def groups
201
+ all_groups = self.retrieve_elements("GROUPS/ID")
202
+ all_groups.collect! {|x| x.to_i}
203
+ end
197
204
  end
198
205
  end
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -17,6 +17,7 @@
17
17
  require 'opennebula/xml_element'
18
18
 
19
19
  module OpenNebula
20
+
20
21
  # The XMLUtilsPool module provides an abstraction of the underlying
21
22
  # XML parser engine. It provides XML-related methods for the Pools
22
23
  class XMLPool < XMLElement
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -25,10 +25,113 @@ module OpenNebula
25
25
  NOKOGIRI=false
26
26
  end
27
27
 
28
+ begin
29
+ require 'ox'
30
+ OX=true
31
+ rescue LoadError
32
+ OX=false
33
+ end
34
+
28
35
  begin
29
36
  require 'rexml/formatters/pretty'
30
37
  REXML_FORMATTERS=true
31
38
  rescue LoadError
32
39
  REXML_FORMATTERS=false
33
40
  end
41
+
42
+ # Utilities to parse pools with sax (Nokogiri and Ox)
43
+
44
+ # vmpool, imagepool, templatepool, vnpool, documentpool
45
+
46
+ module ParsePoolBase
47
+ attr_accessor :pool
48
+
49
+ def initialize (pool_name, elem_name)
50
+ @current = 0
51
+ @levels = [{}]
52
+ @pool = Array.new
53
+
54
+ @pool_name = pool_name
55
+ @elem_name = elem_name
56
+ end
57
+
58
+ def start_element(name, attrs = [])
59
+ return if name == @pool_name
60
+ @value = nil
61
+
62
+ @current = @current + 1
63
+
64
+ @levels[@current] = Hash.new if @levels[@current].nil?
65
+ end
66
+
67
+ def characters(s)
68
+ @value = s
69
+ end
70
+
71
+ def end_element(name)
72
+ if @levels[@current].empty?
73
+ @levels[@current-1][name] = @value || {}
74
+ else
75
+ @levels[@current-1][name] = @levels[@current]
76
+ @levels[@current] = Hash.new
77
+ end
78
+
79
+ if name == @elem_name
80
+ @pool << @levels[0][@elem_name]
81
+
82
+ @current = 0
83
+ @levels[0] = Hash.new
84
+ else
85
+ @current = @current -1
86
+ end
87
+ end
88
+ end
89
+
90
+ class ParsePoolSaxBase
91
+ def initialize(pool_name, elem_name)
92
+ @pool_sax=ParsePoolSax::PoolSax.new(pool_name, elem_name)
93
+ end
94
+
95
+ def parse(str)
96
+ @pool_sax.pool.clear
97
+ sax_parse(str)
98
+ @pool_sax.pool
99
+ end
100
+ end
101
+
102
+ if OX
103
+ class ParsePoolSax < ParsePoolSaxBase
104
+ def sax_parse(str)
105
+ Ox.sax_parse(@pool_sax, StringIO.new(str),
106
+ :symbolize => false,
107
+ :convert_special => true)
108
+ end
109
+
110
+ class PoolSax < Ox::Sax
111
+ include ParsePoolBase
112
+
113
+ alias :text :characters
114
+ alias :cdata :characters
115
+ end
116
+ end
117
+ elsif NOKOGIRI
118
+ class ParsePoolSax < ParsePoolSaxBase
119
+ def initialize(pool_name, elem_name)
120
+ super(pool_name, elem_name)
121
+ @parser = Nokogiri::XML::SAX::Parser.new(@pool_sax)
122
+ end
123
+
124
+ def sax_parse(str)
125
+ @parser.parse(str)
126
+ end
127
+
128
+ class PoolSax < Nokogiri::XML::SAX::Document
129
+ include ParsePoolBase
130
+
131
+ alias :cdata_block :characters
132
+ end
133
+ end
134
+ else
135
+ raise "nokogiri gem not installed."
136
+ end
34
137
  end
@@ -0,0 +1,107 @@
1
+ # -------------------------------------------------------------------------- #
2
+ # Copyright 2002-2014, OpenNebula Project (OpenNebula.org), C12G Labs #
3
+ # #
4
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
+ # not use this file except in compliance with the License. You may obtain #
6
+ # a copy of the License at #
7
+ # #
8
+ # http://www.apache.org/licenses/LICENSE-2.0 #
9
+ # #
10
+ # Unless required by applicable law or agreed to in writing, software #
11
+ # distributed under the License is distributed on an "AS IS" BASIS, #
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
13
+ # See the License for the specific language governing permissions and #
14
+ # limitations under the License. #
15
+ #--------------------------------------------------------------------------- #
16
+
17
+
18
+ require 'opennebula/pool_element'
19
+
20
+ module OpenNebula
21
+ class Zone < PoolElement
22
+ #######################################################################
23
+ # Constants and Class Methods
24
+ #######################################################################
25
+
26
+ ZONE_METHODS = {
27
+ :info => "zone.info",
28
+ :allocate => "zone.allocate",
29
+ :update => "zone.update",
30
+ :rename => "zone.rename",
31
+ :delete => "zone.delete"
32
+ }
33
+
34
+ # Creates a Zone description with just its identifier
35
+ # this method should be used to create plain Zone objects.
36
+ # @param id [Integer] the id of the Zone
37
+ #
38
+ # Example:
39
+ # zone = Zone.new(Zone.build_xml(3),rpc_client)
40
+ #
41
+ def Zone.build_xml(pe_id=nil)
42
+ if pe_id
43
+ zone_xml = "<ZONE><ID>#{pe_id}</ID></ZONE>"
44
+ else
45
+ zone_xml = "<ZONE></ZONE>"
46
+ end
47
+
48
+ XMLElement.build_xml(zone_xml,'ZONE')
49
+ end
50
+
51
+ # Class constructor
52
+ def initialize(xml, client)
53
+ super(xml,client)
54
+ end
55
+
56
+ #######################################################################
57
+ # XML-RPC Methods for the Zone Object
58
+ #######################################################################
59
+
60
+ # Retrieves the information of the given Zone.
61
+ # @return [nil, OpenNebula::Error] nil in case of success, Error
62
+ # otherwise
63
+ def info()
64
+ super(ZONE_METHODS[:info], 'ZONE')
65
+ end
66
+
67
+ alias_method :info!, :info
68
+
69
+ # Allocates a new Zone in OpenNebula
70
+ #
71
+ # @param description [String] The template of the Zone.
72
+ # @return [nil, OpenNebula::Error] nil in case of success, Error
73
+ # otherwise
74
+ def allocate(description)
75
+ super(ZONE_METHODS[:allocate], description)
76
+ end
77
+
78
+ # Replaces the template contents
79
+ #
80
+ # @param new_template [String] New template contents
81
+ # @param append [true, false] True to append new attributes instead of
82
+ # replace the whole template
83
+ #
84
+ # @return [nil, OpenNebula::Error] nil in case of success, Error
85
+ # otherwise
86
+ def update(new_template=nil, append=false)
87
+ super(ZONE_METHODS[:update], new_template, append ? 1 : 0)
88
+ end
89
+
90
+ # Deletes the Zone
91
+ # @return [nil, OpenNebula::Error] nil in case of success, Error
92
+ # otherwise
93
+ def delete()
94
+ super(ZONE_METHODS[:delete])
95
+ end
96
+
97
+ # Renames this Zone
98
+ #
99
+ # @param name [String] New name for the Zone.
100
+ #
101
+ # @return [nil, OpenNebula::Error] nil in case of success, Error
102
+ # otherwise
103
+ def rename(name)
104
+ return call(ZONE_METHODS[:rename], @pe_id, name)
105
+ end
106
+ end
107
+ end