我正在尝试使用terraform提供一个EC2示例,将一个cloudinit配置文件作为userdata传递给该示例。
作为cloudinit配置的一部分,我正在设置环境变量,其中一些变量是JSON字符串。
由terraform生成并传递给示例的用户数据看起来是正确的,用单引号括起来,但是当环境变量写入服务器上的文件时,引号被去掉,这会导致问题
下面是传递给EC2示例的用户数据的示例片段
#cloud-config
environment:
var: '{"key": "value"}'
然后在服务器上,环境文件(/etc/environment
)如下所示
var={"key": "value"}
但是在/etc/environment
中,我仍然需要被单引号包围
var='{"key": "value"}'
我尝试使用\'
转义引号,但这不是有效的YAML,因此用户数据失败并出现错误,对此有任何想法都将不胜感激。
1条答案
按热度按时间vcirk6k61#
看起来你可能需要一个YAML值的块。你可以使用
>
来实现。