Terraform 临时输出
Terraform ad-hoc output
是否可以要求 Terraform 提供临时输出?查看文档:
我需要向脚本添加输出定义,例如:
output "instance_ips" {
value = aws_instance.web.*.public_ip
}
然后运行terraform apply
,最后terraform output instance_ips
。
我经常想检查一个值,例如。在设置依赖资源时。我希望能够 运行 像这样的东西:
terraform output -adhoc 'aws_instance.web.*.public_ip'
terraform output
命令和 terraform console
命令都从最新的 Terraform 状态快照中得出它们的结果,这就是为什么你需要 运行 terraform apply
为了创建一个包含您要引用的数据的新状态快照。
如果在根模块中声明了此输出值,那么 Terraform 还应将其作为 terraform plan
输出的一部分包含在内,以便您查看 Terraform 在应用计划后期望它采用的值。
Changes to outputs:
+ instance_ips = [
+ "10.2.3.4",
]
但是,Terraform 只能对完全从您在配置中静态定义的数据派生的值或 提供商能够在规划阶段预测的值执行此操作. public EC2 实例的 IP 地址仅作为创建它的一部分而确定,因此在您的情况下,您更有可能看到信息较少的内容:
Changes to outputs:
+ instance_ips = [
+ (known after apply),
]
(known after apply)
占位符表示提供者在计划的更改之一完成之前无法预测值的情况。在那种情况下,如果不先 运行ning terraform apply
就无法看到这个值,因为它正在应用实际决定值的更改。
是否可以要求 Terraform 提供临时输出?查看文档:
我需要向脚本添加输出定义,例如:
output "instance_ips" {
value = aws_instance.web.*.public_ip
}
然后运行terraform apply
,最后terraform output instance_ips
。
我经常想检查一个值,例如。在设置依赖资源时。我希望能够 运行 像这样的东西:
terraform output -adhoc 'aws_instance.web.*.public_ip'
terraform output
命令和 terraform console
命令都从最新的 Terraform 状态快照中得出它们的结果,这就是为什么你需要 运行 terraform apply
为了创建一个包含您要引用的数据的新状态快照。
如果在根模块中声明了此输出值,那么 Terraform 还应将其作为 terraform plan
输出的一部分包含在内,以便您查看 Terraform 在应用计划后期望它采用的值。
Changes to outputs:
+ instance_ips = [
+ "10.2.3.4",
]
但是,Terraform 只能对完全从您在配置中静态定义的数据派生的值或 提供商能够在规划阶段预测的值执行此操作. public EC2 实例的 IP 地址仅作为创建它的一部分而确定,因此在您的情况下,您更有可能看到信息较少的内容:
Changes to outputs:
+ instance_ips = [
+ (known after apply),
]
(known after apply)
占位符表示提供者在计划的更改之一完成之前无法预测值的情况。在那种情况下,如果不先 运行ning terraform apply
就无法看到这个值,因为它正在应用实际决定值的更改。