Terraform - 3 Les blocs de haut niveau de Terraform
Le langage Terraform ne compte qu'un nombre limité de blocs de haut niveau. Ce sont les blocs qui peuvent apparaître en dehors de tout autre bloc dans un fichier de configuration. La plupart des fonctionnalités de Terraform reposent sur ces blocs.
Les blocs fondamentaux
Le bloc terraform définit les paramètres de Terraform. Le bloc provider indique le fournisseur utilisé, comme AWS, ainsi que ses paramètres.
Le bloc resource décrit les ressources à créer chez ce fournisseur. Ces trois blocs forment la base de toute configuration.
Les blocs variables
Les variables d'entrée reçoivent des valeurs de l'extérieur. Les valeurs de sortie exposent des résultats de la configuration. Les valeurs locales donnent un nom à une valeur réutilisée dans le fichier.
Ces trois éléments rendent une configuration paramétrable et plus lisible.
Les blocs d'appel et de référencement
Le bloc data obtient des informations auprès du fournisseur cloud, sans créer de ressource.
Le bloc module appelle un module et lui transmet des informations. On peut ainsi créer des ressources sans écrire directement un bloc resource.
En résumé
Terraform s'appuie sur des blocs de haut niveau, classés en trois catégories. Les blocs fondamentaux définissent Terraform, le fournisseur et les ressources. Les blocs variables gèrent les entrées, les sorties et les valeurs locales. Les blocs d'appel lisent des données ou appellent des modules.
Points clés
- Les blocs de haut niveau peuvent apparaître en dehors de tout autre bloc.
- Le bloc terraform définit les paramètres de Terraform.
- Les blocs provider et resource décrivent le fournisseur et les ressources.
- Les variables d'entrée, les valeurs de sortie et les valeurs locales forment les blocs variables.
- Les blocs data et module servent à appeler des informations ou des modules.
Questions fréquentes
Qu'est-ce qu'un bloc de haut niveau ?
C'est un bloc qui peut apparaître directement dans le fichier de configuration, en dehors de tout autre bloc.
Quelle différence y a-t-il entre resource et data ?
Le bloc resource crée une ressource. Le bloc data lit des informations auprès du fournisseur, sans créer de ressource.
Pourquoi classer les blocs en trois catégories ?
Ce classement permet de les apprendre dans un ordre logique : d'abord les fondamentaux, puis les variables, puis les appels.