Comment puis-je vérifier if / else
dans le fichier yaml.
comme:
if %{attribute}
attributes:
shipping_comment: Shipping comment / Instructions
else
attributes:
shipping_date: Date
YAML est un langage de sérialisation de données, il n'est donc pas conçu pour contenir des instructions exécutables de style if
/else
: c'est la responsabilité du langage de programmation que vous utilisez.
Un exemple simple en Ruby pour déterminer quelle chaîne de configuration d'un fichier YAML à la sortie pourrait être la définition de votre fichier de configuration YAML comme suit:
data.yml
attributes:
shipping_comment: Shipping comment / Instructions
shipping_date: Date
Ensuite, dans votre programme, lisez le fichier et exécutez-y la condition:
shipping.rb
#!/usr/bin/env Ruby
require 'yaml'
config = YAML.load_file('data.yml')
attribute = true # your attribute to check here
if attribute
puts config['attributes']['shipping_comment']
else
puts config['attributes']['shipping_date']
end
Les fichiers .yaml prêts à l'emploi n'incluent aucune logique conditionnelle, car Paul Fioravanti dit:
YAML est un langage de sérialisation de données, il n'est donc pas destiné à contenir des instructions exécutables de style if/else: c'est la responsabilité du langage de programmation que vous utilisez.
Cependant, dans certains cas, tels que Infrastructure en tant que code, vous n’avez peut-être pas le luxe de trouver la solution de Paul. Dans ces cas, la plupart des outils d'infrastructure décents fournissent un moyen intégré de mise en œuvre de la logique conditionnelle.
Comme il semble que l’infra ne soit pas le domaine dans lequel vous souhaitez effectuer votre recherche, je ne vais pas entrer dans les détails sur la façon d’écrire chaque solution d’outils, mais pour tous ceux qui se retrouvent ici comme moi, les documents de ce type m’ont aidé et pourraient prouver utile pour vous: