【发布时间】:2021-12-26 12:49:35
【问题描述】:
使用 Pulumi,我创建了一个 EFS 文件系统。
我想通过添加以下内容将挂载添加到启动配置用户数据:
mount -t efs -o tls fs-xxx:/ /mnt/efs。
如何将 efs.id 添加到启动配置用户数据?
(我无法将输出转换为字符串)
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-efs pulumi
使用 Pulumi,我创建了一个 EFS 文件系统。
我想通过添加以下内容将挂载添加到启动配置用户数据:
mount -t efs -o tls fs-xxx:/ /mnt/efs。
如何将 efs.id 添加到启动配置用户数据?
(我无法将输出转换为字符串)
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-efs pulumi
您无法将输出转换为字符串,但您可以在输出解析后写入字符串。您可以使用 apply 来执行此操作。
您还可以使用@pulumi/cloudinit 包来简化此操作。
以下示例是打字稿,但应该适用于所有 Pulumi SDK:
import * as cloudinit from "@pulumi/cloudinit";
const efs_fs = new aws.efs.FileSystem("foo", {
});
const userData = efs_fs.id.apply(id => cloudinit.getConfig({
gzip: false,
base64Encode: false,
parts: [{
contentType: "text/cloud-config",
content: JSON.stringify({
packages: [
],
mounts: [\"${id}\", '/mnt/efs'],
bootcmd: [
],
runcmd: [
]
})
},
然后您可以将userData.rendered 传递给您尝试创建的任何资源
【讨论】: