- Lors de la mise en place d’une infrastructure dans le cloud, il est préférable d’utiliser un outil d’IaC plutôt que de la construire via une console web, afin de prendre en compte la réduction des coûts, l’amélioration de la vitesse de déploiement, la cohérence, la stabilité et la réutilisabilité
- Terraform est open source et c’est l’outil d’IaC le plus utilisé
- Pour écrire du code Terraform de manière efficace et pertinente, il est important d’utiliser correctement les fonctionnalités fournies par Terraform
- Boucles Terraform
- Les langages déclaratifs classiques n’ont généralement pas de boucles, mais Terraform prend en charge diverses fonctions permettant d’en utiliser
- Les principales boucles utilisées sont :
count, for_each
- Paramètre
count : répétition des ressources et des modules
- Expression
for_each : répétition des ressources, des blocs inline à l’intérieur des ressources et des modules
- Comment utiliser chaque boucle
count : permet de créer rapidement et simplement des ressources lorsque celles à générer sont presque identiques et ne changent pas
for_each : permet de créer et modifier de façon sûre des ressources avec des noms uniques, contenant des données, ou qui ne doivent pas être recréées
- Count
- Le paramètre
count accepte un entier et répète une ressource entière ou un module pour les créer
- Avec une configuration basée sur
count, on peut utiliser count.index pour accéder à l’index créé par count
- Limitations de
count
count répète l’ensemble de la ressource, mais ne répète pas les blocs inline à l’intérieur de la ressource
- Si l’on supprime une valeur intermédiaire parmi les ressources créées avec
count, toutes les valeurs suivantes sont supprimées puis recréées. Le résultat final est identique, mais cela peut poser problème pour des ressources qui ne doivent pas être recréées
- For_each
- L’expression
for_each itère sur une list, un set ou une map pour répéter une ressource entière, des blocs inline dans une ressource, ou un module
- Avec une configuration basée sur
for_each, on peut utiliser each.key et each.value pour accéder à la clé et à la valeur correspondantes
- Lorsqu’on utilise
for_each sur une ressource, les listes ne sont pas prises en charge
- Dans la collection, on définit le set ou la map à parcourir, puis dans la configuration,
each.value permet de récupérer la clé et la valeur définies dans la collection
Aucun commentaire pour le moment.