Terraform 0.12 – DĂ©pendance explicite entre les modules

Le refactoring nous attend 🙂

Des modules isolés, mais plus longtemps !

Une chose à toutefois attiré mon attention, il s’agit d’un bref passage détaillant une fonctionnalité qui restait encore à implanter dans cette version : le support de la clause depends_on pour les modules.

 

L’idée est bonne, et très attendu par une partie de la communauté d’utilisateur… mais pas encore terminé d’être implémenté car demandant une refonte du cœur de Terraform, et notamment de sa façon de générer le graphe décrivant les relations entre les providers, data et ressources que l’on a défini.

Finalement, il faut encore bidouiller un peu ?

Hé oui ce n’est pas encore si derrière nous que ça, mais bonne nouvelle ! Il est possible d’exprimer une certaine notion de dépendance explicite entre les modules.

 

C’est l’heure de tester ! L’objectif est de faire écrire à Terraform “Bonjour Synograph France” dans un fichier avec le même module, en trois appels distincts, responsable donc d’un mot à la fois.

Et si on testait déjà le comportement par défaut ?

main.tf module print_string :

				
					module "bonjour" {
source = "./print_string"

string = "Bonjour "
}

module "synograph" {
source = "./print_string"

string = "Synograph "
}

module "france" {
source = "./print_string"

string = "France"
}
				
			

main.tf principal :

				
					resource "null_resource" "print_string" {
provisioner "local-exec" {
command = "printf ${var.string} >> /tmp/testTerraform"
}
}

variable "string" {
default = ""
}