pulumi - 检索 VPC 以创建安全组
问题描述
我正在尝试取回 VPC,然后创建一个包含规则的安全组。我一直在按照他们的文档中的步骤进行操作,但是我需要获得一个不是默认 vpc 的 vpc。
我有这样的代码:
const primaryVpcId = config.require("primaryVpcId");
const primaryVpc = awsx.ec2.Vpc.fromExistingIds("primary", {
vpcId: primaryVpcId
});
const sg = new awsx.ec2.SecurityGroup("jcsg", {vpc:primaryVpc});
问题是primaryVpc
对象是空的,所以当我运行pulumi up
它时错误说子网ID是空的。我知道aws中的vpc没有任何问题,因此检索它以某种方式失败。
解决方案
根据文档,使用时fromExistingIds
您还必须指定子资源ID。如果您打算使用子网,则必须为那些似乎没有被自动发现的子网传递 id。
使用给定名称和相关子资源的 ID 获取现有 Vpc 资源的状态。这不会导致创建 VPC(或任何子资源),并且从您的 pulumi 应用程序中删除此 Vpc 不会导致现有的云资源(或子资源)被破坏。
const importedVpc = awsx.ec2.Vpc.fromExistingIds('primary', {
vpcId: 'theId',
privateSubnetIds: ['id1', 'id2']
})
我想您必须对ExistingVpcIdArgs
您计划在程序中其他地方使用的任何属性(函数的第二个参数)执行相同的操作。
推荐阅读
- google-analytics - 如何在不破坏没有 GA 代码的附属模板的链接的情况下跟踪出站链接
- arrays - Tableview原型单元格不显示附加在数组中的项目
- javascript - 如何在reduce()中返回累加器的长度
- spring-webflux - project reactor - 如何结合 Mono 和 Flux?
- r - 根据闪亮应用程序中数据表行的选择与否打印一个数字
- c# - 无法让标记帮助程序在 .NET Core 2.1 中工作
- asch-development - 如何保证智能合约的输入不被人为操纵?
- arrays - 我怎样才能拥有 Any 类型的数组?
- python - Python 3.6 & 通过变量将值插入 MariaDB
- algorithm - 实现具有成分值上限和下限的硬币找零算法