Python Example of
Creating a
vSphere
Automation API Session with SSO Credentials
vSphere
Automation
API Session with SSO CredentialsThis example is
based on code in the
vapiconnect.py
sample file.
This example uses the
following global variables.
- my_vapi_hostname
- my_sso_username
- my_sso_password
- my_stub_config
For a complete and
up-to-date version of the sample code, see the
vSphere Automation SDK Python
samples at GitHub.
import requests from com.vmware.cis_client import Session from vmware.vapi.lib.connect import get_requests_connector from vmware.vapi.security.session import create_session_security_context from vmware.vapi.security.user_password import create_user_password_security_context from vmware.vapi.stdlib.client.factories import StubConfigurationFactory # Create a session object in the client. session = requests.Session() # For development environment only, suppress server certificate checking. session.verify = False # Create a connection for the session. vapi_url = 'https://' + my_vapi_hostname + '/api' connector = get_requests_connector(session=session, url=vapi_url) # Add username/password security context to the connector. basic_context = create_user_password_security_context(my_sso_username, my_sso_password) connector.set_security_context(basic_context) # Create a stub configuration by using the username-password security context. my_stub_config = StubConfigurationFactory.new_std_configuration(connector) # Create a Session stub with username-password security context. session_stub = Session(my_stub_config) # Use the create operation to create an authenticated session. session_id = session_stub.create() # Create a session ID security context. session_id_context = create_session_security_context(session_id) # Update the stub configuration with the session ID security context. my_stub_config.connector.set_security_context(session_id_context)