rougail/doc/service/ip.md

1.7 KiB

La gestion d'une IP

La balise IP

La gestion des IP se fait dans un conteneur de service.

La déclaration de l'attribut permet d'associer une IP autorisé à accéder au service.

Il est nécessaire, au minimum, de spécifier le nom d'une variable de type "IP" :

<ip ip_type="variable">variable_ip</ip>

En YAML :

ip:
- ip_type: variable_ip
  text: variable_ip

La gestion d'un réseau

L'adresse peut être de type réseau ("network") :

<ip netmask="variable_netmask">variable_ip</ip>

En YAML :

ip:
- netmask: variable_netmask
  text: variable_ip

Attention, dans ce cas il faut préciser une variable de type "netmask" dans l'attribut netmask.

Désactiver la génération d'une IP

Il est possible de définir une condition de type "disabled_if_in" ou "disabled_if_not_in" sur une balise IP :

<services>
  <service name="test">
    <ip iplist="test_ip">variable_ip</ip>
  </service>
</services>
<variables>
  <variable name="condition" type="boolean"/>
  <variable name="variable_ip" type="ip"/>
</variables>
<constraints>
  <condition name="disabled_if_in" source="condition">
    <param>False</param>
    <target type="iplist">test_ip</target>
  </condition>
</constraints>

En YAML :

services:
- service:
  - name: test
    ip:
    - iplist: test_ip
      text: variable_ip
variables:
- variable:
    name: condition
    type: boolean
- variable:
    name: variable_ip
    type: ip
constraints:
- condition:
  - name: disabled_if_in
    source: condition
    param:
    - text: false
    target:
    - type: iplist
      text: test_ip

Dans ce cas, tous les IP avec un attribut iplist à "test_ip" seront désactivé si la variable "condition" est False.