terraform0.12+ - 将变量传递给 Terraform 模块中的 .sh 脚本
问题描述
我试图将变量传递给 Terraform 模块“matti/resource/shell”中的 .sh 脚本,但它不起作用。
在 main.tf 中:
module "account_create" {
source = "matti/resource/shell"
command = "/bin/bash ${path.module}/create_account.sh"
}
在 create_account.sh
#!/bin/bash
curl -X POST -H 'api-key:'"$API_KEY"'' -H 'Content-Type:application/json' -d '{"account":{"name":"$ACCOUNT_NAME"}, "users":[{"email":"$EMAIL", "password":"$PASSWORD", "first_name":"$FIRST_NAME", "last_name":"$LAST_NAME", "role":"readonly", "owner":"true"}]}' https://***/accounts > /tmp/return.json
在变量.tf
variable "API_KEY" {
description = "API Key"
default = "***"
}
我不知道为什么会发生这种情况。
解决方案
我找到了解决方案:在模块中添加 environment = { var.abc }。
推荐阅读
- c++ - 特征模板函数正确声明
- javascript - 使用浏览器javascript,如何获取用户指定本地目录的文件和子文件夹的内容
- android - Android x PreferenceFragmentCompat 重叠 androidx.fragment.app.Fragment
- github - Github 全局默认问题模板不起作用
- python - 如何在存储过程中使用 python 传递对象类型作为 IN OUT 参数
- node.js - 包含在包含在续集中
- excel - 从 Excel(Visual Basic) 中删除不需要的字符
- java - 加强新线问题
- javascript - 画布用边框画线
- r - 致命错误:以用户身份启动 Linux R 时无法创建“R_TempDir”,但不能以 root 身份启动