我有一个 terraform 配置,它创建一个带有访问密钥的 AWS IAM 用户,并将 id 和 Secret 分配给输出变量:
...
resource "aws_iam_access_key" "brand_new_user" {
user = aws_iam_user.brand_new_user.name
}
output "brand_new_user_id" {
value = aws_iam_access_key.brand_new_user.id
}
output "brand_new_user_secret" {
value = aws_iam_access_key.brand_new_user.encrypted_secret
sensitive = true
}
Here brand_new_user_secret
被声明为敏感,所以terraform output
显然不打印它。
有没有办法在不解析整个状态文件的情况下获取其输出值?
尝试直接访问它(terraform output brand_new_user_secret
)不起作用(导致错误“在状态文件中找不到请求的输出变量...”)。
地形版本:0.12.18
我有一些希望避免它,但到目前为止我没有找到比解析 terraform 状态更好的方法:
terraform state pull | jq '.resources[] | select(.type == "aws_iam_access_key") | .instances[0].attributes'
这将产生类似于以下的结构:
{
"encrypted_secret": null,
"id": "....",
"key_fingerprint": null,
"pgp_key": null,
"secret": "....",
"ses_smtp_password": "....",
"ses_smtp_password_v4": null,
"status": "Active",
"user": "...."
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)