Repository URL to install this package:
|
Version:
0.4.2 ▾
|
cdocutils.nodes
document
q)q}q(U nametypesq}q(X logout_requests_signedqNX cert_fileqNX entityidqNX
xmlsec_binaryq NX attribute_map_dirq
NX required_attributesqNUcontentsqNX configuration directivesq
NX general directivesqNX serviceqNX! configuration of pysaml2 entitiesqNX policyqNX subject_dataqNX virtual_organizationqNX metadataqNX complete exampleqNX want_assertions_signedqNX timeslackqNX optional_attributesqNX specific directivesqNX organizationqNX idp/aa/spqNX contact_personqNX spqNX idp/aaqNX howto_configqKX idpq NX valid_forq!NX debugq"NX authn_requests_signedq#NX key_fileq$NX endpointsq%NuUsubstitution_defsq&}q'Uparse_messagesq(]q)Ucurrent_sourceq*NU
decorationq+NUautofootnote_startq,KUnameidsq-}q.(hUlogout-requests-signedq/hU cert-fileq0hUentityidq1h U
xmlsec-binaryq2h
Uattribute-map-dirq3hUrequired-attributesq4hUcontentsq5h
Uconfiguration-directivesq6hUgeneral-directivesq7hUserviceq8hU!configuration-of-pysaml2-entitiesq9hUpolicyq:hUsubject-dataq;hUvirtual-organizationq<hUmetadataq=hUcomplete-exampleq>hUwant-assertions-signedq?hU timeslackq@hUoptional-attributesqAhUspecific-directivesqBhUorganizationqChU idp-aa-spqDhUcontact-personqEhUspqFhUidp-aaqGhUhowto-configqHh UidpqIh!U valid-forqJh"UdebugqKh#Uauthn-requests-signedqLh$Ukey-fileqMh%U endpointsqNuUchildrenqO]qP(cdocutils.nodes
target
qQ)qR}qS(U rawsourceqTX .. _howto_config:UparentqUhUsourceqVcdocutils.nodes
reprunicode
qWX= /home/lgs/proyectos/yaco/pysaml2/pysaml2/doc/howto/config.rstqX
qY}qZbUtagnameq[Utargetq\U
attributesq]}q^(Uidsq_]Ubackrefsq`]Udupnamesqa]Uclassesqb]Unamesqc]UrefidqdhHuUlineqeKUdocumentqfhhO]ubcdocutils.nodes
section
qg)qh}qi(hTU hUhhVhYUexpect_referenced_by_nameqj}qkhhRsh[Usectionqlh]}qm(ha]hb]h`]h_]qn(h9hHehc]qo(hheuheKhfhUexpect_referenced_by_idqp}qqhHhRshO]qr(cdocutils.nodes
title
qs)qt}qu(hTX! Configuration of pySAML2 entitiesqvhUhhhVhYh[Utitleqwh]}qx(ha]hb]h`]h_]hc]uheKhfhhO]qycdocutils.nodes
Text
qzX! Configuration of pySAML2 entitiesq{
q|}q}(hThvhUhtubaubcdocutils.nodes
paragraph
q~)q}q(hTXÚ Whether you plan to run a pySAML2 Service Provider, Identity provider or an
attribute authority you have to configure it. The format of the configuration
file is the same disregarding which type of service you plan to run.
What differs is some of the directives.
Below you will find a list of all the used directives in alphabetic order.
The configuration is written as a python module which contains a named
dictionary ("CONFIG") that contains the configuration directives.qhUhhhVhYh[U paragraphqh]}q(ha]hb]h`]h_]hc]uheKhfhhO]qhzXÚ Whether you plan to run a pySAML2 Service Provider, Identity provider or an
attribute authority you have to configure it. The format of the configuration
file is the same disregarding which type of service you plan to run.
What differs is some of the directives.
Below you will find a list of all the used directives in alphabetic order.
The configuration is written as a python module which contains a named
dictionary ("CONFIG") that contains the configuration directives.q
q}q(hThhUhubaubh~)q}q(hTXE The basic structure of the configuration file is therefor like this::qhUhhhVhYh[hh]}q(ha]hb]h`]h_]hc]uheKhfhhO]qhzXD The basic structure of the configuration file is therefor like this:q
q}q(hTXD The basic structure of the configuration file is therefor like this:hUhubaubcdocutils.nodes
literal_block
q)q}q(hTX from saml2 import BINDING_HTTP_REDIRECT
CONFIG = {
"entityid" : "http://saml.example.com:saml/idp.xml",
"name" : "Rolands IdP",
"service": {
"idp": {
"endpoints" : {
"single_sign_on_service" : [
("http://saml.example.com:saml:8088/sso",
BINDING_HTTP_REDIRECT)],
"single_logout_service": [
("http://saml.example.com:saml:8088/slo",
BINDING_HTTP_REDIRECT)]
},
...
}
},
"key_file" : "my.key",
"cert_file" : "ca.pem",
"xmlsec_binary" : "/usr/local/bin/xmlsec1",
"metadata": {
"local": ["edugain.xml"],
},
"attribute_map_dir" : "attributemaps",
...
}hUhhhVhYh[U
literal_blockqh]}q(U xml:spaceqUpreserveqh_]h`]ha]hb]hc]uheKhfhhO]qhzX from saml2 import BINDING_HTTP_REDIRECT
CONFIG = {
"entityid" : "http://saml.example.com:saml/idp.xml",
"name" : "Rolands IdP",
"service": {
"idp": {
"endpoints" : {
"single_sign_on_service" : [
("http://saml.example.com:saml:8088/sso",
BINDING_HTTP_REDIRECT)],
"single_logout_service": [
("http://saml.example.com:saml:8088/slo",
BINDING_HTTP_REDIRECT)]
},
...
}
},
"key_file" : "my.key",
"cert_file" : "ca.pem",
"xmlsec_binary" : "/usr/local/bin/xmlsec1",
"metadata": {
"local": ["edugain.xml"],
},
"attribute_map_dir" : "attributemaps",
...
}q
q}q(hTU hUhubaubcdocutils.nodes
note
q)q}q(hTX¢ You can build the metadata file for your services directly from the
configuration.The make_metadata.py script in the pySAML2 tools directory
will do that for you.hUhhhVhYh[Unoteqh]}q(ha]hb]h`]h_]hc]uheNhfhhO]q h~)q¡}q¢(hTX¢ You can build the metadata file for your services directly from the
configuration.The make_metadata.py script in the pySAML2 tools directory
will do that for you.q£hUhhVhYh[hh]}q¤(ha]hb]h`]h_]hc]uheK,hO]q¥hzX¢ You can build the metadata file for your services directly from the
configuration.The make_metadata.py script in the pySAML2 tools directory
will do that for you.q¦
q§}q¨(hTh£hUh¡ubaubaubhg)q©}qª(hTU hUhhhVhYh[hlh]}q«(ha]hb]h`]h_]q¬h6ahc]qh
auheK1hfhhO]q®(hs)q¯}q°(hTX Configuration directivesq±hUh©hVhYh[hwh]}q²(ha]hb]h`]h_]hc]uheK1hfhhO]q³hzX Configuration directivesq´
qµ}q¶(hTh±hUh¯ubaubcdocutils.nodes
topic
q·)q¸}q¹(hTU hUh©hVhYh[Utopicqºh]}q»(ha]hb]q¼(Ucontentsq½Ulocalq¾eh`]h_]q¿h5ahc]qÀhauheK5hfhhO]qÁcdocutils.nodes
bullet_list
qÂ)qÃ}qÄ(hTU hUh¸hVNh[Ubullet_listqÅh]}qÆ(ha]hb]h`]h_]hc]uheNhfhhO]qÇ(cdocutils.nodes
list_item
qÈ)qÉ}qÊ(hTU h]}qË(ha]hb]h`]h_]hc]uhUhÃhO]qÌ(h~)qÍ}qÎ(hTU h]}qÏ(ha]hb]h`]h_]hc]uhUhÉhO]qÐcdocutils.nodes
reference
qÑ)qÒ}qÓ(hTU h]}qÔ(h_]qÕUid1qÖah`]ha]hb]hc]Urefidh7uhUhÍhO]q×hzX General directivesqqÙ}qÚ(hTX General directivesqÛhUhÒubah[U referenceqÜubah[hubhÂ)qÝ}qÞ(hTU h]}qß(ha]hb]h`]h_]hc]uhUhÉhO]qà(hÈ)qá}qâ(hTU h]}qã(ha]hb]h`]h_]hc]uhUhÝhO]qäh~)qå}qæ(hTU h]}qç(ha]hb]h`]h_]hc]uhUháhO]qèhÑ)qé}qê(hTU h]}që(h_]qìUid2qíah`]ha]hb]hc]Urefidh3uhUhåhO]qîhzX attribute_map_dirqqð}qñ(hTX attribute_map_dirqòhUhéubah[hÜubah[hubah[U list_itemqóubhÈ)qô}qõ(hTU h]}qö(ha]hb]h`]h_]hc]uhUhÝhO]q÷h~)qø}qù(hTU h]}qú(ha]hb]h`]h_]hc]uhUhôhO]qûhÑ)qü}qý(hTU h]}qþ(h_]qÿUid3r ah`]ha]hb]hc]Urefidh0uhUhøhO]r hzX cert_filer
r }r (hTX cert_filer hUhüubah[hÜubah[hubah[hóubhÈ)r }r (hTU h]}r (ha]hb]h`]h_]hc]uhUhÝhO]r h~)r
}r (hTU h]}r (ha]hb]h`]h_]hc]uhUj hO]r
hÑ)r }r (hTU h]}r (h_]r Uid4r ah`]ha]hb]hc]UrefidhEuhUj
hO]r hzX contact_personr
r }r (hTX contact_personr hUj ubah[hÜubah[hubah[hóubhÈ)r }r (hTU h]}r (ha]hb]h`]h_]hc]uhUhÝhO]r h~)r }r (hTU h]}r (ha]hb]h`]h_]hc]uhUj hO]r hÑ)r }r! (hTU h]}r" (h_]r# Uid5r$ ah`]ha]hb]hc]UrefidhKuhUj hO]r% hzX debugr&
r' }r( (hTX debugr) hUj ubah[hÜubah[hubah[hóubhÈ)r* }r+ (hTU h]}r, (ha]hb]h`]h_]hc]uhUhÝhO]r- h~)r. }r/ (hTU h]}r0 (ha]hb]h`]h_]hc]uhUj* hO]r1 hÑ)r2 }r3 (hTU h]}r4 (h_]r5 Uid6r6 ah`]ha]hb]hc]Urefidh1uhUj. hO]r7 hzX entityidr8
r9 }r: (hTX entityidr; hUj2 ubah[hÜubah[hubah[hóubhÈ)r< }r= (hTU h]}r> (ha]hb]h`]h_]hc]uhUhÝhO]r? h~)r@ }rA (hTU h]}rB (ha]hb]h`]h_]hc]uhUj< hO]rC hÑ)rD }rE (hTU h]}rF (h_]rG Uid7rH ah`]ha]hb]hc]UrefidhMuhUj@ hO]rI hzX key_filerJ
rK }rL (hTX key_filerM hUjD ubah[hÜubah[hubah[hóubhÈ)rN }rO (hTU h]}rP (ha]hb]h`]h_]hc]uhUhÝhO]rQ h~)rR }rS (hTU h]}rT (ha]hb]h`]h_]hc]uhUjN hO]rU hÑ)rV }rW (hTU h]}rX (h_]rY Uid8rZ ah`]ha]hb]hc]Urefidh=uhUjR hO]r[ hzX metadatar\
r] }r^ (hTX metadatar_ hUjV ubah[hÜubah[hubah[hóubhÈ)r` }ra (hTU h]}rb (ha]hb]h`]h_]hc]uhUhÝhO]rc h~)rd }re (hTU h]}rf (ha]hb]h`]h_]hc]uhUj` hO]rg hÑ)rh }ri (hTU h]}rj (h_]rk Uid9rl ah`]ha]hb]hc]UrefidhCuhUjd hO]rm hzX organizationrn
ro }rp (hTX organizationrq hUjh ubah[hÜubah[hubah[hóubhÈ)rr }rs (hTU h]}rt (ha]hb]h`]h_]hc]uhUhÝhO]ru h~)rv }rw (hTU h]}rx (ha]hb]h`]h_]hc]uhUjr hO]ry hÑ)rz }r{ (hTU h]}r| (h_]r} Uid10r~ ah`]ha]hb]hc]Urefidh8uhUjv hO]r hzX servicer
r }r (hTX servicer hUjz ubah[hÜubah[hubah[hóubhÈ)r }r
(hTU h]}r (ha]hb]h`]h_]hc]uhUhÝhO]r h~)r }r (hTU h]}r (ha]hb]h`]h_]hc]uhUj hO]r hÑ)r }r (hTU h]}r (h_]r Uid11r ah`]ha]hb]hc]Urefidh@uhUj hO]r hzX timeslackr
r }r (hTX timeslackr hUj ubah[hÜubah[hubah[hóubhÈ)r }r (hTU h]}r (ha]hb]h`]h_]hc]uhUhÝhO]r h~)r }r (hTU h]}r (ha]hb]h`]h_]hc]uhUj hO]r hÑ)r }r (hTU h]}r (h_]r¡ Uid12r¢ ah`]ha]hb]hc]Urefidh2uhUj hO]r£ hzX
xmlsec_binaryr¤
r¥ }r¦ (hTX
xmlsec_binaryr§ hUj ubah[hÜubah[hubah[hóubhÈ)r¨ }r© (hTU h]}rª (ha]hb]h`]h_]hc]uhUhÝhO]r« h~)r¬ }r (hTU h]}r® (ha]hb]h`]h_]hc]uhUj¨ hO]r¯ hÑ)r° }r± (hTU h]}r² (h_]r³ Uid13r´ ah`]ha]hb]hc]UrefidhJuhUj¬ hO]rµ hzX valid_forr¶
r· }r¸ (hTX valid_forr¹ hUj° ubah[hÜubah[hubah[hóubeh[hÅubeh[hóubhÈ)rº }r» (hTU h]}r¼ (ha]hb]h`]h_]hc]uhUhÃhO]r½ (h~)r¾ }r¿ (hTU h]}rÀ (ha]hb]h`]h_]hc]uhUjº hO]rÁ hÑ)r }rà (hTU h]}rÄ (h_]rÅ Uid14rÆ ah`]ha]hb]hc]UrefidhBuhUj¾ hO]rÇ hzX Specific directivesrÈ
rÉ }rÊ (hTX Specific directivesrË hUj ubah[hÜubah[hubhÂ)rÌ }rÍ (hTU h]}rÎ (ha]hb]h`]h_]hc]uhUjº hO]rÏ (hÈ)rÐ }rÑ (hTU h]}rÒ (ha]hb]h`]h_]hc]uhUjÌ hO]rÓ (h~)rÔ }rÕ (hTU h]}rÖ (ha]hb]h`]h_]hc]uhUjÐ hO]r× hÑ)rØ }rÙ (hTU h]}rÚ (h_]rÛ Uid15rÜ ah`]ha]hb]hc]UrefidhGuhUjÔ hO]rÝ hzX idp/aarÞ
rß }rà (hTX idp/aará hUjØ ubah[hÜubah[hubhÂ)râ }rã (hTU h]}rä (ha]hb]h`]h_]hc]uhUjÐ hO]rå hÈ)ræ }rç (hTU h]}rè (ha]hb]h`]h_]hc]uhUjâ hO]ré h~)rê }rë (hTU h]}rì (ha]hb]h`]h_]hc]uhUjæ hO]rí hÑ)rî }rï (hTU h]}rð (h_]rñ Uid16rò ah`]ha]hb]hc]Urefidh:uhUjê hO]ró hzX policyrô
rõ }rö (hTX policyr÷ hUjî ubah[hÜubah[hubah[hóubah[hÅubeh[hóubhÈ)rø }rù (hTU h]}rú (ha]hb]h`]h_]hc]uhUjÌ hO]rû (h~)rü }rý (hTU h]}rþ (ha]hb]h`]h_]hc]uhUjø hO]rÿ hÑ)r }r (hTU h]}r (h_]r Uid17r ah`]ha]hb]hc]UrefidhFuhUjü hO]r hzX spr
r }r (hTX spr hUj ubah[hÜubah[hubhÂ)r
}r (hTU h]}r (ha]hb]h`]h_]hc]uhUjø hO]r
(hÈ)r }r (hTU h]}r (ha]hb]h`]h_]hc]uhUj
hO]r h~)r }r (hTU h]}r (ha]hb]h`]h_]hc]uhUj hO]r hÑ)r }r (hTU h]}r (h_]r Uid18r ah`]ha]hb]hc]UrefidhLuhUj hO]r hzX authn_requests_signedr
r }r (hTX authn_requests_signedr hUj ubah[hÜubah[hubah[hóubhÈ)r }r! (hTU h]}r" (ha]hb]h`]h_]hc]uhUj
hO]r# h~)r$ }r% (hTU h]}r& (ha]hb]h`]h_]hc]uhUj hO]r' hÑ)r( }r) (hTU h]}r* (h_]r+ Uid19r, ah`]ha]hb]hc]UrefidhIuhUj$ hO]r- hzX idpr.
r/ }r0 (hTX idpr1 hUj( ubah[hÜubah[hubah[hóubhÈ)r2 }r3 (hTU h]}r4 (ha]hb]h`]h_]hc]uhUj
hO]r5 h~)r6 }r7 (hTU h]}r8 (ha]hb]h`]h_]hc]uhUj2 hO]r9 hÑ)r: }r; (hTU h]}r< (h_]r= Uid20r> ah`]ha]hb]hc]UrefidhAuhUj6 hO]r? hzX optional_attributesr@
rA }rB (hTX optional_attributesrC hUj: ubah[hÜubah[hubah[hóubhÈ)rD }rE (hTU h]}rF (ha]hb]h`]h_]hc]uhUj
hO]rG h~)rH }rI (hTU h]}rJ (ha]hb]h`]h_]hc]uhUjD hO]rK hÑ)rL }rM (hTU h]}rN (h_]rO Uid21rP ah`]ha]hb]hc]Urefidh4uhUjH hO]rQ hzX required_attributesrR
rS }rT (hTX required_attributesrU hUjL ubah[hÜubah[hubah[hóubhÈ)rV }rW (hTU h]}rX (ha]hb]h`]h_]hc]uhUj
hO]rY h~)rZ }r[ (hTU h]}r\ (ha]hb]h`]h_]hc]uhUjV hO]r] hÑ)r^ }r_ (hTU h]}r` (h_]ra Uid22rb ah`]ha]hb]hc]Urefidh?uhUjZ hO]rc hzX want_assertions_signedrd
re }rf (hTX want_assertions_signedrg hUj^ ubah[hÜubah[hubah[hóubeh[hÅubeh[hóubhÈ)rh }ri (hTU h]}rj (ha]hb]h`]h_]hc]uhUjÌ hO]rk (h~)rl }rm (hTU h]}rn (ha]hb]h`]h_]hc]uhUjh hO]ro hÑ)rp }rq (hTU h]}rr (h_]rs Uid23rt ah`]ha]hb]hc]UrefidhDuhUjl hO]ru hzX idp/aa/sprv
rw }rx (hTX idp/aa/spry hUjp ubah[hÜubah[hubhÂ)rz }r{ (hTU h]}r| (ha]hb]h`]h_]hc]uhUjh hO]r} (hÈ)r~ }r (hTU h]}r (ha]hb]h`]h_]hc]uhUjz hO]r h~)r }r (hTU h]}r (ha]hb]h`]h_]hc]uhUj~ hO]r
hÑ)r }r (hTU h]}r (h_]r Uid24r ah`]ha]hb]hc]UrefidhNuhUj hO]r hzX endpointsr
r }r (hTX endpointsr hUj ubah[hÜubah[hubah[hóubhÈ)r }r (hTU h]}r (ha]hb]h`]h_]hc]uhUjz hO]r h~)r }r (hTU h]}r (ha]hb]h`]h_]hc]uhUj hO]r hÑ)r }r (hTU h]}r (h_]r Uid25r ah`]ha]hb]hc]Urefidh/uhUj hO]r hzX logout_requests_signedr
r }r (hTX logout_requests_signedr¡ hUj ubah[hÜubah[hubah[hóubhÈ)r¢ }r£ (hTU h]}r¤ (ha]hb]h`]h_]hc]uhUjz hO]r¥ h~)r¦ }r§ (hTU h]}r¨ (ha]hb]h`]h_]hc]uhUj¢ hO]r© hÑ)rª }r« (hTU h]}r¬ (h_]r Uid26r® ah`]ha]hb]hc]Urefidh;uhUj¦ hO]r¯ hzX subject_datar°
r± }r² (hTX subject_datar³ hUjª ubah[hÜubah[hubah[hóubhÈ)r´ }rµ (hTU h]}r¶ (ha]hb]h`]h_]hc]uhUjz hO]r· h~)r¸ }r¹ (hTU h]}rº (ha]hb]h`]h_]hc]uhUj´ hO]r» hÑ)r¼ }r½ (hTU h]}r¾ (h_]r¿ Uid27rÀ ah`]ha]hb]hc]Urefidh<uhUj¸ hO]rÁ hzX virtual_organizationrÂ
rà }rÄ (hTX virtual_organizationrÅ hUj¼ ubah[hÜubah[hubah[hóubeh[hÅubeh[hóubeh[hÅubeh[hóubhÈ)rÆ }rÇ (hTU h]}rÈ (ha]hb]h`]h_]hc]uhUhÃhO]rÉ h~)rÊ }rË (hTU h]}rÌ (ha]hb]h`]h_]hc]uhUjÆ hO]rÍ hÑ)rÎ }rÏ (hTU h]}rÐ (h_]rÑ Uid28rÒ ah`]ha]hb]hc]Urefidh>uhUjÊ hO]rÓ hzX Complete examplerÔ
rÕ }rÖ (hTX Complete exampler× hUjÎ ubah[hÜubah[hubah[hóubeubaubhg)rØ }rÙ (hTU hUh©hVhYh[hlh]}rÚ (ha]hb]h`]h_]rÛ h7ahc]rÜ hauheK8hfhhO]rÝ (hs)rÞ }rß (hThÛhUjØ hVhYh[hwh]}rà (h_]h`]ha]hb]hc]hdhÖuheK8hfhhO]rá hzX General directivesrâ
rã }rä (hThÛhUjÞ ubaubhg)rå }ræ (hTU hUjØ hVhYh[hlh]}rç (ha]hb]h`]h_]rè h3ahc]ré h
auheK;hfhhO]rê (hs)rë }rì (hThòhUjå hVhYh[hwh]}rí (h_]h`]ha]hb]hc]hdhíuheK;hfhhO]rî hzX attribute_map_dirrï
rð }rñ (hThòhUjë ubaubh~)rò }ró (hTX Format::rô hUjå hVhYh[hh]}rõ (ha]hb]h`]h_]hc]uheK=hfhhO]rö hzX Format:r÷
rø }rù (hTX Format:hUjò ubaubh)rú }rû (hTX% "attribute_map_dir": "attribute-maps"hUjå hVhYh[hh]}rü (hhh_]h`]ha]hb]hc]uheK?hfhhO]rý hzX% "attribute_map_dir": "attribute-maps"rþ
rÿ }r (hTU hUjú ubaubh~)r }r (hTXo Points to a directory which has the attribute maps in Python modules.
A typical map file will looks like this::hUjå hVhYh[hh]}r (ha]hb]h`]h_]hc]uheKAhfhhO]r hzXn Points to a directory which has the attribute maps in Python modules.
A typical map file will looks like this:r
r }r (hTXn Points to a directory which has the attribute maps in Python modules.
A typical map file will looks like this:hUj ubaubh)r }r (hTXX MAP = {
"identifier": "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
"fro": {
'urn:mace:dir:attribute-def:aRecord': 'aRecord',
'urn:mace:dir:attribute-def:aliasedEntryName': 'aliasedEntryName',
'urn:mace:dir:attribute-def:aliasedObjectName': 'aliasedObjectName',
'urn:mace:dir:attribute-def:associatedDomain': 'associatedDomain',
'urn:mace:dir:attribute-def:associatedName': 'associatedName',
...
},
"to": {
'aRecord': 'urn:mace:dir:attribute-def:aRecord',
'aliasedEntryName': 'urn:mace:dir:attribute-def:aliasedEntryName',
'aliasedObjectName': 'urn:mace:dir:attribute-def:aliasedObjectName',
'associatedDomain': 'urn:mace:dir:attribute-def:associatedDomain',
'associatedName': 'urn:mace:dir:attribute-def:associatedName',
...
}
}hUjå hVhYh[hh]}r
(hhh_]h`]ha]hb]hc]uheKDhfhhO]r hzXX MAP = {
"identifier": "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
"fro": {
'urn:mace:dir:attribute-def:aRecord': 'aRecord',
'urn:mace:dir:attribute-def:aliasedEntryName': 'aliasedEntryName',
'urn:mace:dir:attribute-def:aliasedObjectName': 'aliasedObjectName',
'urn:mace:dir:attribute-def:associatedDomain': 'associatedDomain',
'urn:mace:dir:attribute-def:associatedName': 'associatedName',
...
},
"to": {
'aRecord': 'urn:mace:dir:attribute-def:aRecord',
'aliasedEntryName': 'urn:mace:dir:attribute-def:aliasedEntryName',
'aliasedObjectName': 'urn:mace:dir:attribute-def:aliasedObjectName',
'associatedDomain': 'urn:mace:dir:attribute-def:associatedDomain',
'associatedName': 'urn:mace:dir:attribute-def:associatedName',
...
}
}r
r
}r (hTU hUj ubaubh~)r }r (hTXÕ The attribute map module contains a MAP dictionary with three items. The
`identifier` item is the name-format you expect to support.
The *to* and *fro* sub-dictionaries then contain the mapping between the names.hUjå hVhYh[hh]}r (ha]hb]h`]h_]hc]uheKXhfhhO]r (hzXJ The attribute map module contains a MAP dictionary with three items. The
r
r }r (hTXJ The attribute map module contains a MAP dictionary with three items. The
hUj ubcdocutils.nodes
title_reference
r )r }r (hTX `identifier`h]}r (ha]hb]h`]h_]hc]uhUj hO]r hzX
identifierr
r }r (hTU hUj ubah[Utitle_referencer ubhzX4 item is the name-format you expect to support.
The r
r }r! (hTX4 item is the name-format you expect to support.
The hUj ubcdocutils.nodes
emphasis
r" )r# }r$ (hTX *to*h]}r% (ha]hb]h`]h_]hc]uhUj hO]r& hzX tor'
r( }r) (hTU hUj# ubah[Uemphasisr* ubhzX and r+
r, }r- (hTX and hUj ubj" )r. }r/ (hTX *fro*h]}r0 (ha]hb]h`]h_]hc]uhUj hO]r1 hzX fror2
r3 }r4 (hTU hUj. ubah[j* ubhzX= sub-dictionaries then contain the mapping between the names.r5
r6 }r7 (hTX= sub-dictionaries then contain the mapping between the names.hUj ubeubh~)r8 }r9 (hTX
As you see the format is again a python dictionary where the key is the
name to convert from and the value is the name to convert to.r: hUjå hVhYh[hh]}r; (ha]hb]h`]h_]hc]uheK\hfhhO]r< hzX
As you see the format is again a python dictionary where the key is the
name to convert from and the value is the name to convert to.r=
r> }r? (hTj: hUj8 ubaubh~)r@ }rA (hTX Since *to* in most cases are the inverse of the *fro* file, the
software allowes you to only specify one of them and it will
automatically create the other.hUjå hVhYh[hh]}rB (ha]hb]h`]h_]hc]uheK_hfhhO]rC (hzX Since rD
rE }rF (hTX Since hUj@ ubj" )rG }rH (hTX *to*h]}rI (ha]hb]h`]h_]hc]uhUj@ hO]rJ hzX torK
rL }rM (hTU hUjG ubah[j* ubhzX&