<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>create_vm (RHEVM::Client)</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" /> </head> <body class="standalone-code"> <pre><span class="ruby-comment cmt"># File lib/deltacloud/drivers/rhevm/rhevm_client.rb, line 69</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_vm</span>(<span class="ruby-identifier">template_id</span>, <span class="ruby-identifier">opts</span>={}) <span class="ruby-identifier">opts</span> <span class="ruby-operator">||=</span> {} <span class="ruby-identifier">builder</span> = <span class="ruby-constant">Nokogiri</span><span class="ruby-operator">::</span><span class="ruby-constant">XML</span><span class="ruby-operator">::</span><span class="ruby-constant">Builder</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-identifier">vm</span> { <span class="ruby-identifier">name</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:name</span>] <span class="ruby-operator">||</span> <span class="ruby-node">"i-#{Time.now.to_i}"</span> <span class="ruby-identifier">template_</span>(<span class="ruby-identifier">:id</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">template_id</span>) <span class="ruby-identifier">cluster</span>(<span class="ruby-identifier">:id</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:realm_id</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">clusters</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">id</span>) <span class="ruby-identifier">type_</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:hwp_id</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">'desktop'</span> <span class="ruby-identifier">memory</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:hwp_memory</span>] <span class="ruby-operator">?</span> (<span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:hwp_memory</span>].<span class="ruby-identifier">to_i</span><span class="ruby-operator">*</span><span class="ruby-value">1024</span><span class="ruby-operator">*</span><span class="ruby-value">1024</span>).<span class="ruby-identifier">to_s</span> <span class="ruby-operator">:</span> (<span class="ruby-value">512</span><span class="ruby-operator">*</span><span class="ruby-value">1024</span><span class="ruby-operator">*</span><span class="ruby-value">1024</span>).<span class="ruby-identifier">to_s</span> <span class="ruby-identifier">cpu</span> { <span class="ruby-identifier">topology</span>( <span class="ruby-identifier">:cores</span> =<span class="ruby-operator">></span> (<span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:hwp_cpu</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">'1'</span>), <span class="ruby-identifier">:sockets</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'1'</span> ) } } <span class="ruby-keyword kw">end</span> <span class="ruby-identifier">headers</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:headers</span>] <span class="ruby-operator">||</span> {} <span class="ruby-identifier">headers</span>.<span class="ruby-identifier">merge!</span>({ <span class="ruby-identifier">:content_type</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'application/xml'</span>, <span class="ruby-identifier">:accept</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'application/xml'</span>, }) <span class="ruby-identifier">headers</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">auth_header</span>) <span class="ruby-identifier">vm</span> = <span class="ruby-constant">RHEVM</span><span class="ruby-operator">::</span><span class="ruby-identifier">client</span>(<span class="ruby-ivar">@api_entrypoint</span>)[<span class="ruby-value str">"/vms"</span>].<span class="ruby-identifier">post</span>(<span class="ruby-constant">Nokogiri</span><span class="ruby-operator">::</span><span class="ruby-constant">XML</span>(<span class="ruby-identifier">builder</span>.<span class="ruby-identifier">to_xml</span>).<span class="ruby-identifier">root</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-identifier">headers</span>) <span class="ruby-constant">RHEVM</span><span class="ruby-operator">::</span><span class="ruby-constant">VM</span><span class="ruby-operator">::</span><span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-constant">Nokogiri</span><span class="ruby-operator">::</span><span class="ruby-constant">XML</span>(<span class="ruby-identifier">vm</span>).<span class="ruby-identifier">root</span>) <span class="ruby-keyword kw">end</span></pre> </body> </html>