Aller au contenu

Variables de substitution

Les variables de substitution permettent à un administrateur de laisser certaines valeurs YAML ouvertes jusqu’à l’envoi. Elles sont utiles pour les configurations partagées et les secrets fournis par une plateforme d’automatisation.

Déclarez chaque nom sous template:, puis utilisez ${NOM} dans une URL ou l’un de ses paramètres :

apprise.yml
template:
recipient:
smtp_host: smtp.example.com
urls:
- mailtos://user:password@example.com/:
- smtp: ${SMTP_HOST}
to: ${RECIPIENT}
tag: alerts

recipient doit être fourni plus tard. smtp_host possède une valeur par défaut.

  • Les variables fonctionnent uniquement dans une configuration YAML.
  • Un marqueur est remplacé seulement si son nom est déclaré sous template:. Un texte ${NOM} non déclaré reste inchangé.
  • tag: et tags: ne peuvent pas contenir de marqueur.
  • Le nom du service avant :// ne peut pas être une variable. Par exemple, ${SERVICE}://... est invalide.
  • Les noms ne sont pas sensibles à la casse et acceptent les lettres, les chiffres et le caractère de soulignement.
  • Les valeurs sont insérées une seule fois et restent autrement inchangées.

S’il manque encore une valeur, Apprise ignore l’entrée concernée et poursuit avec les autres.

Apprise utilise la première valeur disponible dans cet ordre :

  1. Une valeur fournie avec la notification
  2. La valeur par défaut sous template:
  3. La variable d’environnement APPRISE_TEMPLATE_<NOM>

Les valeurs vides venant d’une notification ou de l’environnement sont ignorées. Une chaîne YAML explicitement vide, comme nom: "", reste une valeur par défaut valide.

Déclarez les noms sous forme de mappage, comme ci-dessus, ou de liste :

template:
- recipient
- smtp_host: smtp.example.com

Les deux formes ont le même effet. Un nom sans valeur doit être fourni lors de l’envoi ou par l’environnement.

Un marqueur peut se trouver directement dans une URL ou dans un paramètre YAML nommé :

urls:
# La valeur remplit cette partie de l'URL
- mailtos://user:password@example.com/${RECIPIENT}
# La valeur reste limitée à l'option « to »
- mailtos://user:password@example.com/:
- to: ${RECIPIENT}

Les caractères comme /, ?, &, #, @ et : restent dans le champ choisi et ne deviennent pas de nouvelles options d’URL. Lorsqu’un seul marqueur remplace l’hôte ou le nom d’utilisateur en entier, il peut aussi fournir une forme compatible utilisateur@hôte ou utilisateur:mot-de-passe. Certains services valident les champs au chargement ; si un marqueur est refusé, utilisez un autre emplacement compatible ou un paramètre nommé.

  • Un nom peut être utilisé plusieurs fois et reçoit partout la même valeur.
  • Une valeur fournie contenant ${AUTRE} n’est pas développée de nouveau.
  • Les noms supplémentaires sont ignorés et consignés par nom dans le journal de débogage local.
  • Les noms peuvent comporter jusqu’à 32 caractères et les valeurs jusqu’à 1 024 caractères.
  • Répéter une section template: ou urls: rend le YAML invalide.
  • Si certaines entrées correspondantes sont envoyées et que d’autres manquent de valeurs, le résultat est PARTIAL. Si toutes manquent d’une valeur, le résultat est FAILURE.
Questions ou commentaires ?

Documentation

Vous avez repéré une faute de frappe ou une erreur ?

Problèmes Techniques

Vous rencontrez un problème avec le code ? Ouvrez un ticket sur GitHub :

Conçu avec amour depuis le Canada