Existe-t-il un moyen d'utiliser une sortie de modèle Terraform vers l'entrée d'un autre modèle Terraform?
Ex: J'ai un modèle Terraform qui crée un ELB et j'ai un autre modèle Terraform qui va créer un groupe de mise à l'échelle automatique qui a besoin des informations ELB comme variable d'entrée.
Je sais que je peux utiliser le script Shell pour grep
et alimenter les informations ELB, mais je cherche un moyen Terraform pour le faire.
Avez-vous essayé d'utiliser l'état distant pour remplir votre deuxième modèle?
Déclarez-le comme ceci:
resource "terraform_remote_state" "your_state" {
backend = "s3"
config {
bucket = "${var.your_bucket}"
region = "${var.your_region}"
key = "${var.your_state_file}"
}
}
Et puis vous devriez pouvoir retirer votre ressource directement comme ceci:
your_elb = "${terraform_remote_state.your_state.output.your_output_resource}"
Si cela ne fonctionne pas pour vous, avez-vous essayé d'implémenter votre ELB dans un module, puis d'utiliser simplement la sortie?
https://github.com/terraform-community-modules/tf_aws_elb est un bon exemple de la façon de structurer le module.
On dirait que dans les versions plus récentes de Terraform, vous accéderiez à la sortie var comme ceci
your_elb = "${data.terraform_remote_state.your_state.your_output_resource}"
Tout le reste est le même, juste comme vous l'avez référencé.