我正在使用用户数据powershell脚本设置EC2启动模板,并希望能够在脚本本身中使用templatefile。我能够使用自动缩放启动配置来执行此操作,因为它接受用户数据作为字符串。使用EC2启动模板,它要求它是base64编码的字符串,并且它似乎不接受:
user_data = "${base64encode(<<EOF
<powershell>
$file_content = @"
${templatefile("myfile.txt", var.myfilevars)}
"@
</powershell>
EOF"
)}"
以上是否有可行的变体?还是另一种方式来实现这一目标?
答案 0 :(得分:2)
我认为您可能会有一个额外的双引号"
,尤其是在EOF
之后的那一个。
尝试一下:
user_data = "${base64encode(<<EOF
<powershell>
$file_content = @"
${templatefile("myfile.txt", var.myfilevars)}
"@
</powershell>
EOF
)}"