Class: OpenNebula::Zone
- Inherits:
-
PoolElement
- Object
- XMLElement
- PoolElement
- OpenNebula::Zone
- Defined in:
- lib/opennebula/zone.rb
Constant Summary collapse
- ZONE_METHODS =
Constants and Class Methods
{ :info => "zone.info", :allocate => "zone.allocate", :update => "zone.update", :rename => "zone.rename", :delete => "zone.delete", :addserver => "zone.addserver", :delserver => "zone.delserver" }
Class Method Summary collapse
-
.build_xml(pe_id = nil) ⇒ Object
Creates a Zone description with just its identifier this method should be used to create plain Zone objects.
Instance Method Summary collapse
-
#add_servers(servers) ⇒ nil, OpenNebula::Error
Adds servers to this Zone.
-
#allocate(description) ⇒ nil, OpenNebula::Error
Allocates a new Zone in OpenNebula.
-
#delete ⇒ nil, OpenNebula::Error
Deletes the Zone.
-
#delete_servers(server_id) ⇒ nil, OpenNebula::Error
Delete servers from this Zone.
-
#info ⇒ nil, OpenNebula::Error
(also: #info!)
Retrieves the information of the given Zone.
-
#initialize(xml, client) ⇒ Zone
constructor
Class constructor.
-
#rename(name) ⇒ nil, OpenNebula::Error
Renames this Zone.
-
#update(new_template = nil, append = false) ⇒ nil, OpenNebula::Error
Replaces the template contents.
Methods inherited from PoolElement
#id, #name, new_with_id, #to_str
Methods inherited from XMLElement
#[], #add_element, #attr, #delete_element, #each, #each_xpath, #element_xml, #has_elements?, #initialize_xml, #name, #retrieve_elements, #retrieve_xmlelements, #template_like_str, #template_str, #template_xml, #text, #to_hash, #to_xml, #xml_nil?
Constructor Details
#initialize(xml, client) ⇒ Zone
Class constructor
54 55 56 |
# File 'lib/opennebula/zone.rb', line 54 def initialize(xml, client) super(xml,client) end |
Class Method Details
.build_xml(pe_id = nil) ⇒ Object
43 44 45 46 47 48 49 50 51 |
# File 'lib/opennebula/zone.rb', line 43 def Zone.build_xml(pe_id=nil) if pe_id zone_xml = "<ZONE><ID>#{pe_id}</ID></ZONE>" else zone_xml = "<ZONE></ZONE>" end XMLElement.build_xml(zone_xml,'ZONE') end |
Instance Method Details
#add_servers(servers) ⇒ nil, OpenNebula::Error
Adds servers to this Zone
116 117 118 |
# File 'lib/opennebula/zone.rb', line 116 def add_servers(servers) return call(ZONE_METHODS[:addserver], @pe_id, servers) end |
#allocate(description) ⇒ nil, OpenNebula::Error
Allocates a new Zone in OpenNebula
76 77 78 |
# File 'lib/opennebula/zone.rb', line 76 def allocate(description) super(ZONE_METHODS[:allocate], description) end |
#delete ⇒ nil, OpenNebula::Error
Deletes the Zone
95 96 97 |
# File 'lib/opennebula/zone.rb', line 95 def delete() super(ZONE_METHODS[:delete]) end |
#delete_servers(server_id) ⇒ nil, OpenNebula::Error
Delete servers from this Zone
126 127 128 |
# File 'lib/opennebula/zone.rb', line 126 def delete_servers(server_id) return call(ZONE_METHODS[:delserver], @pe_id, server_id) end |
#info ⇒ nil, OpenNebula::Error Also known as: info!
Retrieves the information of the given Zone.
65 66 67 |
# File 'lib/opennebula/zone.rb', line 65 def info() super(ZONE_METHODS[:info], 'ZONE') end |
#rename(name) ⇒ nil, OpenNebula::Error
Renames this Zone
105 106 107 |
# File 'lib/opennebula/zone.rb', line 105 def rename(name) return call(ZONE_METHODS[:rename], @pe_id, name) end |
#update(new_template = nil, append = false) ⇒ nil, OpenNebula::Error
Replaces the template contents
88 89 90 |
# File 'lib/opennebula/zone.rb', line 88 def update(new_template=nil, append=false) super(ZONE_METHODS[:update], new_template, append ? 1 : 0) end |