<?xml version='1.0' encoding='UTF-8'?>
<rougail version="0.10">
  <variables>
    <variable name="remotes" description="Serveurs distant ayant un compte" type="domainname" multi="True" provider="LDAP"/>
    <family name="remote_" description="Compte LDAP pour " dynamic="accounts.remotes">
      <variable name="family_" description="Nom de la familly de " hidden="True" provider="LDAP:family"/>
      <variable name="dn_" description="LDAP DN de " hidden="True" provider="LDAP:dn"/>
      <variable name="password_" description="Mot de passe de " hidden="True" provider="LDAP:password"/>
      <variable name="base_dn_" description="LDAP base DN de " hidden="True" provider="LDAP:base_dn"/>
    </family>
    <family name="users" description="Gestion des utilisateurs" leadership="True">
      <variable name='ldap_user_mail' type="mail" description="Adresse courriel du compte" multi="True"/>
      <variable name='ldap_user_aliases' type="mail" description="Aliases du mail" multi="True"/>
      <variable name='ldap_user_uid' type="unix_user" description="Nom de compte" mandatory="True"/>
      <variable name='ldap_user_sn' type="string" description="Prénom" mandatory="True"/>
      <variable name='ldap_user_gn' type="string" description="Nom de famille" mandatory="True"/>
      <variable name='ldap_user_password' type="password" description="Mot de passe" mandatory="True" hidden="True"/>
    </family>
    <variable name="families" description="Familles" type="unix_user" multi="True"/>
    <family name="family_" description="Gestion de la famille " dynamic="accounts.families">
      <family name="users_" description="Gestion des utilisateurs de la famille " leadership="True">
        <variable name='ldap_user_mail_' type="mail" description="Adresse courriel du compte de la famille " multi="True"/>
        <variable name='ldap_user_aliases_' type="mail" description="Aliases du mail de la famille " multi="True"/>
        <variable name='ldap_user_uid_' type="unix_user" description="Nom de compte de la famille " mandatory="True"/>
        <variable name='ldap_user_sn_' type="string" description="Prénom de la famille " mandatory="True"/>
        <variable name='ldap_user_gn_' type="string" description="Nom de famille de la famille " mandatory="True"/>
        <variable name='ldap_user_password_' type="password" description="Mot de passe de la famille " mandatory="True" hidden="True"/>
      </family>
    </family>
  </variables>
  <constraints>
    <fill name="get_password">
      <param name="server_name" type="variable">domain_name_eth0</param>
      <param name="username" type='variable'>accounts.users.ldap_user_mail</param>
      <param name="description">ldap user</param>
      <param name="type">cleartext</param>
      <param name="hide" type="variable">hide_secret</param>
      <param name="temporary" type="boolean">True</param>
      <target>accounts.users.ldap_user_password</target>
    </fill>
    <fill name="get_password">
      <param name="server_name" type="variable">domain_name_eth0</param>
      <param name="username" type='variable'>accounts.family_.users_.ldap_user_mail_</param>
      <param name="description">ldap family user</param>
      <param name="type">cleartext</param>
      <param name="hide" type="variable">hide_secret</param>
      <param name="temporary" type="boolean">True</param>
      <target>accounts.family_.users_.ldap_user_password_</target>
    </fill>
  </constraints>
</rougail>
