Object
# File lib/client/vm_api.rb, line 31 def add_interface(vm_id, opts={}) http_post("/vms/%s/nics" % vm_id, OVIRT::Interface.to_xml( opts)) end
# File lib/client/vm_api.rb, line 45 def add_volume(vm_id, opts={}) storage_domain_id = opts[:storage_domain] || storagedomains.first.id http_post("/vms/%s/disks" % vm_id, OVIRT::Volume.to_xml(storage_domain_id, opts)) end
# File lib/rbovirt.rb, line 47 def api_version xml = http_get("/")/'/api/product_info/version' (xml/'version').first[:major] +"."+ (xml/'version').first[:minor] end
# File lib/rbovirt.rb, line 52 def api_version?(major) api_version.split('.')[0] == major end
# File lib/client/cluster_api.rb, line 16 def cluster(cluster_id) headers = {:accept => "application/xml; detail=datacenters"} cluster_xml = http_get("/clusters/%s" % cluster_id, headers) OVIRT::Cluster.new(self, cluster_xml.root) end
# File lib/client/cluster_api.rb, line 3 def cluster_version?(cluster_id, major) c = cluster(cluster_id) c.version.split('.')[0] == major end
# File lib/client/cluster_api.rb, line 8 def clusters(opts={}) headers = {:accept => "application/xml; detail=datacenters"} search= opts[:search] || ("datacenter=%s" % current_datacenter.name) http_get("/clusters?search=%s" % CGI.escape(search), headers).xpath('/clusters/cluster').collect do |cl| OVIRT::Cluster.new(self, cl) end end
# File lib/client/template_api.rb, line 16 def create_template(opts) template = http_post("/templates", Template.to_xml(opts)) OVIRT::Template::new(self, template.root) end
# File lib/client/vm_api.rb, line 16 def create_vm(opts) opts[:cluster_name] ||= clusters.first.name OVIRT::VM::new(self, http_post("/vms",OVIRT::VM.to_xml(opts)).root) end
# File lib/client/datacenter_api.rb, line 3 def datacenter(datacenter_id) begin datacenter = http_get("/datacenters/%s" % datacenter_id) OVIRT::DataCenter::new(self, datacenter.root) rescue handle_fault $! end end
# File lib/client/datacenter_api.rb, line 12 def datacenters(opts={}) search = opts[:search] ||"" datacenters = http_get("/datacenters?search=%s" % CGI.escape(search)) datacenters.xpath('/data_centers/data_center').collect do |dc| OVIRT::DataCenter::new(self, dc) end end
# File lib/client/vm_api.rb, line 27 def destroy_interface(vm_id, interface_id) http_delete("/vms/%s/nics/%s" % [vm_id, interface_id]) end
# File lib/client/template_api.rb, line 21 def destroy_template(id) http_delete("/templates/%s" % id) end
# File lib/client/vm_api.rb, line 55 def destroy_vm(id) http_delete("/vms/%s" % id) end
# File lib/client/host_api.rb, line 3 def host(host_id, opts={}) xml_response = http_get("/hosts/%s" % host_id) OVIRT::Host::new(self, xml_response.root) end
# File lib/client/host_api.rb, line 8 def hosts(opts={}) search= opts[:search] || ("datacenter=%s" % current_datacenter.name) http_get("/hosts?search=%s" % CGI.escape(search)).xpath('/hosts/host').collect do |h| OVIRT::Host::new(self, h) end end
# File lib/client/cluster_api.rb, line 22 def networks(opts) cluster_id = opts[:cluster_id] || current_cluster.id http_get("/clusters/%s/networks" % cluster_id, http_headers).xpath('/networks/network').collect do |cl| OVIRT::Network.new(self, cl) end end
# File lib/client/vm_api.rb, line 59 def set_ticket(vm_id, options={}) ticket = OVIRT::VM.ticket(options) xml_response = http_post("/vms/%s/ticket" % vm_id, ticket) (xml_response/'action/ticket/value').first.text end
# File lib/client/storage_domain_api.rb, line 3 def storagedomain(sd_id) sd = http_get("/storagedomains/%s" % sd_id) OVIRT::StorageDomain::new(self, sd.root) end
# File lib/client/storage_domain_api.rb, line 8 def storagedomains(opts={}) search= opts[:search] ||'' http_get("/storagedomains?search=%s" % CGI.escape(search)).xpath('/storage_domains/storage_domain').collect do |sd| OVIRT::StorageDomain::new(self, sd) end end
# File lib/client/template_api.rb, line 10 def template(template_id, opts={}) results = http_get("/templates/%s" % template_id) template = OVIRT::Template::new(self, results.root) template end
# File lib/client/template_api.rb, line 25 def template_interfaces template_id http_get("/templates/%s/nics" % template_id, http_headers).xpath('/nics/nic').collect do |nic| OVIRT::Interface::new(self, nic) end end
# File lib/client/template_api.rb, line 31 def template_volumes template_id http_get("/templates/%s/disks" % template_id, http_headers).xpath('/disks/disk').collect do |disk| OVIRT::Volume::new(self, disk) end end
# File lib/client/template_api.rb, line 3 def templates(opts={}) search= opts[:search] || ("datacenter=%s" % current_datacenter.name) http_get("/templates?search=%s" % CGI.escape(search)).xpath('/templates/template').collect do |t| OVIRT::Template::new(self, t) end.compact end
# File lib/client/vm_api.rb, line 35 def update_interface(vm_id, interface_id, opts={}) http_put("/vms/%s/nics/%s" % [vm_id, interface_id], OVIRT::Interface.to_xml( opts)) end
# File lib/client/vm_api.rb, line 65 def update_vm(opts) opts[:cluster_name] ||= clusters.first.name result_xml = http_put("/vms/%s" % opts[:id], OVIRT::VM.to_xml(opts)) OVIRT::VM::new(self, result_xml.root) end
# File lib/client/vm_api.rb, line 3 def vm(vm_id, opts={}) headers = {:accept => "application/xml; detail=disks; detail=nics; detail=hosts"} OVIRT::VM::new(self, http_get("/vms/%s" % vm_id, headers).root) end
# File lib/client/vm_api.rb, line 50 def vm_action(id, action, opts={}) xml_response = http_post("/vms/%s/%s" % [id, action],'<action/>', opts) return (xml_response/'action/status').first.text.strip.upcase=="COMPLETE" end
# File lib/client/vm_api.rb, line 21 def vm_interfaces vm_id http_get("/vms/%s/nics" % vm_id, http_headers).xpath('/nics/nic').collect do |nic| OVIRT::Interface::new(self, nic) end end
# File lib/client/vm_api.rb, line 39 def vm_volumes vm_id http_get("/vms/%s/disks" % vm_id, http_headers).xpath('/disks/disk').collect do |disk| OVIRT::Volume::new(self, disk) end end
# File lib/client/vm_api.rb, line 8 def vms(opts={}) headers = {:accept => "application/xml; detail=disks; detail=nics; detail=hosts"} search= opts[:search] || ("datacenter=%s" % current_datacenter.name) http_get("/vms?search=%s" % CGI.escape(search), headers).xpath('/vms/vm').collect do |vm| OVIRT::VM::new(self, vm) end end
# File lib/rbovirt.rb, line 40 def initialize(username, password, api_entrypoint, datacenter_id=nil, cluster_id=nil) @credentials = { :username => username, :password => password } @datacenter_id = datacenter_id @cluster_id = cluster_id @api_entrypoint = api_entrypoint end
Generated with the Darkfish Rdoc Generator 2.