Obwohl es im Dokument nicht klar angegeben ist, scheint es, dass wir nicht auf lokale Variablen im Modul verweisen können und wir können nur die Ausgabe des Moduls sehen.
Das Folgende ist ein Beispiel:
$ tree
.
├── foo
│ └── bar.tf
├── main.tf
└── terraform.tfstate
1 directory, 3 files
main.tf
provider "null" {}
module "foo" {
source = "./foo"
}
foo/bar.tf
resource "null_resource" "bar" {}
output "bar_id" {
value = "${null_resource.bar.id}"
}
terraform.tfstate
{
"version": 3,
"terraform_version": "0.8.4",
"serial": 4,
"lineage": "9e66cc40-5dfa-4c4e-929e-bc02fa7db57e",
"modules": [
{
"path": [
"root"
],
"outputs": {},
"resources": {},
"depends_on": []
},
{
"path": [
"root",
"foo"
],
"outputs": {
"bar_id": {
"sensitive": false,
"type": "string",
"value": "1810628649389143335"
}
},
"resources": {
"null_resource.bar": {
"type": "null_resource",
"depends_on": [],
"primary": {
"id": "1810628649389143335",
"attributes": {
"id": "1810628649389143335"
},
"meta": {},
"tainted": false
},
"deposed": [],
"provider": ""
}
},
"depends_on": []
},
{
"path": [
"root",
"hoge"
],
"outputs": {},
"resources": {},
"depends_on": []
}
]
}
Es kann als module.foo.bar_id
bezeichnet werden:
$ terraform console
> module.foo.bar_id
1810628649389143335
Andere arbeiten nicht:
$ terraform console
> null_resource.bar.id
Resource 'null_resource.bar' not found for variable 'null_resource.bar.id'
> module.foo.null_resource.bar.id
Couldn't find output "null_resource.bar.id" for module var: module.foo.null_resource.bar.id