[389-devel] Re: creating a universal class to replace "Entry"

2019-02-10 Thread William Brown


> On 11 Feb 2019, at 17:43, Anuj Borah  wrote:
> 
> @William Brown  Thanks for the reply , please look into the PR: 
> https://pagure.io/389-ds-base/pull-request/50171
> 
> Its to create nsfilterrole . 

I don’t understand how this email and that PR are related? 
> 

—
Sincerely,

William Brown
Software Engineer, 389 Directory Server
SUSE Labs
___
389-devel mailing list -- 389-devel@lists.fedoraproject.org
To unsubscribe send an email to 389-devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/389-devel@lists.fedoraproject.org


[389-devel] Re: creating a universal class to replace "Entry"

2019-02-10 Thread Anuj Borah
@William Brown   Thanks for the reply , please
look into the PR: https://pagure.io/389-ds-base/pull-request/50171

Its to create nsfilterrole .

On Mon, Feb 11, 2019 at 1:06 PM William Brown  wrote:

>
>
> > On 11 Feb 2019, at 17:01, Anuj Borah  wrote:
> >
> > Hi,
> >
> > As 'Entry' is not allowed to use now , In replace of Entry we are
> suggested to use UserAccounts and UserAccount which is very limited to some
> object classes .
> (['account','posixaccount','inetOrgPerson','organizationalPerson’]
>
> > )
> >
>
> There are many other types than this though?
>
> src/lib389/lib389/plugins.py:23:class Plugin(DSLdapObject):
> src/lib389/lib389/plugins.py:199:class MEPConfig(DSLdapObject):
> src/lib389/lib389/plugins.py:233:class MEPTemplate(DSLdapObject):
> src/lib389/lib389/plugins.py:444:class
> ReferentialIntegrityConfig(DSLdapObject):
> src/lib389/lib389/plugins.py:758:class MemberOfSharedConfig(DSLdapObject):
> src/lib389/lib389/plugins.py:887:class
> AutoMembershipRegexRule(DSLdapObject):
> src/lib389/lib389/plugins.py:905:class
> AutoMembershipDefinition(DSLdapObject):
> src/lib389/lib389/plugins.py:1015:class
> AutoMembershipRegexRule(DSLdapObject):
> src/lib389/lib389/plugins.py:1120:class
> LinkedAttributesConfig(DSLdapObject):
> src/lib389/lib389/plugins.py:1551:class AccountPolicyConfig(DSLdapObject):
> src/lib389/lib389/plugins.py:1598:class DNAPluginConfig(DSLdapObject):
> src/lib389/lib389/idm/organizationalrole.py:17:class
> OrganizationalRole(DSLdapObject):
> src/lib389/lib389/idm/nscontainer.py:11:class nsContainer(DSLdapObject):
> src/lib389/lib389/idm/nscontainer.py:49:class
> nsHiddenContainer(DSLdapObject):
> src/lib389/lib389/idm/domain.py:11:class Domain(DSLdapObject):
> src/lib389/lib389/idm/posixgroup.py:18:class PosixGroup(DSLdapObject):
> src/lib389/lib389/idm/organization.py:17:class Organization(DSLdapObject):
> src/lib389/lib389/idm/ipadomain.py:11:class IpaDomain(DSLdapObject):
> src/lib389/lib389/idm/group.py:17:class Group(DSLdapObject):
> src/lib389/lib389/idm/group.py:104:class UniqueGroup(DSLdapObject):
> src/lib389/lib389/idm/organizationalunit.py:16:class
> OrganizationalUnit(DSLdapObject):
> src/lib389/lib389/idm/account.py:15:class Account(DSLdapObject):
> src/lib389/lib389/tombstone.py:18:class Tombstone(DSLdapObject):
> src/lib389/lib389/backend.py:393:class Backend(DSLdapObject):
> src/lib389/lib389/backend.py:831:class DatabaseConfig(DSLdapObject):
> src/lib389/lib389/tasks.py:24:class Task(DSLdapObject):
> src/lib389/lib389/pwpolicy.py:287:class PwPolicyEntry(DSLdapObject):
> src/lib389/lib389/config.py:28:class Config(DSLdapObject):
> src/lib389/lib389/config.py:205:class Encryption(DSLdapObject):
> src/lib389/lib389/config.py:233:class RSA(DSLdapObject):
> src/lib389/lib389/config.py:358:class LDBMConfig(DSLdapObject):
> src/lib389/lib389/monitor.py:16:class Monitor(DSLdapObject):
> src/lib389/lib389/monitor.py:109:class MonitorLDBM(DSLdapObject):
> src/lib389/lib389/monitor.py:143:class MonitorBackend(DSLdapObject):
> src/lib389/lib389/monitor.py:190:class MonitorChaining(DSLdapObject):
> src/lib389/lib389/saslmap.py:12:class SaslMapping(DSLdapObject):
> src/lib389/lib389/index.py:27:class Index(DSLdapObject):
> src/lib389/lib389/index.py:64:class VLVSearch(DSLdapObject):
> src/lib389/lib389/index.py:147:class VLVIndex(DSLdapObject):
> src/lib389/lib389/encrypted_attributes.py:15:class
> EncryptedAttr(DSLdapObject):
> src/lib389/lib389/_mapped_object.py:84:class DSLdapObject(DSLogging):
> src/lib389/lib389/_mapped_object.py:441:if not
> issubclass(type(obj1), DSLdapObject) or not issubclass(type(obj2),
> DSLdapObject):
> src/lib389/lib389/_mapped_object.py:442:raise
> ValueError("Invalid arguments: Expecting object types that inherits
> 'DSLdapObject' class")
> src/lib389/lib389/agreement.py:23:class Agreement(DSLdapObject):
> src/lib389/lib389/cos.py:18:class CosTemplate(DSLdapObject):
> src/lib389/lib389/cos.py:65:class CosIndirectDefinition(DSLdapObject):
> src/lib389/lib389/cos.py:111:class CosPointerDefinition(DSLdapObject):
> src/lib389/lib389/replica.py:881:class Replica(DSLdapObject):
> src/lib389/lib389/replica.py:1288:class
> BootstrapReplicationManager(DSLdapObject):
> src/lib389/lib389/mappingTree.py:381:class MappingTree(DSLdapObject):
> src/lib389/lib389/chaining.py:18:class ChainingConfig(DSLdapObject):
> src/lib389/lib389/chaining.py:59:class ChainingDefault(DSLdapObject):
> src/lib389/lib389/chaining.py:81:class ChainingLink(DSLdapObject):
> src/lib389/lib389/changelog.py:20:class Changelog5(DSLdapObject):
> src/lib389/lib389/rootdse.py:15:class RootDSE(DSLdapObject):
> src/lib389/lib389/referral.py:14:class Referral(DSLdapObject):
> src/lib389/lib389/schema.py:71:class Schema(DSLdapObject):
>
> At worst, you can always use a raw:
>
> DSLdapObject(instance, dn)
>
> to get “minimal” access to *anything* regardless of type. The entire value
> proposition of lib389 is that we wrap *the most common and useful types*.
> Each