检索 VPC 以创建安全组

Retrieve a VPC to create a security group

我正在尝试取回 VPC,然后创建一个包含规则的安全组。我一直在按照步骤 here in their docs 但是我需要一个不是默认 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,它们似乎不会被自动发现。

使用给定名称及其相关 sub-resources 的 ID 获取现有 Vpc 资源的状态。这不会导致创建 VPC(或任何 sub-resources),并且从您的 pulumi 应用程序中删除此 Vpc 不会导致现有云资源(或 sub-resources)被破坏。

const importedVpc = awsx.ec2.Vpc.fromExistingIds('primary', {
    vpcId: 'theId',
    privateSubnetIds: ['id1', 'id2']
})

我想您必须对计划在程序其他地方使用的 ExistingVpcIdArgs(函数的第二个参数)中的任何属性执行相同的操作。