L'extension Visual Studio Code Terraform
Comme pour Ansible, Terraform utilise un langage de type descriptif pour
décrire le résultat attendu. HashiCorp plutôt que d’utiliser du YAML
à
préférer créer son propre langage de description, le HCL
, venant bousculer
nos habitudes. C’est vrai du YAML
on en voit partout.
Heureusement HashiCorp fourni une extension Visual Code permettant d’écrire plus rapidement du code HCL : Le lien vers le market place ↗
Fonctionnalité de l’extension Terraform
Bien sûr, nous allons tout de suite profitez la coloration syntaxique, mais ce n’est pas tout !
Autocomplétion
Cette extension prend en charge l’auto-complétion pour les providers, les ressources, les sources de données, les attributs, les modules, etc.
Le raccourci [CTRL]+[SPACE] permet de :
- De créer directement tout type de bloc avec le choix des types en fonction des providers installés.
- Faire apparaître les options possibles des ressources, des sources de données, etc.
Validation de la syntaxe
La syntaxe du code est validé directement à l’aide de la commande terraform validate
. Pour rappel, cette
commande ↗ ne se connecte pas
aux services distants pour faire ses contrôles.
Comptage des références utilisées
En activant cette fonctionnalité Vs Code affiche le nombre de fois ou cette référence de bloc est utilisé dans le code. En cliquant sur ce compteur vous pourrez ensuite naviguer partout où elles sont utilisées.
Navigation dans la structure du projet
Dans l’onglet explorateur de Visual Code, la structure du projet permet de naviguer plus rapidement dans le code.
Formatage du code
Pour formater le code il suffit d’utiliser le raccourci [Maj]+[Alt]+[F]
Explorateur de module et providers
Configuration
La plupart des paramètres sont accessibles via l’interface de Visual Code mais certaines non :-(. Le mieux est d’aller sur la documentation de l’extension ↗.
Achèvement du code
Cette extension possède des fonctionnalités expérimentales dont l’achèvement de code. Cette fonctionnalité permet quand on crée un bloc de préremplir celui-ci avec les paramètres obligatoires.