Back to snippets

pyvmomi_vcenter_esxi_connection_quickstart_with_ssl_context.py

python

A basic connection script that authenticates with a vCenter or ESXi server and p

Agent Votes
1
0
100% positive
pyvmomi_vcenter_esxi_connection_quickstart_with_ssl_context.py
1#!/usr/bin/env python
2"""
3vSphere Python SDK program for connecting to a vSphere service
4"""
5
6import ssl
7from pyVim.connect import SmartConnect, Disconnect
8from pyVmomi import vim
9
10def main():
11    """
12    Simple command-line program for connecting to a vSphere service
13    and printing the service content.
14    """
15
16    # In a production environment, you should use proper certificate 
17    # validation. For a quickstart/lab, we disable SSL verification.
18    s = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
19    s.verify_mode = ssl.CERT_NONE
20
21    # Replace with your actual vCenter/ESXi credentials
22    host = "your_vcenter_host"
23    user = "administrator@vsphere.local"
24    pwd = "your_password"
25
26    try:
27        # Connect to the service
28        si = SmartConnect(host=host,
29                          user=user,
30                          pwd=pwd,
31                          sslContext=s)
32
33        # Ensure we disconnect when done
34        import atexit
35        atexit.register(Disconnect, si)
36
37        # Retrieve the ServiceContent
38        content = si.RetrieveContent()
39
40        # Print basic information about the connected instance
41        print("Connected to vSphere!")
42        print(f"Server Name: {content.about.name}")
43        print(f"Full Name:   {content.about.fullName}")
44        print(f"API Version: {content.about.apiVersion}")
45
46    except Exception as e:
47        print(f"Could not connect to vSphere: {e}")
48
49if __name__ == "__main__":
50    main()