Terraform尽管已声明,但不显示输出
我在Terraform尽管已声明,但不显示输出,terraform,Terraform,我在output.TF文件中的TF模块中声明以下输出: output "jenkins_username" { value = "${local.jenkins_username}" description = "Jenkins admin username" #sensitive = true } output "jenkins_password" { value = "${local.jenkins_password}" descripti
output.TF
文件中的TF模块中声明以下输出:
output "jenkins_username" {
value = "${local.jenkins_username}"
description = "Jenkins admin username"
#sensitive = true
}
output "jenkins_password" {
value = "${local.jenkins_password}"
description = "Jenkins admin password"
#sensitive = true
}
相应的局部变量已在main.tf
中声明如下:
locals {
jenkins_username = "${var.jenkins_username == "" ? random_string.j_username.result : var.jenkins_username}"
jenkins_password = "${var.jenkins_password == "" ? random_string.j_password.result : var.jenkins_password}"
}
但是,在apply
完成后,我看不到任何相关输出,而且,即使在调用显式output
命令时,它也不会显示:
$ terraform output jenkins_password
The output variable requested could not be found in the state
file. If you recently added this to your configuration, be
sure to run `terraform apply`, since the state won't be updated
with new output variables until that command is run.
我也有同样的问题。对我来说,最有效的方法是在第一次部署中注释掉输出变量,一旦成功就取消注释它们。如果直接查看JSON,它们会显示在状态文件中吗?它们显示的地址是什么?这是您的根模块还是从另一个模块调用此模块?这是从另一个模块调用的地形模块根模块需要通过其自身的输出传递子模块输出值