{"id":209,"date":"2010-08-20T14:37:40","date_gmt":"2010-08-20T20:37:40","guid":{"rendered":"http:\/\/benincosa.com\/blog\/?p=209"},"modified":"2014-11-19T11:25:59","modified_gmt":"2014-11-19T17:25:59","slug":"vmware-api-in-perl","status":"publish","type":"post","link":"https:\/\/benincosa.com\/?p=209","title":{"rendered":"VMware API in Perl"},"content":{"rendered":"<p>Here&#8217;s a simple example to connect to a hypervisor <\/p>\n<p>[cc lang=&#8221;perl&#8221;]<br \/>\n#!\/usr\/bin\/perl<\/p>\n<p>use Data::Dumper;<br \/>\nrequire VMware::VIRuntime;<br \/>\nVMware::VIRuntime->import();<br \/>\nuse strict;<\/p>\n<p># try logging into a node:<br \/>\nmy $conn;<br \/>\nmy $hyp = shift || &#8216;vhost31&#8242;;<br \/>\nprint &#8220;performing action on $hyp\\n&#8221;;<br \/>\neval {<br \/>\n        $conn = Vim->new(service_url=>&#8221;https:\/\/$hyp\/sdk&#8221;);<br \/>\n        $conn->login(user_name=>&#8217;root&#8217;,password=>&#8217;cluster&#8217;);<br \/>\n};<br \/>\n[\/cc]<\/p>\n<p>Now you probably want to do something since you&#8217;re connected.  The best way is to go over and read the VMware API documentation.  The <a href=\"http:\/\/vmware.com\/support\/developer\/vc-sdk\/visdk25pubs\/ReferenceGuide\/\">Reference Guide<\/a> seems to be the best.  You have to do a lot of guessing since it isn&#8217;t necessarily written for any language.  Hopefully I&#8217;ll be able to post more on using this later.  If you want to huge example, you can look at the <a href=\"https:\/\/xcat.svn.sourceforge.net\/svnroot\/xcat\/xcat-core\/trunk\/xCAT-server\/lib\/xcat\/plugins\/esx.pm\">ESX plugin in the xCAT source tree<\/a>.  We do pretty much everything you could think of with it.  Since its open source, you can use it however you want. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here&#8217;s a simple example to connect to a hypervisor [cc lang=&#8221;perl&#8221;] #!\/usr\/bin\/perl use Data::Dumper; require VMware::VIRuntime; VMware::VIRuntime->import(); use strict; # try logging into a node: my $conn; my $hyp = shift || &#8216;vhost31&#8242;; print &#8220;performing action on $hyp\\n&#8221;; eval { $conn = Vim->new(service_url=>&#8221;https:\/\/$hyp\/sdk&#8221;); $conn->login(user_name=>&#8217;root&#8217;,password=>&#8217;cluster&#8217;); }; [\/cc] Now you probably want to do something since you&#8217;re&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[74,1,39],"tags":[79,76,77,78],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/209"}],"collection":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=209"}],"version-history":[{"count":4,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/209\/revisions"}],"predecessor-version":[{"id":213,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/209\/revisions\/213"}],"wp:attachment":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=209"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=209"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}