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:
- prompt for username and password, if missing and connection via Unix socket can not be established.
- use pager for the output of: LMIInstance.doc(), LMIClass.doc(), LMIInstance.tomof() and LMIMethod.tomof()
- 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
- get_namespace(namespace)[source]¶
Parameters: namespace (string) – namespace path (eg. root/cimv2) Returns: LMINamespace object Raises: LMINamespaceNotFound
- namespaces[source]¶
Returns: list of all available namespaces Usage: Available namespaces.
- 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.
- 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
- 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: NOTE: If interactive is set to True, LMIShell will:
- prompt for username and password, if missing and connection via Unix socket can not be established.
- use pager for the output of: LMIInstance.doc(), LMIClass.doc(), LMIInstance.tomof() and LMIMethod.tomof()
Usage: Establish a connection.