有什么方法可以在Terraform控制台中获取局部变量吗?
> local.name
unknown values referenced, can't compute value
Run Code Online (Sandbox Code Playgroud)
似乎Terraform控制台仅允许检查输入变量和模块输出变量。
> var.in
2
> module.abc.out
3
Run Code Online (Sandbox Code Playgroud)
配置文件示例:
# main.tf
locals {
name = 1
}
variable "in" {
value = 2
}
module "abc" {
source "path/to/module"
}
# path/to/module/main.tf
output "out" {
value = 3
}
Run Code Online (Sandbox Code Playgroud)
nob*_*bar 20
这应该适用于最近的 Terraform 版本。
$ terraform version
Terraform v1.0.5
$ terraform console
> local.name
1
> var.in
2
Run Code Online (Sandbox Code Playgroud)
例如,它可以使用 Bash here string编写脚本(非交互式) 。
$ terraform version
Terraform v1.0.5
$ terraform console
> local.name
1
> var.in
2
Run Code Online (Sandbox Code Playgroud)
这对于自定义工具可能非常有用,甚至可能非常复杂。
$ terraform console <<<local.name
1
Run Code Online (Sandbox Code Playgroud)
测试的'main.tf'
locals {
name = 1
stack = terraform.workspace
credentials={
default: {username:"user1234",password:"1234",endpoint:"http://localhost"}
}
}
variable in {
default = 2
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,看起来这在Terraform v0.11.x中是不可能的,但将在v0.12中出现,如本发行通知中所述:
https://github.com/hashicorp/terraform/issues/18413
HTH!
| 归档时间: |
|
| 查看次数: |
2742 次 |
| 最近记录: |