How do i contact the vSphere (or VMWare) form Python either with some form of library or via SUDS to get the number of number of vCPU or a specific host/guest/virtual-machine?
Currently i'm trying:
from suds.client import Client from suds.sudsobject import Property client = Client("https://<server>/sdk/vimService?wsdl") queryCon = client.wsdl.services[0].ports[0].methods['QueryConnectionInfo'] print queryCon
And that works, and it gives me some form of output:
(Method){ name = "QueryConnectionInfo" location = "https://localhost/sdk/vimService" binding = (binding){ input = <suds.bindings.document.Document instance at 0x0775C080> output = <suds.bindings.document.Document instance at 0x0775C080> } soap = (soap){ action = ""urn:vim25/4.1"" style = "document" input = (Input){ body = (Body){ parts[] = (Part){ root = <part name="parameters" element="vim25:QueryConnectionInfo"/> name = "parameters" qname[] = "parameters", "urn:vim25", element = "(u'QueryConnectionInfo', u'urn:vim25')" type = "None" }, use = "literal" namespace[] = "vim25", "urn:vim25", wrapped = True } headers[] = <empty> } output = (Output){ body = (Body){ parts[] = (Part){ root = <part name="parameters" element="vim25:QueryConnectionInfoResponse"/> name = "parameters" qname[] = "parameters", "urn:vim25", element = "(u'QueryConnectionInfoResponse', u'urn:vim25')" type = "None" }, use = "literal" namespace[] = "vim25", "urn:vim25", wrapped = True } headers[] = <empty> } faults[] = (Fault){ name = "InvalidLoginFault" use = "literal" parts[] = (Part){ root = <part name="fault" element="vim25:InvalidLoginFault"/> name = "fault" qname[] = "fault", "urn:vim25", element = "(u'InvalidLoginFault', u'urn:vim25')" type = "None" }, }, (Fault){ name = "HostConnectFaultFault" use = "literal" parts[] = (Part){ root = <part name="fault" element="vim25:HostConnectFaultFault"/> name = "fault" qname[] = "fault", "urn:vim25", element = "(u'HostConnectFaultFault', u'urn:vim25')" type = "None" }, }, (Fault){ name = "RuntimeFault" use = "literal" parts[] = (Part){ root = <part name="fault" element="vim25:RuntimeFaultFault"/> name = "fault" qname[] = "fault", "urn:vim25", element = "(u'RuntimeFaultFault', u'urn:vim25')" type = "None" }, }, } }
I've tried following the following "guides":
SUDS - programmatic access to methods and types
http://communities.vmware.com/thread/273616
I know that all the information probably is here, i just can't see the entire picture :/
After a while of trying this is where i get stuck:
client = Client("https://<server>/sdk/vimService?wsdl") #queryCon = client.wsdl.services[0].ports[0].methods['QueryConnectionInfo'] print client.service.QueryConnectionInfo("https://<server>/sdk", None, r'domain\user', 'Password')
And the output is:
urllib2.URLError: <urlopen error [Errno 1] _ssl.c:490: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol>