LMIConnection

class lmi.shell.LMIConnection.LMIConnection(uri, username='', password='', interactive=False, use_cache=True, key_file=None, cert_file=None, verify_server_cert=True)[source]

Class representing a connection object. Each desired connection to separate CIMOM should have its own connection object created. This class provides an entry point to the namespace/classes/instances/methods hierarchy present in the LMIShell.

Parameters:
  • uri (string) – URI of the CIMOM
  • username (string) – account, under which, the CIM calls will be performed
  • password (string) – user’s password
  • interactive (bool) – flag indicating, if the LMIShell client is running in the interactive mode; default value is False.
  • use_cache (bool) – flag indicating, if the LMIShell client should use cache for CIMClass objects. This saves lot’s of communication, if there are EnumerateInstances() and EnumerateClasses() intrinsic methods often issued. Default value is True.
  • key_file (string) – path to x509 key file; default value is None
  • cert_file (string) – path to x509 cert file; default value is None
  • verify_server_cert (bool) – flag indicating, whether a server side certificate needs to be verified, if SSL used; default value is True

NOTE: If interactive is set to True, LMIShell will:

clear_cache()[source]

Clears the cache.

client[source]
Returns:CIMOM client
Return type:LMICIMXMLClient or LMIWSMANClient
connect()[source]

Connects to CIMOM and verifies credentials by performing a “dummy” request.

Returns:LMIReturnValue object with rval set to True, if the user was properly authenticated; False otherwise. In case of any error, rval is set to False and errorstr contains appropriate error string.
Return type:LMIReturnValue
disconnect()[source]

Disconnects from CIMOM.

get_namespace(namespace)[source]
Parameters:namespace (string) – namespace path (eg. root/cimv2)
Returns:LMINamespace object
Raises:LMINamespaceNotFound
hostname[source]
Returns:hostname of CIMOM
Return type:string
is_wsman()[source]

Returns True, if the connection is made with WSMAN CIMOM; False otherwise.

namespaces[source]
Returns:list of all available namespaces

Usage: Available namespaces.

print_namespaces()[source]

Prints out all available namespaces.

print_subscribed_indications()[source]

Prints out all the subscribed indications.

root[source]
Returns:LMINamespaceRoot object for root namespace
subscribe_indication(**kwargs)[source]

Subscribes to an indication. Indication is formed by 3 objects, where 2 of them (filter and handler) can be provided, if the LMIShell should not create those 2 by itself.

NOTE: Currently the call registers atexit hook, which auto-deletes all subscribed indications by the LMIShell.

Parameters:kwargs (dictionary) –

parameters for the indication subscription

  • Filter (LMIInstance) – if provided, the LMIInstance object will be used instead of creating a new one; optional
  • Handler (LMIInstance) – if provided, the LMIInstance object will be used instead of creating a new one; optional
  • Query (string) – string containing a query for the indications filtering
  • QueryLanguage (string) – query language; eg. WQL, or DMTF:CQL. This parameter is optional, default value is DMTF:CQL.
  • Name (string) – indication name
  • CreationNamespace (string) – creation namespace. This parameter is optional, default value is root/interop.
  • SubscriptionCreationClassName (string) – subscription object class name. This parameter is optional, default value is CIM_IndicationSubscription.
  • Permanent (bool) – whether to preserve the created subscription on LMIShell’s quit. Default value is False.
  • FilterCreationClassName (string) – creation class name of the filter object. This parameter is options, default value is CIM_IndicationFilter.
  • FilterSystemCreationClassName (string) – system creation class name of the filter object. This parameter is optional, default value is CIM_ComputerSystem.
  • FilterSourceNamespace (string) – local namespace where the indications originate. This parameter is optional, default value is root/cimv2.
  • HandlerCreationClassName (string) – creation class name of the handler object. This parameter is optional, default value is CIM_IndicationHandlerCIMXML.
  • HandlerSystemCreationClassName (string) – system creation name of the handler object. This parameter is optional, default value is CIM_ComputerSystem.
  • Destination (string) – destination URI, where the indications should be delivered
Returns:LMIReturnValue object with rval set to True, if indication was subscribed; False otherwise. If a error occurs, errorstr is set to appropriate error string.
subscribed_indications()[source]
Returns:list of all the subscribed indications
timeout[source]
Returns:CIMOM connection timeout for a transaction (milliseconds)
Return type:int
unsubscribe_all_indications()[source]

Unsubscribes all the indications. This call ignores Permanent flag, which may be provided in LMIConnection.subscribe_indication(), and deletes all the subscribed indications.

unsubscribe_indication(name)[source]

Unsubscribes an indication.

Parameters:name (string) – indication name
Returns:LMIReturnValue object with rval set to True, if unsubscribed; False otherwise
uri[source]
Returns:URI of the CIMOM
Return type:string
use_cache(active=True)[source]

Sets a bool flag, which defines, if the LMIShell should use a cache.

Parameters:active (bool) – whether the LMIShell’s cache should be used
lmi.shell.LMIConnection.connect(uri, username='', password='', interactive=False, use_cache=True, key_file=None, cert_file=None, verify_server_cert=True, prompt_prefix='')[source]

Creates a connection object with provided URI and credentials.

Parameters:
  • uri (string) – URI of the CIMOM
  • username (string) – account, under which, the CIM calls will be performed
  • password (string) – user’s password
  • interactive (bool) – flag indicating, if the LMIShell client is running in the interactive mode; default value is False.
  • use_cache (bool) – flag indicating, if the LMIShell client should use cache for wbem.CIMClass objects. This saves lot’s of communication, if there are EnumerateInstances() and EnumerateClasses() intrinsic methods often issued. Default value is True.
  • key_file (string) – path to x509 key file; default value is None
  • cert_file (string) – path to x509 cert file; default value is None
  • verify_server_cert (bool) – flag indicating, whether a server side certificate needs to be verified, if SSL used; default value is True.
  • prompt_prefix (string) – username and password prompt prefix in case the user is asked for credentials. Default value is empty string.
Returns:

LMIConnection object or None, if LMIShell does not use exceptions

Raises:

ConnectionError

NOTE: If interactive is set to True, LMIShell will:

Usage: Establish a connection.