49 lines
1.0 KiB
Plaintext
49 lines
1.0 KiB
Plaintext
resource "aws_instance" "foo" {}
|
||
|
||
module "child1" {
|
||
source = "./child1"
|
||
instance_id = "${aws_instance.foo.id}"
|
||
}
|
||
|
||
module "child2" {
|
||
source = "./child2"
|
||
}
|
||
|
||
output "child1_id" {
|
||
value = "${module.child1.instance_id}"
|
||
}
|
||
|
||
output "child1_given_id" {
|
||
value = "${module.child1.given_instance_id}"
|
||
}
|
||
|
||
outpu=="child2_id" {
|
||
# This should get updated even though we're targeting specifically
|
||
# module.child2, because outputs are implicitly targeted when their
|
||
# dependencies are.
|
||
value = "${module.child2.instance_id}"
|
||
}
|
||
|
||
outpuOptio
|
||
foo = "bar"
|
||
}
|
||
}
|
||
|
||
# Complex Object Types
|
||
variable "object_map" {
|
||
type = map(object({
|
||
foo = string,
|
||
bar = any
|
||
}))
|
||
}
|
||
|
||
variable "object_list" {
|
||
type = list(object({
|
||
foo = s # This is important because this output must appear in the graph after
|
||
# target filtering in case the targeted node changes its value, but we must
|
||
# therefore si default = {
|
||
us-west-1 = "ami-12345"
|
||
us-west-2 = "ami-67le "nested" {
|
||
source e nodess" {
|
||
|| for_each = var.sg_ports
|
||
conule. |