<?xml version="1.0" encoding="utf-8"?>
<creole>
    <files>
        <file filelist='samba-backup' name='/etc/samba/samba_backup.conf' rm='True'/>
        <file name='/etc/bareos/bareosfichiers.d/samba.conf' source='bareos-samba.conf' filelist='samba-backup-bareos' mkdir='True' rm='True'/>

        <file filelist='samba-backup-standalone' name='/etc/cron.d/samba-backup' source='samba-backup.cron' rm='True'/>
    </files>
    <variables>
        <family name='Active Directory' icon='group'>
            <variable name='activer_samba_backup' type='oui/non' description='Archiver les données du DC'/>
            <variable name='ad_backup_disable' type='oui/non' description='Variable intermédiaire pour l’activation des sauvegardes des données du DC'/>
            <variable name='samba_backup_bareos' type='oui/non' description='Sauvegarder les archives avec Bareos'>
                <value>oui</value>
            </variable>
            <variable name='calc_samba_backup_bareos' type='oui/non' description='Valeur par défaut pour pallier l’absence de Bareos'/>
            <variable name="samba_backup_dest_dir" type="filename" description="Destination de la sauvegarde" mandatory="True">
                <value>/home/backup/samba</value>
            </variable>
            <variable name="samba_backup_retention" type="number" mode="expert" description="Durée de rétention (jours)">
                <value>7</value>
            </variable>
            <variable name='samba_backup_interval' type='string' mode='expert' description='Intervalle de lancement de la sauvegarde (en heures)'>
                <value>24</value>
            </variable>
        </family>
        <separators>
            <separator name='activer_samba_backup'>Archivage des données du contrôleur de domaine</separator>
        </separators>
    </variables>
    <constraints>
        <check name='valid_enum' target='samba_backup_interval'>
            <param>['1', '2', '4', '8', '12', '24', '48']</param>
        </check>

        <auto name='calc_val_first_value' target='ad_backup_disable'>
            <param type='eole' optional='True' hidden='False'>ad_ro_dc</param>
            <param>non</param>
        </auto>
        <condition name='disabled_if_in' source='ad_server_role'>
            <param>membre</param>
            <target type='variable'>ad_backup_disable</target>
        </condition>
        <condition name='disabled_if_in' source='ad_backup_disable'>
            <param>oui</param>
            <target>activer_samba_backup</target>
        </condition>

        <condition name='disabled_if_in' source='activer_bareos_dir' fallback='True'>
            <param>non</param>
            <target type='variable'>samba_backup_bareos</target>
        </condition>
        <condition name='disabled_if_in' source='activer_samba_backup'>
            <param>non</param>
            <target type='filelist'>samba-backup</target>
            <target type='filelist'>samba-backup-standalone</target>
            <target type='filelist' optional='True'>samba-backup-bareos</target>
            <target type='variable' optional='True'>samba_backup_bareos</target>
            <target type='variable'>samba_backup_dest_dir</target>
            <target type='variable'>samba_backup_retention</target>
            <target type='variable'>samba_backup_interval</target>
        </condition>
        <fill name='calc_val_first_value' target='activer_samba_backup'>
            <param type='eole' optional='True'>activer_bareos_dir</param>
            <param>non</param>
        </fill>
        <auto name='calc_val_first_value' target='calc_samba_backup_bareos'>
            <param type='eole' hidden='False'>samba_backup_bareos</param>
            <param>non</param>
        </auto>
        <condition name='disabled_if_in' source='calc_samba_backup_bareos' fallback='True'>
            <param>oui</param>
            <target type='filelist'>samba-backup-standalone</target>
            <target type='variable'>samba_backup_interval</target>
        </condition>
        <condition name='disabled_if_in' source='samba_backup_bareos' fallback='True'>
            <param>non</param>
            <target type='filelist'>samba-backup-bareos</target>
        </condition>
    </constraints>
    <help>
        <variable name='activer_samba_backup'>Activer l’archivage des données du service Samba dans un répertoire local.</variable>
        <variable name='samba_backup_bareos'>Sauvegarder les archives grâce aux mécanismes Bareos (disponible uniquement si eole-bareos est installé et le service bareos-director activé).</variable>
        <variable name='samba_backup_dest_dir'>Répertoire dans lequel les archives seront écrites (dossier créé automatiquement si nécessaire et ajouté à la sauvegarde Bareos si ce mode est utilisé)</variable>
        <variable name="samba_backup_retention">Durée de conservation des archives en jours utilisé par le script de sauvegarde lui-même pour effacer les archives non modifiées depuis la durée indiquée.</variable>
        <variable name='samba_backup_interval'>Intervalle de lancement de la sauvegarde en heures, l’heure et le jour du premier lancement étant déterminé aléatoirement dans la plage horaire nocturne pour les fréquences de l’ordre du jour.</variable>
    </help>
</creole>
