Terraform应用失败-InvalidUserData.格式不正确:用户数据的BASE64编码无效



问题:如何在cdktf中使用base64encodeTerraform函数?

据我所知,这些Terraform函数还不受支持。还是现在呢?

我的用例是";加载用于ec2启动模板的BASE64编码的用户数据";

当我尝试使用nodejs方法来做同样的事情时:

import { readFileSync } from 'fs';`
.
.
const userTemplate = readFileSync('./user_template.txt', {encoding: 'utf-8'});
.
.
const launchTemplate = new LaunchTemplate(this, "launchTemplate", {
.
.
userData: userTemplate,
.

它失败,并出现以下错误:

错误:InvalidUserData。格式不正确:用户数据的BASE64编码无效

关于如何使用cdktf将userData传递到LaunchTemplate,有什么建议吗?

解决了这个问题。似乎由readFileSync创建的对象会根据您传递的内容返回缓冲区或字符串。当我像这个一样通过它时

const userTemplate = readFileSync('./user_template.txt', 'base64');

它返回以base64编码的字符串。这正是我所追求的。

最新更新