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
传递给您尝试创建的任何资源
我使用 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
传递给您尝试创建的任何资源