1.output模块简介
官网介绍:https://developer.hashicorp.com/terraform/language/values/outputs
使用说明:
output "ecs_public_ip" {value = alicloud_instance.instance.public_ip
}
output "ecs_passwd" {value = value = alicloud_instance.instance.passwordsensitive = truedescription = "This is ecs instance password"
}
# /root/modules/ecs/output.tf
output "ecs_public_ip_moduleoutput" {
# 这⾥的value引⽤本模块main.tf中的alicloud_instance.instance.public_ipvalue = alicloud_instance.instance.public_ip
}# /root/output.tf
output "ecs_public_ip" {
# 这⾥的value引⽤⼦模块ecs中的module.ecs.ecs_public_ip_moduleoutputvalue = module.ecs.ecs_public_ip_moduleouput
}
总结:
1.在运⾏ terraform apply 后,根模块会在终端中打印输出值。2.输出值只有在执⾏ terraform apply 后才会被计算,使⽤ terraform plan 并不会计算输出值。3.⼦模块可以使⽤输出将其资源属性的⼦集暴露给⽗模块。4.⼦模块的output.tf只会应⽤到本层级中,不会传递到根⽬录。若需要传递到根⽬录,需要在根⽬录的output.tf⽂件中定义块引⽤⼦层级中的output.tf中的值。
通过两次输出,使得主⽂件中的output变量能够输出到命令⾏中。