SSSD CIM schema

Stephen Gallagher sgallagh at redhat.com
Wed Apr 2 12:11:13 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 04/02/2014 08:06 AM, Jan Safranek wrote:
> On 04/02/2014 12:13 PM, Pavel Březina wrote:> On 03/31/2014 01:18
> PM, Jan Safranek wrote:
>>> You may consider subclassing CIM_EnabledLogicalElement for 
>>> LMI_SSSDProcess as it provides enabled/disabled/change state 
>>> functionality.
>>> 
>>> It depends how CIM-ish (=ugly) you want to be. There is whole
>>> heap of predefined classes, which may resemble something you
>>> are designing. Remember, you do not need to implement all
>>> properties/methods from the CIM classes, just those you find
>>> usable. It's hard to find appropriate CIM class to subclass,
>>> following links may be useful:
>>> 
>>> http://schemas.dmtf.org/wbem/cim-html/2.40.0+/
>>> 
> http://dmtf.org/sites/default/files/cim/cim_schema_v2400/cim_schema_2.40.0-PDFs.zip
>>>
>>
>>
> 
I must say I'm having moral issues inheriting from a class where I won't
>> implement most of its part. Is it really a common practice? I
>> have chosen to stay with CIM_ManagedElement for this version.
> 
> Welcome to CIM world of utterly complex classes :). It's common
> practice to implement only 'Required' properties. And there are
> very little of them. Anyway, CIM_ManagedElement will do just fine.
> 
> Out of curiosity, does SSSD already have a configuration API, e.g.
> on DBus or as a library? Then I would suggest to throw away all
> DMTF complexity and rewrite the API 1:1 to CIM - you have only one
> API to document, available through two different access protocols,
> DBus/library for local and CIM for remote configuration.
> 
> Jan
> 

There's a python API that modifies SSSD's config file. See attached
output of the pydoc.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlM7/mAACgkQeiVVYja6o6MZOwCbBh9Qnx61YDYuEdwnOf+jBDpc
VjkAn2D2Yx2kOUDZu/uPDvGJuMwWSE2Y
=sg+k
-----END PGP SIGNATURE-----
-------------- next part --------------
Help on package SSSDConfig:

NAME
    SSSDConfig - Created on Sep 18, 2009

FILE
    /usr/lib/python2.7/site-packages/SSSDConfig/__init__.py

DESCRIPTION
    @author: sgallagh

PACKAGE CONTENTS
    ipachangeconf
    sssd_upgrade_config

CLASSES
    SSSDConfig.ipachangeconf.SSSDChangeConf(SSSDConfig.ipachangeconf.IPAChangeConf)
        SSSDConfig
        SSSDConfigSchema
    __builtin__.object
        SSSDConfigObject
            SSSDDomain
            SSSDService
    exceptions.Exception(exceptions.BaseException)
        ParsingError
        SSSDConfigException
            AlreadyInitializedError
            DomainAlreadyExistsError
            DomainNotRecognized
            NoDomainError
            NoOptionError
            NoOutputFileError
            NoSectionError
            NoServiceError
            NoSuchProviderError
            NoSuchProviderSubtypeError
            NotInitializedError
            ProviderSubtypeInUse
            ServiceAlreadyExists
            ServiceNotRecognizedError
    
    class AlreadyInitializedError(SSSDConfigException)
     |  Method resolution order:
     |      AlreadyInitializedError
     |      SSSDConfigException
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors inherited from SSSDConfigException:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message
    
    class DomainAlreadyExistsError(SSSDConfigException)
     |  Method resolution order:
     |      DomainAlreadyExistsError
     |      SSSDConfigException
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors inherited from SSSDConfigException:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message
    
    class DomainNotRecognized(SSSDConfigException)
     |  Method resolution order:
     |      DomainNotRecognized
     |      SSSDConfigException
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors inherited from SSSDConfigException:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message
    
    class NoDomainError(SSSDConfigException)
     |  Method resolution order:
     |      NoDomainError
     |      SSSDConfigException
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors inherited from SSSDConfigException:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message
    
    class NoOptionError(SSSDConfigException)
     |  Method resolution order:
     |      NoOptionError
     |      SSSDConfigException
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors inherited from SSSDConfigException:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message
    
    class NoOutputFileError(SSSDConfigException)
     |  Method resolution order:
     |      NoOutputFileError
     |      SSSDConfigException
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors inherited from SSSDConfigException:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message
    
    class NoSectionError(SSSDConfigException)
     |  Method resolution order:
     |      NoSectionError
     |      SSSDConfigException
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors inherited from SSSDConfigException:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message
    
    class NoServiceError(SSSDConfigException)
     |  Method resolution order:
     |      NoServiceError
     |      SSSDConfigException
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors inherited from SSSDConfigException:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message
    
    class NoSuchProviderError(SSSDConfigException)
     |  Method resolution order:
     |      NoSuchProviderError
     |      SSSDConfigException
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors inherited from SSSDConfigException:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message
    
    class NoSuchProviderSubtypeError(SSSDConfigException)
     |  Method resolution order:
     |      NoSuchProviderSubtypeError
     |      SSSDConfigException
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors inherited from SSSDConfigException:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message
    
    class NotInitializedError(SSSDConfigException)
     |  Method resolution order:
     |      NotInitializedError
     |      SSSDConfigException
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors inherited from SSSDConfigException:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message
    
    class ParsingError(exceptions.Exception)
     |  Method resolution order:
     |      ParsingError
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors defined here:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message
    
    class ProviderSubtypeInUse(SSSDConfigException)
     |  Method resolution order:
     |      ProviderSubtypeInUse
     |      SSSDConfigException
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors inherited from SSSDConfigException:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message
    
    class SSSDConfig(SSSDConfig.ipachangeconf.SSSDChangeConf)
     |  class SSSDConfig
     |  Primary class for operating on SSSD configurations
     |  
     |  Method resolution order:
     |      SSSDConfig
     |      SSSDConfig.ipachangeconf.SSSDChangeConf
     |      SSSDConfig.ipachangeconf.IPAChangeConf
     |  
     |  Methods defined here:
     |  
     |  __init__(self, schemafile=None, schemaplugindir=None)
     |      Initialize the SSSD config parser/editor. This constructor does not
     |      open or create a config file. If the schemafile and schemaplugindir
     |      are not passed, it will use the system defaults.
     |      
     |      schemafile:
     |        The path to the api schema config file. Usually
     |        /usr/share/sssd/sssd.api.conf
     |      schemaplugindir:
     |        The path the directory containing the provider schema config files.
     |        Usually /usr/share/sssd/sssd.api.d
     |      
     |      === Returns ===
     |      The newly-created SSSDConfig object.
     |      
     |      === Errors ===
     |      IOError:
     |        Exception raised when the schema file could not be opened for
     |        reading.
     |      ParsingError:
     |        The main schema file or one of those in the plugin directory could
     |        not be parsed.
     |  
     |  activate_domain(self, name)
     |      Activate a configured domain
     |      
     |      name:
     |        The name of the configured domain to activate
     |      
     |      === Returns ===
     |      No return value
     |      
     |      === Errors ===
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |      NoDomainError:
     |        No domain by this name is configured
     |  
     |  activate_service(self, name)
     |      Activate a service
     |      
     |      name:
     |        The name of the service to activate
     |      
     |      === Returns ===
     |      No return value
     |      
     |      === Errors ===
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |      NoServiceError:
     |        There is no such service with the specified name in the SSSDConfig.
     |  
     |  deactivate_domain(self, name)
     |      Deactivate a configured domain
     |      
     |      name:
     |        The name of the configured domain to deactivate
     |      
     |      === Returns ===
     |      No return value
     |      
     |      === Errors ===
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |      NoDomainError:
     |        No domain by this name is configured
     |  
     |  deactivate_service(self, name)
     |      Deactivate a service
     |      
     |      name:
     |        The name of the service to deactivate
     |      
     |      === Returns ===
     |      No return value
     |      
     |      === Errors ===
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |      NoServiceError:
     |        There is no such service with the specified name in the SSSDConfig.
     |  
     |  delete_domain(self, name)
     |      Remove a domain from the SSSDConfig object. This function will also
     |      remove this domain from the list of active domains in the [SSSD]
     |      section, if it is there.
     |      
     |      === Returns ===
     |      No return value
     |      
     |      === Errors ===
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |  
     |  delete_service(self, name)
     |      Remove a service from the SSSDConfig object. This function will also
     |      remove this service from the list of active services in the [SSSD]
     |      section. Has no effect if the service does not exist.
     |      
     |      === Returns ===
     |      No return value
     |      
     |      === Errors ===
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |  
     |  get_domain(self, name)
     |      Get an SSSDDomain object to edit a domain.
     |      
     |      name:
     |        The name of the domain to return.
     |      
     |      === Returns ===
     |      An SSSDDomain instance containing the current state of a domain in the
     |      SSSDConfig
     |      
     |      === Errors ===
     |      NoDomainError:
     |        There is no such domain with the specified name in the SSSDConfig.
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |  
     |  get_service(self, name)
     |      Get an SSSDService object to edit a service.
     |      
     |      name:
     |        The name of the service to return.
     |      
     |      === Returns ===
     |      An SSSDService instance containing the current state of a service in
     |      the SSSDConfig
     |      
     |      === Errors ===
     |      NoServiceError:
     |        There is no such service with the specified name in the SSSDConfig.
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |  
     |  import_config(self, configfile=None)
     |      Read in a config file, populating all of the service and domain
     |      objects with the read values.
     |      
     |      configfile:
     |        The path to the SSSD config file. If not specified, use the system
     |        default, usually /etc/sssd.conf
     |      
     |      === Returns ===
     |      No return value
     |      
     |      === Errors ===
     |      IOError:
     |        Exception raised when the file could not be opened for reading
     |      ParsingError:
     |        Exception raised when errors occur attempting to parse a file.
     |      AlreadyInitializedError:
     |        This SSSDConfig object was already initialized by a call to
     |        import_config() or new_config()
     |  
     |  is_domain_active(self, name)
     |      Is a particular domain set active
     |      
     |      name:
     |        The name of the configured domain to check
     |      
     |      === Returns ===
     |      True if the domain is active, False if it is inactive
     |      
     |      === Errors ===
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |      NoDomainError:
     |        No domain by this name is configured
     |  
     |  list_active_domains(self)
     |      Return a list of all active domains.
     |      
     |      === Returns ===
     |      The list of configured, active domains.
     |      
     |      === Errors ===
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |  
     |  list_active_services(self)
     |      Return a list of all active services.
     |      
     |      === Returns ===
     |      The list of active services.
     |      
     |      === Errors ===
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |  
     |  list_domains(self)
     |      Return a list of all configured domains, including inactive domains.
     |      
     |      === Returns ===
     |      The list of configured domains, both active and inactive.
     |      
     |      === Errors ===
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |  
     |  list_inactive_domains(self)
     |      Return a list of all configured, but disabled domains.
     |      
     |      === Returns ===
     |      The list of configured, inactive domains.
     |      
     |      === Errors ===
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |  
     |  list_inactive_services(self)
     |      Return a list of all disabled services.
     |      
     |      === Returns ===
     |      The list of inactive services.
     |      
     |      === Errors ===
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |  
     |  list_services(self)
     |      Retrieve a list of known services.
     |      
     |      === Returns ===
     |      The list of known services.
     |      
     |      === Errors ===
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |  
     |  new_config(self)
     |      Initialize the SSSDConfig object with the defaults from the schema.
     |      
     |      === Returns ===
     |      No return value
     |      
     |      === Errors ===
     |      AlreadyInitializedError:
     |        This SSSDConfig object was already initialized by a call to
     |        import_config() or new_config()
     |  
     |  new_domain(self, name)
     |      Create a new, empty domain and return the SSSDDomain object for it.
     |      
     |      name:
     |        The name of the domain to create and return.
     |      
     |      === Returns ===
     |      The newly-created SSSDDomain object
     |      
     |      === Errors ===
     |      DomainAlreadyExistsError:
     |        The service being created already exists in the SSSDConfig object.
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |  
     |  new_service(self, name)
     |      Create a new service from the defaults and return the SSSDService
     |      object for it. This function will also add this service to the list of
     |      active services in the [SSSD] section.
     |      
     |      name:
     |        The name of the service to create and return.
     |      
     |      === Returns ===
     |      The newly-created SSSDService object
     |      
     |      === Errors ===
     |      ServiceNotRecognizedError:
     |        There is no such service in the schema.
     |      ServiceAlreadyExistsError:
     |        The service being created already exists in the SSSDConfig object.
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |  
     |  save_domain(self, domain)
     |      Save the changes made to the domain object back to the SSSDConfig
     |      object. If this domain is marked active, ensure it is present in the
     |      active domain list in the [SSSD] section
     |      
     |      domain_object:
     |        The SSSDDomain object to save to the configuration.
     |      
     |      === Returns ===
     |      No return value
     |      
     |      === Errors ===
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |      TypeError:
     |        domain_object was not of type SSSDDomain
     |  
     |  save_service(self, service)
     |      Save the changes made to the service object back to the SSSDConfig
     |      object.
     |      
     |      service_object:
     |        The SSSDService object to save to the configuration.
     |      
     |      === Returns ===
     |      No return value
     |      === Errors ===
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |      TypeError:
     |        service_object was not of the type SSSDService
     |  
     |  write(self, outputfile=None)
     |      Write out the configuration to a file.
     |      
     |      outputfile:
     |        The path to write the new config file. If it is not specified, it
     |        will use the path specified by the import() call.
     |      === Returns ===
     |      No return value
     |      
     |      === Errors ===
     |      IOError:
     |        Exception raised when the file could not be opened for writing
     |      NotInitializedError:
     |        This SSSDConfig object has not had import_config() or new_config()
     |        run on it yet.
     |      NoOutputFileError:
     |        No outputfile was specified and this SSSDConfig object was not
     |        initialized by import()
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from SSSDConfig.ipachangeconf.SSSDChangeConf:
     |  
     |  add_section(self, name, optkw, index=0)
     |  
     |  delete_option(self, type, name, exclude_sections=False)
     |  
     |  delete_option_subtree(self, subtree, type, name, exclude_sections=False)
     |  
     |  delete_section(self, name)
     |  
     |  get(self, section, name)
     |  
     |  get_option_index(self, parent_name, name, type='option')
     |  
     |  has_option(self, section, name)
     |  
     |  has_section(self, section)
     |  
     |  options(self, section)
     |  
     |  parseLine(self, line)
     |      Overrides IPAChangeConf parseLine so that lines are splitted
     |      using any separator in self.assign, not just the default one
     |  
     |  read(self, filename)
     |  
     |  readfp(self, fd)
     |  
     |  sections(self)
     |  
     |  set(self, section, name, value)
     |  
     |  strip_comments_empty(self, optlist)
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from SSSDConfig.ipachangeconf.SSSDChangeConf:
     |  
     |  OPTCRE = <_sre.SRE_Pattern object>
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from SSSDConfig.ipachangeconf.IPAChangeConf:
     |  
     |  changeConf(self, file, newopts)
     |      # Write settings to configuration file
     |      # file is a path
     |      # options is a set of dictionaries in the form:
     |      #     [{'name': 'foo', 'value': 'bar', 'action': 'set/comment'}]
     |      # section is a section name like 'global'
     |  
     |  commentOpts(self, inopts, level=0)
     |  
     |  dump(self, options, level=0)
     |  
     |  findOpts(self, opts, type, name, exclude_sections=False)
     |  
     |  getSectionLine(self, section)
     |  
     |  matchComment(self, line)
     |  
     |  matchEmpty(self, line)
     |  
     |  matchSection(self, line)
     |  
     |  matchSubSection(self, line)
     |  
     |  matchSubSectionEnd(self, line)
     |  
     |  merge(self, oldopts, newopts)
     |  
     |  mergeNew(self, opts, newopts)
     |  
     |  mergeOld(self, oldopts, newopts)
     |  
     |  newConf(self, file, options)
     |      # Write settings to new file, backup old
     |      # file is a path
     |      # options is a set of dictionaries in the form:
     |      #     [{'name': 'foo', 'value': 'bar', 'action': 'set/comment'}]
     |      # section is a section name like 'global'
     |  
     |  parse(self, f)
     |      #TODO: Make parse() recursive?
     |  
     |  setCommentPrefix(self, comment)
     |  
     |  setEndLine(self, eol)
     |  
     |  setIndent(self, indent)
     |  
     |  setOptionAssignment(self, assign)
     |  
     |  setProgName(self, name)
     |  
     |  setSectionNameDelimiters(self, delims)
     |  
     |  setSubSectionDelimiters(self, delims)
    
    class SSSDConfigException(exceptions.Exception)
     |  # Exceptions
     |  
     |  Method resolution order:
     |      SSSDConfigException
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors defined here:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message
    
    class SSSDConfigObject(__builtin__.object)
     |  Methods defined here:
     |  
     |  __init__(self)
     |  
     |  get_all_options(self)
     |      Return a dictionary of name/value pairs for this object
     |      
     |      === Returns ===
     |      A dictionary of name/value pairs currently in use for this object
     |      
     |      === Errors ===
     |      No errors
     |  
     |  get_name(self)
     |      Return the name of the this object
     |      
     |      === Returns ===
     |      The domain name
     |      
     |      === Errors ===
     |      No errors
     |  
     |  get_option(self, optionname)
     |      Return the value of an service option
     |      
     |      optionname:
     |        The option to get.
     |      
     |      === Returns ===
     |      The value for the requested option.
     |      
     |      === Errors ===
     |      NoOptionError:
     |        The specified option was not listed in the service
     |  
     |  remove_option(self, optionname)
     |      Remove an option from the object. If the option does not exist, it is ignored.
     |      
     |      === Returns ===
     |      No return value.
     |      
     |      === Errors ===
     |      No errors
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |  
     |  __dict__
     |      dictionary for instance variables (if defined)
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
    
    class SSSDConfigSchema(SSSDConfig.ipachangeconf.SSSDChangeConf)
     |  Method resolution order:
     |      SSSDConfigSchema
     |      SSSDConfig.ipachangeconf.SSSDChangeConf
     |      SSSDConfig.ipachangeconf.IPAChangeConf
     |  
     |  Methods defined here:
     |  
     |  __init__(self, schemafile, schemaplugindir)
     |  
     |  get_defaults(self, section)
     |  
     |  get_option(self, section, option)
     |  
     |  get_options(self, section)
     |  
     |  get_providers(self)
     |  
     |  get_services(self)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from SSSDConfig.ipachangeconf.SSSDChangeConf:
     |  
     |  add_section(self, name, optkw, index=0)
     |  
     |  delete_option(self, type, name, exclude_sections=False)
     |  
     |  delete_option_subtree(self, subtree, type, name, exclude_sections=False)
     |  
     |  delete_section(self, name)
     |  
     |  get(self, section, name)
     |  
     |  get_option_index(self, parent_name, name, type='option')
     |  
     |  has_option(self, section, name)
     |  
     |  has_section(self, section)
     |  
     |  options(self, section)
     |  
     |  parseLine(self, line)
     |      Overrides IPAChangeConf parseLine so that lines are splitted
     |      using any separator in self.assign, not just the default one
     |  
     |  read(self, filename)
     |  
     |  readfp(self, fd)
     |  
     |  sections(self)
     |  
     |  set(self, section, name, value)
     |  
     |  strip_comments_empty(self, optlist)
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from SSSDConfig.ipachangeconf.SSSDChangeConf:
     |  
     |  OPTCRE = <_sre.SRE_Pattern object>
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from SSSDConfig.ipachangeconf.IPAChangeConf:
     |  
     |  changeConf(self, file, newopts)
     |      # Write settings to configuration file
     |      # file is a path
     |      # options is a set of dictionaries in the form:
     |      #     [{'name': 'foo', 'value': 'bar', 'action': 'set/comment'}]
     |      # section is a section name like 'global'
     |  
     |  commentOpts(self, inopts, level=0)
     |  
     |  dump(self, options, level=0)
     |  
     |  findOpts(self, opts, type, name, exclude_sections=False)
     |  
     |  getSectionLine(self, section)
     |  
     |  matchComment(self, line)
     |  
     |  matchEmpty(self, line)
     |  
     |  matchSection(self, line)
     |  
     |  matchSubSection(self, line)
     |  
     |  matchSubSectionEnd(self, line)
     |  
     |  merge(self, oldopts, newopts)
     |  
     |  mergeNew(self, opts, newopts)
     |  
     |  mergeOld(self, oldopts, newopts)
     |  
     |  newConf(self, file, options)
     |      # Write settings to new file, backup old
     |      # file is a path
     |      # options is a set of dictionaries in the form:
     |      #     [{'name': 'foo', 'value': 'bar', 'action': 'set/comment'}]
     |      # section is a section name like 'global'
     |  
     |  parse(self, f)
     |      #TODO: Make parse() recursive?
     |  
     |  setCommentPrefix(self, comment)
     |  
     |  setEndLine(self, eol)
     |  
     |  setIndent(self, indent)
     |  
     |  setOptionAssignment(self, assign)
     |  
     |  setProgName(self, name)
     |  
     |  setSectionNameDelimiters(self, delims)
     |  
     |  setSubSectionDelimiters(self, delims)
    
    class SSSDDomain(SSSDConfigObject)
     |  Object to manipulate SSSD domain options
     |  
     |  Method resolution order:
     |      SSSDDomain
     |      SSSDConfigObject
     |      __builtin__.object
     |  
     |  Methods defined here:
     |  
     |  __init__(self, domainname, apischema)
     |      Creates a new, empty SSSDDomain. This domain is inactive by default.
     |      This constructor should not be used directly. Use
     |      SSSDConfig.new_domain() instead.
     |      
     |      name:
     |        The domain name.
     |      apischema:
     |        An SSSDConfigSchema object created by SSSDConfig.__init__()
     |      
     |      === Returns ===
     |      The newly-created SSSDDomain object.
     |      
     |      === Errors ===
     |      TypeError:
     |        apischema was not an SSSDConfigSchema object or domainname was not
     |       a string
     |  
     |  add_provider(self, provider, provider_type)
     |      Add a new provider type to the domain
     |      
     |      type:
     |        Provider backend type. (e.g. local, ldap, krb5, etc.)
     |      subtype:
     |        Subtype of the backend type. (e.g. id, auth, chpass)
     |      
     |      === Returns ===
     |      No return value.
     |      
     |      === Errors ===
     |      ProviderSubtypeInUse:
     |        Another backend is already providing this subtype
     |      NoSuchProviderError:
     |        The specified provider is not listed in the schema or plugins
     |      NoSuchProviderSubtypeError:
     |        The specified provider subtype is not listed in the schema
     |  
     |  list_mandatory_options(self)
     |      List mandatory options for the currently-configured providers.
     |      
     |      === Returns ===
     |      A dictionary of configurable options. This dictionary is keyed on the
     |      option name with a tuple of the variable type, subtype ('None' if the
     |      type is not  a collection type), the translated option description, and
     |      the default value (or 'None') as the value.
     |      
     |      Example:
     |      { 'enumerate' :
     |        (bool, None, u'Enable enumerating all users/groups', True) }
     |      
     |      === Errors ===
     |      No errors
     |  
     |  list_options(self)
     |      List options available for the currently-configured providers.
     |      
     |      === Returns ===
     |      A dictionary of configurable options. This dictionary is keyed on the
     |      option name with a tuple of the variable type, subtype ('None' if the
     |      type is not  a collection type), the translated option description, and
     |      the default value (or 'None') as the value.
     |      
     |      Example:
     |      { 'enumerate' :
     |        (bool, None, u'Enable enumerating all users/groups', True) }
     |      
     |      === Errors ===
     |      No errors
     |  
     |  list_options_with_mandatory(self)
     |      List options for the currently-configured providers, including the
     |      mandatory flag
     |      
     |      === Returns ===
     |      A dictionary of configurable options. This dictionary is keyed on the
     |      option name with a tuple of the variable type, subtype ('None' if the
     |      type is not  a collection type), whether it is mandatory, the
     |      translated option description, and the default value (or 'None') as
     |      the value.
     |      
     |      Example:
     |      { 'enumerate' :
     |        (bool, None, False, u'Enable enumerating all users/groups', True) }
     |      
     |      === Errors ===
     |      No errors
     |  
     |  list_provider_options(self, provider, provider_type=None)
     |      If provider_type is specified, list all options applicable to that
     |      target, otherwise list all possible options available for a provider.
     |      
     |      type:
     |          Provider backend type. (e.g. local, ldap, krb5, etc.)
     |      provider_type:
     |          Subtype of the backend type. (e.g. id, auth, access, chpass)
     |      
     |      === Returns ===
     |      
     |      A dictionary of configurable options for the specified provider type.
     |      This dictionary is keyed on the option name with a tuple of the
     |      variable type, subtype ('None' if the type is not  a collection type),
     |      the translated option description, and the default value (or 'None')
     |      as the value.
     |      
     |      === Errors ===
     |      
     |      NoSuchProviderError:
     |          The specified provider is not listed in the schema or plugins
     |      NoSuchProviderSubtypeError:
     |          The specified provider subtype is not listed in the schema
     |  
     |  list_providers(self)
     |      Return a dictionary of providers.
     |      
     |      === Returns ===
     |      Returns a dictionary of providers, keyed on the primary type, with the
     |      value being a tuple of the subtypes it supports.
     |      
     |      Example:
     |      { 'ldap' : ('id', 'auth', 'chpass') }
     |      
     |      === Errors ===
     |      No Errors
     |  
     |  remove_provider(self, provider_type)
     |      Remove a provider from the domain. If the provider is not present, it
     |      is ignored.
     |      
     |      provider_type:
     |        Subtype of the backend type. (e.g. id, auth, chpass)
     |      
     |      === Returns ===
     |      No return value.
     |      
     |      === Errors ===
     |      No Errors
     |  
     |  set_active(self, active)
     |      Enable or disable this domain
     |      
     |      active:
     |        Boolean value. If True, this domain will be added to the active
     |        domains list when it is saved. If False, it will be removed from the
     |        active domains list when it is saved.
     |      
     |      === Returns ===
     |      No return value
     |      
     |      === Errors ===
     |      No errors
     |  
     |  set_name(self, newname)
     |      Change the name of the domain
     |      
     |      newname:
     |        New name for this domain
     |      
     |      === Returns ===
     |      No return value.
     |      
     |      === Errors ===
     |      TypeError:
     |        newname was not a string
     |  
     |  set_option(self, option, value)
     |      Set a domain option to the specified value (or values)
     |      
     |      option:
     |        The option to change.
     |      value:
     |        The value to set. This may be a single value or a list of values.
     |        If it is set to None, it resets the option to its default.
     |      
     |      === Returns ===
     |      No return value.
     |      
     |      === Errors ===
     |      NoOptionError:
     |          The specified option is not listed in the schema
     |      TypeError:
     |          The value specified was not of the expected type
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from SSSDConfigObject:
     |  
     |  get_all_options(self)
     |      Return a dictionary of name/value pairs for this object
     |      
     |      === Returns ===
     |      A dictionary of name/value pairs currently in use for this object
     |      
     |      === Errors ===
     |      No errors
     |  
     |  get_name(self)
     |      Return the name of the this object
     |      
     |      === Returns ===
     |      The domain name
     |      
     |      === Errors ===
     |      No errors
     |  
     |  get_option(self, optionname)
     |      Return the value of an service option
     |      
     |      optionname:
     |        The option to get.
     |      
     |      === Returns ===
     |      The value for the requested option.
     |      
     |      === Errors ===
     |      NoOptionError:
     |        The specified option was not listed in the service
     |  
     |  remove_option(self, optionname)
     |      Remove an option from the object. If the option does not exist, it is ignored.
     |      
     |      === Returns ===
     |      No return value.
     |      
     |      === Errors ===
     |      No errors
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from SSSDConfigObject:
     |  
     |  __dict__
     |      dictionary for instance variables (if defined)
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
    
    class SSSDService(SSSDConfigObject)
     |  Object to manipulate SSSD service options
     |  
     |  Method resolution order:
     |      SSSDService
     |      SSSDConfigObject
     |      __builtin__.object
     |  
     |  Methods defined here:
     |  
     |  __init__(self, servicename, apischema)
     |      Create a new SSSDService, setting its defaults to those found in the
     |      schema. This constructor should not be used directly. Use
     |      SSSDConfig.new_service() instead.
     |      
     |      name:
     |        The service name
     |      apischema:
     |        An SSSDConfigSchema? object created by SSSDConfig.__init__()
     |      
     |      === Returns ===
     |      The newly-created SSSDService object.
     |      
     |      === Errors ===
     |      TypeError:
     |        The API schema passed in was unusable or the name was not a string.
     |      ServiceNotRecognizedError:
     |        The service was not listed in the schema
     |  
     |  list_mandatory_options(self)
     |      List all mandatory options that apply to this service
     |      
     |      === Returns ===
     |      A dictionary of configurable options. This dictionary is keyed on the
     |      option name with a tuple of the variable type, subtype ('None' if the
     |      type is not  a collection type), the translated option description, and
     |      the default value (or 'None') as the value.
     |      
     |      Example:
     |      { 'services' :
     |        (list, str, u'SSSD Services to start', ['nss', 'pam']) }
     |      
     |      === Errors ===
     |      No Errors
     |  
     |  list_options(self)
     |      List all options that apply to this service
     |      
     |      === Returns ===
     |      A dictionary of configurable options. This dictionary is keyed on the
     |      option name with a tuple of the variable type, subtype ('None' if the
     |      type is not  a collection type), the translated option description, and
     |      the default value (or 'None') as the value.
     |      
     |      Example:
     |      { 'services' :
     |        (list, str, u'SSSD Services to start', ['nss', 'pam']) }
     |      
     |      === Errors ===
     |      No Errors
     |  
     |  list_options_with_mandatory(self)
     |      List options for the service, including the mandatory flag.
     |      
     |      === Returns ===
     |      A dictionary of configurable options. This dictionary is keyed on the
     |      option name with a tuple of the variable type, subtype ('None' if the
     |      type is not  a collection type), whether it is mandatory, the
     |      translated option description, and the default value (or 'None') as
     |      the value.
     |      
     |      Example:
     |      { 'enumerate' :
     |        (bool, None, False, u'Enable enumerating all users/groups', True) }
     |      
     |      === Errors ===
     |      No errors
     |  
     |  set_option(self, optionname, value)
     |      Set a service option to the specified value (or values)
     |      
     |      optionname:
     |        The option to change
     |      value:
     |        The value to set. This may be a single value or a list of values. If
     |        it is set to None, it resets the option to its default.
     |      
     |      === Returns ===
     |      No return value
     |      
     |      === Errors ===
     |      NoOptionError:
     |        The specified option is not listed in the schema
     |      TypeError:
     |        The value specified was not of the expected type
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from SSSDConfigObject:
     |  
     |  get_all_options(self)
     |      Return a dictionary of name/value pairs for this object
     |      
     |      === Returns ===
     |      A dictionary of name/value pairs currently in use for this object
     |      
     |      === Errors ===
     |      No errors
     |  
     |  get_name(self)
     |      Return the name of the this object
     |      
     |      === Returns ===
     |      The domain name
     |      
     |      === Errors ===
     |      No errors
     |  
     |  get_option(self, optionname)
     |      Return the value of an service option
     |      
     |      optionname:
     |        The option to get.
     |      
     |      === Returns ===
     |      The value for the requested option.
     |      
     |      === Errors ===
     |      NoOptionError:
     |        The specified option was not listed in the service
     |  
     |  remove_option(self, optionname)
     |      Remove an option from the object. If the option does not exist, it is ignored.
     |      
     |      === Returns ===
     |      No return value.
     |      
     |      === Errors ===
     |      No errors
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from SSSDConfigObject:
     |  
     |  __dict__
     |      dictionary for instance variables (if defined)
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
    
    class ServiceAlreadyExists(SSSDConfigException)
     |  Method resolution order:
     |      ServiceAlreadyExists
     |      SSSDConfigException
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors inherited from SSSDConfigException:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message
    
    class ServiceNotRecognizedError(SSSDConfigException)
     |  Method resolution order:
     |      ServiceNotRecognizedError
     |      SSSDConfigException
     |      exceptions.Exception
     |      exceptions.BaseException
     |      __builtin__.object
     |  
     |  Data descriptors inherited from SSSDConfigException:
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.Exception:
     |  
     |  __init__(...)
     |      x.__init__(...) initializes x; see help(type(x)) for signature
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from exceptions.Exception:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from exceptions.BaseException:
     |  
     |  __delattr__(...)
     |      x.__delattr__('name') <==> del x.name
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __getitem__(...)
     |      x.__getitem__(y) <==> x[y]
     |  
     |  __getslice__(...)
     |      x.__getslice__(i, j) <==> x[i:j]
     |      
     |      Use of negative indices is not supported.
     |  
     |  __reduce__(...)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __setattr__(...)
     |      x.__setattr__('name', value) <==> x.name = value
     |  
     |  __setstate__(...)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __unicode__(...)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from exceptions.BaseException:
     |  
     |  __dict__
     |  
     |  args
     |  
     |  message

FUNCTIONS
    options_overlap(options1, options2)
    
    striplist(l)

DATA
    LOCALEDIR = '/usr/share/locale'
    PACKAGE = 'sss_daemon'
    option_strings = {'access_provider': u'Access control provider', 'acco...
    translation = <gettext.NullTranslations instance>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: SSSDConfig.txt.sig
Type: application/pgp-signature
Size: 72 bytes
Desc: not available
URL: <https://lists.fedorahosted.org/pipermail/openlmi-devel/attachments/20140402/9882a321/attachment-0001.sig>


More information about the openlmi-devel mailing list