Pulumi - EFS Id 输出到 EC2 LaunchConfiguration UserData

Pulumi - EFS Id output to EC2 LaunchConfiguration UserData

我使用 Pulumi 创建了一个 EFS 文件系统。 我想通过添加将挂载添加到启动配置用户数据中: mount -t efs -o tls fs-xxx:/ /mnt/efs。 如何将 efs.id 添加到启动配置用户数据? (我无法将输出转换为字符串)

您无法将输出转换为字符串,但您可以在输出解析后写入字符串。您可以使用 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 传递给您尝试创建的任何资源