terraform - 如何在 terraform EC2 启动模板用户数据中使用模板文件?
问题描述
我正在使用用户数据 powershell 脚本设置 EC2 启动模板,并希望能够在脚本本身中使用 templatefile。我能够通过自动缩放启动配置来做到这一点,因为它接受用户数据作为字符串。对于 EC2 启动模板,它要求它是一个 base64 编码的字符串,它似乎不接受这一点:
user_data = "${base64encode(<<EOF
<powershell>
$file_content = @"
${templatefile("myfile.txt", var.myfilevars)}
"@
</powershell>
EOF"
)}"
是否有上述的变化会起作用?或者另一种方式来实现这一点?
解决方案
我想你可能有一个额外的双引号"
,特别是在你之后的那个EOF
。
尝试这个:
user_data = "${base64encode(<<EOF
<powershell>
$file_content = @"
${templatefile("myfile.txt", var.myfilevars)}
"@
</powershell>
EOF
)}"
推荐阅读
- c# - 在图像控件 WPF 中显示 UIelement(Visual) 的渲染图像
- yii - Yii2控制器允许所有人访问
- c++ - Vector 似乎会根据使用位置改变类型
- google-apps-script - 将 Google Apps 脚本库变成……扩展?
- java - 显示来自 txt 文件 java 的 5 个最高分数
- optimization - 使用多维测试数据优化输出
- php - 在 PHP 中,foreach 语法有区别吗
- python - 安装pyqtgraph后,依然报ImportError
- vue.js - Visual Studio 代码:初始 VueJS 设置找不到模块“@/..”
- jsf - 选择 Java 8 作为运行时的 Websphere 8.5 是否支持 JSF 1.1?