CDKTF 中的数据源
Data sources in CDKTF
我正在尝试将我的一个简单堆栈从 HCL 复制到 TypeScript(使用 CDKTF),我在设置数据源以获取 AMI 列表时遇到问题。这就是我想要做的:
const amis = new ec2.DataAwsAmiIds(this, "ami-ids", {
owners: ["amazon"],
nameRegex: "^amzn2-ami-hvm-*-x86_64-ebs",
filter: [{
name: "name",
values: ["amzn2-ami-hvm-*-x86_64-ebs"]
}]
});
然后我尝试这样引用它:
const instance = new ec2.Instance(this, "instance", {
instanceType: "t2.micro",
ami: `${amis.id}`,
...
我遇到的问题是这个值将是一个令牌 (${TfToken[TOKEN.1]}
),我如何从中获取字符串值以便能够将其传入?谢谢
同样的事情也适用于使用 TLS 提供商生成密钥对,这里是完整的 source code。
ec2.DataAwsAmiIds
将具有 ids
的属性;在合成期间,您会看到它表示为令牌,但它将呈现为地形 JSON 中的地形参考。它是令牌的原因是因为它代表的信息只有 during/after Terraform 运行时,可以在此处查看更多信息:https://www.terraform.io/cdktf/concepts/tokens#tokens
我正在尝试将我的一个简单堆栈从 HCL 复制到 TypeScript(使用 CDKTF),我在设置数据源以获取 AMI 列表时遇到问题。这就是我想要做的:
const amis = new ec2.DataAwsAmiIds(this, "ami-ids", {
owners: ["amazon"],
nameRegex: "^amzn2-ami-hvm-*-x86_64-ebs",
filter: [{
name: "name",
values: ["amzn2-ami-hvm-*-x86_64-ebs"]
}]
});
然后我尝试这样引用它:
const instance = new ec2.Instance(this, "instance", {
instanceType: "t2.micro",
ami: `${amis.id}`,
...
我遇到的问题是这个值将是一个令牌 (${TfToken[TOKEN.1]}
),我如何从中获取字符串值以便能够将其传入?谢谢
同样的事情也适用于使用 TLS 提供商生成密钥对,这里是完整的 source code。
ec2.DataAwsAmiIds
将具有 ids
的属性;在合成期间,您会看到它表示为令牌,但它将呈现为地形 JSON 中的地形参考。它是令牌的原因是因为它代表的信息只有 during/after Terraform 运行时,可以在此处查看更多信息:https://www.terraform.io/cdktf/concepts/tokens#tokens