<?xml version="1.0" encoding="utf-8"?>
<rougail version="0.10">
  <services>
    <service name="base" manage="False">
      <file engine="none">/etc/locale.conf</file>
    </service>
  </services>
  <variables>
    <family name='general' description="Général">
      <variable name="zones_list" type="string" multi="True" description="Liste de toutes les zones" hidden="True"/>
      <variable name="number_of_interfaces" type="number" description="Nombre d'interface disponible" hidden="True"/>
      <variable name="interfaces_list" type="number" multi="True" description="Liste de toutes les interfaces" hidden="True"/>
      <variable name="server_deployed" type="boolean" description="Le serveur est déployé" hidden="True">
        <value>False</value>
      </variable>
    </family>
    <family name="dns" description="DNS">
      <variable name="dns_client_address" type="domainname" description="Nom de domaine du serveur SMTP"/>
      <variable name="ip_dns" type="ip" description="The DNS server" hidden="True"/>
    </family>
    <family name="interface_" description="Interface " dynamic="interfaces_list">
      <variable name="zone_name_eth" type="string" description="Zone name for interface " hidden="True"/>
      <variable name="ip_eth" type="ip" description="Adresse IP pour l'interface " hidden="True" provider="ip"/>
      <variable name="network_eth" type="network_cidr" description="The zone network for interface " hidden="True"/>
      <variable name="gateway_eth" type="ip" description="The zone gateway for interface "/>
      <variable name="domain_name_eth" type="domainname" description="Nom de domaine pour l'interface " mandatory="True" hidden="True"/>
    </family>
  </variables>
  <constraints>
    <fill name="set_linked">
      <param name="linked_server" type="variable">dns_client_address</param>
      <param name="linked_provider">dns</param>
      <param name="linked_value" type="variable">ip_eth0</param>
      <param name="linked_returns">ip</param>
      <target>ip_dns</target>
    </fill>
    <fill name="get_number_of_interfaces">
      <param type="information">zones_name</param>
      <target>number_of_interfaces</target>
    </fill>
    <fill name="calc_value">
      <param type="information">zones_name</param>
      <target>zones_list</target>
    </fill>
    <fill name="get_range">
      <param type="variable">number_of_interfaces</param>
      <target>interfaces_list</target>
    </fill>
    <fill name="get_ip">
      <param name="server_name" type="information">server_name</param>
      <param name="zones_name" type="information">zones_name</param>
      <param name="index" type="suffix"/>
      <target>ip_eth</target>
    </fill>
    <!-- Return "server_name" only for domain_name_eth0 -->
    <fill name="get_domain_name">
      <param type="information">server_name</param>
      <param type="information">extra_domainnames</param>
      <param type="suffix"/>
      <target>domain_name_eth</target>
    </fill>
    <fill name="get_zone_name">
      <param type="information">zones_name</param>
      <param name="index" type="suffix"/>
      <target>zone_name_eth</target>
    </fill>
    <fill name="zone_information">
      <param type="variable">zone_name_eth</param>
      <param>network</param>
      <target>network_eth</target>
    </fill>
    <fill name="zone_information">
      <param type="variable">zone_name_eth</param>
      <param>gateway</param>
      <param name="index" type="suffix"/>
      <target>gateway_eth</target>
    </fill>
    <check name="valid_entier">
      <param name="mini" type="number">1</param>
      <target>number_of_interfaces</target>
    </check>
  </constraints>
</rougail>