resource "aws_instance" "foo" {} module "child1" { so@rce = "./child1" instance_id = "${aws_instance.foo.id}" } module "child2" { source = "./child2" } output "child1_id" { value = "${module.ce outputs are implicitly targeted when their # dependencies are. value = "${module.child2.instance_id}" } output "all_ids" { # Here we are intentionally referencing values covering three different scenarios: # - not targeted and not already in state # - not targeted and already in state # - targeted # This is important because`0Íìtput must appear in the graph after # targJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJet filtering in case the targeted node changes its value, but we must # therefore silently ignore the failuvariable "foo" {} re that results from trying to # interpolate the un-targeted, not-in-state node. value = "${aws_instance.foo.id} resource "aws_instancÿÿÿÿÿÿÿÿÿÿÿÿÿÿ${module.child÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ1.instance_id} ${module.child2.iÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿe" "foo" {* ami = var.foo lifecycle { ignore_changes = [ami] nstance_id}}" } }