Ñò ìÿÒXc @säddklZlZddklZlZddkTddklZlZddkl Z edƒZ dZ dZ e Z e Zed d d ƒed d d ƒedd edƒƒedd dƒfZdefd„ƒYZeieƒdefd„ƒYZeieƒdefd„ƒYZeieƒdefd„ƒYZeieƒdefd„ƒYZeieƒdefd„ƒYZeieƒdefd„ƒYZeieƒd efd!„ƒYZ eie ƒd"S(#iÿÿÿÿ(tapiterrors(tStrtStrEnum(t*(t_tngettext(tis_allsÞ Netgroups A netgroup is a group used for permission checking. It can contain both user and host values. EXAMPLES: Add a new netgroup: ipa netgroup-add --desc="NFS admins" admins Add members to the netgroup: ipa netgroup-add-member --users=tuser1,tuser2 admins Remove a member from the netgroup: ipa netgroup-remove-member --users=tuser2 admins Display information about a netgroup: ipa netgroup-show admins Delete a netgroup: ipa netgroup-del admins s^[a-zA-Z0-9_.][a-zA-Z0-9_.-]*$s.may only include letters, numbers, _, -, and .smemberuser_user?tlabels Member Usersmemberuser_group?s Member Groupsmemberhost_host?s Member Hostsmemberhost_hostgroup?sMember HostgrouptnetgroupcBseZdZeiiZedƒZedƒZ dddgZ dddd d d d d dddg Z dZ dZ hdgd 6dgd6dgd6ddgd 6ddgd 6Zhd@d 6dAd6dCd6dDd 6dEd 6ZedƒZedƒZedd ed!ed"d#d$ed%ƒd&ed'd(„ƒedd"d)d$ed*ƒd+ed,ƒƒed-d ed!ed"d.d$ed/ƒƒed0d"d1d$d2d+ed2ƒd3d4d5gƒed6d"d7d$ed8ƒd+ed9ƒd:dFƒed<d"d=d$ed>ƒd+ed?ƒd:dGƒefZRS(Hs Netgroup object. R t netgroupst ipaobjecttipaassociationtipanisnetgrouptcnt descriptiontmemberoft externalhostt nisdomainnamet memberusert memberhosttmembertmemberindirectt usercategoryt hostcategoryt ipauniqueidtusertgroupthostt hostgrouptMemberttno_s Member Oftin_tnot_in_sIndirect Membert no_indirect_t NetgroupstNetgrouptpatterntpattern_errmsgtcli_nametnameRs Netgroup namet primary_keyt normalizercCs |iƒS((tlower(tvalue((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pytvstdesct DescriptiontdocsNetgroup descriptionsnisdomainname?t nisdomainsNIS domain names ipauniqueid?tuuids IPA unique IDtflagst no_createt no_updates usercategory?tusercats User categorys!User category the rule applies totvaluesualls hostcategory?thostcats Host categorys!Host category the rule applies to(RRR (s Member OfR!R"N(sIndirect MemberNR#(RRR (RRR (uall(uall(t__name__t __module__t__doc__Rtenvtcontainer_netgroupt container_dnRt object_nametobject_name_pluralt object_classtdefault_attributestuuid_attributet rdn_attributetattribute_memberstNonet relationshipsRtlabel_singularRtNETGROUP_PATTERNtNETGROUP_PATTERN_ERRMSGtTruetNISDOMAIN_PATTERNtNISDOMAIN_PATTERN_ERRMSGRtexternal_host_paramt takes_params(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyR Lsp                             t netgroup_addcBsBeZedƒZeieZedƒZedƒZd„Z RS(sAdd a new netgroup.sAdded netgroup "%(value)s"uZhostgroup with name "%s" already exists. Hostgroups and netgroups share a common namespacec Os*t|tƒpt‚|id|iiiƒy…|ii|dƒ}|i |dgƒ\}} d| i dgƒjo't i dt |i|dƒƒ‚n|ii|ŒWnt ij onXy?tidi|dƒt i dt |i|dƒƒ‚Wnt ij onX|S(NRiÿÿÿÿt objectclasstmepManagedEntrytmessageR(t isinstancetDNtAssertionErrort setdefaultRR=tdomaintobjtget_dnt get_entrytgetRtDuplicateEntrytunicodet msg_collisionthandle_duplicate_entrytNotFoundtObjecttget_dn_if_exists( tselftldaptdnt entry_attrst attrs_listtkeystoptionsttest_dnttest_dn_R ((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyt pre_callback¤s ''( R:R;RR<t LDAPCreatethas_output_paramst output_paramst msg_summaryR`Rn(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyRQ›s     t netgroup_delcBs eZedƒZedƒZRS(sDelete a netgroup.sDeleted netgroup "%(value)s"(R:R;RR<Rr(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyRsÀs t netgroup_modcBs6eZedƒZeieZedƒZd„ZRS(sModify a netgroup.sModified netgroup "%(value)s"cOsÒt|tƒpt‚y|i||ƒ\}}Wn&tij o|ii|ŒnXt|dƒo)d|joti dt dƒƒ‚nt|dƒo)d|joti dt dƒƒ‚n|S(NRRtreasonsBuser category cannot be set to 'all' while there are allowed usersRRsBhost category cannot be set to 'all' while there are allowed hosts( RURVRWR\RRbRZthandle_not_foundRtMutuallyExclusiveErrorR(ReRfRgRhRiRjRk((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyRnÎs( R:R;RR<t LDAPUpdateRpRqRrRn(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyRtÈs   t netgroup_findc BsšeZedƒZddddgZeieZedddƒZ ei e dd d d d d gƒe ddddedƒdd„ƒfZ d„Z RS(sSearch for a netgroup.RRRRs%(count)d netgroup matcheds%(count)d netgroups matcheditprivatetexcludetwebuiR4t no_optiont no_outputtmanagedR(R1ssearch for managed groupst default_fromcCs|S(((Rz((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyR.îsc Os”t|tƒpt‚h}dg|d<|dp|i|d|iƒ} n|i|d|iƒ} |i| |fd|iƒ}|||fS(NRSRRRtrules(RURVRWt make_filtert MATCH_NONEt MATCH_ALLtcombine_filters( ReRftfilterRitbase_dntscopetargsRkt search_kwt local_filter((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyRnòs  ( R:R;RR<tmember_attributest LDAPSearchRpRqRRrt takes_optionstFlagRn(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyRyÝs      t netgroup_showcBs!eZedƒZeieZRS(s%Display information about a netgroup.(R:R;RR<t LDAPRetrieveRpRq(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyRs tnetgroup_add_membercBsBeZedƒZdddgZeieZd„Zd„Z RS(sAdd members to a netgroup.RRRcOs-t|tƒpt‚td||||ƒS(NR(RURVRWtadd_external_pre_callback(ReRfRgtfoundt not_foundRjRk((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyRnsc Os<t|tƒpt‚tddd|||||||ƒ S(NRRR(RURVRWtadd_external_post_callback(ReRft completedtfailedRgRhRjRk((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyt post_callbacks( R:R;RR<RŒt LDAPAddMemberRpRqRnR™(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyR’ s    tnetgroup_remove_membercBs9eZedƒZdddgZeieZd„ZRS(sRemove members from a netgroup.RRRc Os<t|tƒpt‚tddd|||||||ƒ S(NRRR(RURVRWtremove_external_post_callback(ReRfR—R˜RgRhRjRk((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyR™ s( R:R;RR<RŒtLDAPRemoveMemberRpRqR™(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyR›s  N(!tipalibRRRRtipalib.plugins.baseldapRRtipalib.plugins.hbacruleRR<RJRKRMRNRqt LDAPObjectR tregisterRoRQt LDAPDeleteRsRxRtRRyR‘RRšR’RR›(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pytsD        L "   #