Ñò ìÿÒ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|id|iiiƒy…|ii|dƒ}|i|dgƒ\}} d| idgƒjo'ti dt |i |dƒƒ‚n|ii |ŒWnti j onXy?tidi|dƒti dt |i |dƒƒ‚Wnti j onX|S(NRiÿÿÿÿt objectclasstmepManagedEntrytmessageR(t 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]Rk(((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<Ro(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyRpÀs t netgroup_modcBs6eZedƒZeieZedƒZd„ZRS(sModify a netgroup.sModified netgroup "%(value)s"cOs»y|i||ƒ\}}Wn&tij o|ii|ŒnXt|dƒo)d|jotidtdƒƒ‚nt|dƒo)d|jotidtdƒƒ‚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(RYRR_RWthandle_not_foundRtMutuallyExclusiveErrorR(RbRcRdReRfRgRh((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyRkÎs( R:R;RR<t LDAPUpdateRmRnRoRk(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyRqÈ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(((Rw((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyR.îsc Os}h}dg|d<|dp|i|d|iƒ} n|i|d|iƒ} |i| |fd|iƒ}|||fS(NRSRRR|trules(t make_filtert MATCH_NONEt MATCH_ALLtcombine_filters( RbRctfilterRftbase_dntscopetargsRht search_kwt local_filter((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyRkòs  ( R:R;RR<tmember_attributest LDAPSearchRmRnRRot takes_optionstFlagRk(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyRvÝs      t netgroup_showcBs!eZedƒZeieZRS(s%Display information about a netgroup.(R:R;RR<t LDAPRetrieveRmRn(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyRs tnetgroup_add_membercBsBeZedƒZdddgZeieZd„Zd„Z RS(sAdd members to a netgroup.RRRcOstd||||ƒS(NR(tadd_external_pre_callback(RbRcRdtfoundt not_foundRgRh((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyRksc Os%tddd|||||||ƒ S(NRRR(tadd_external_post_callback(RbRct completedtfailedRdReRgRh((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyt post_callbacks( R:R;RR<R‰t LDAPAddMemberRmRnRkR–(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyR s    tnetgroup_remove_membercBs9eZedƒZdddgZeieZd„ZRS(sRemove members from a netgroup.RRRc Os%tddd|||||||ƒ S(NRRR(tremove_external_post_callback(RbRcR”R•RdReRgRh((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyR– s( R:R;RR<R‰tLDAPRemoveMemberRmRnR–(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pyR˜s  N(!tipalibRRRRtipalib.plugins.baseldapRRtipalib.plugins.hbacruleRR<RJRKRMRNRnt LDAPObjectR tregisterRlRQt LDAPDeleteRpRuRqRŠRvRŽRR—RRšR˜(((s;/usr/lib/python2.6/site-packages/ipalib/plugins/netgroup.pytsD        L "   #