将方法添加到 Class AWS CDK
Add Method to Class AWS CDK
https://github.com/vennemp/cdk-nwfirewall
看src/index.tx
我已经为 AWS CDK 发布了一个 npm 包来部署 AWS 网络防火墙。它工作得很好,但我目前正在扩展功能并消除错误。我是 JS/TS 的新手,所以请原谅意大利面条代码。
我的 Class 是 FirewallStack,它创建了一个 vpc - 第 62 行。
当我创建 FirewallStack 时,我希望能够引用在 vpc 中创建的子网,甚至可能将它们组合在一起 - 所以如果我想在 public 子网中启动负载均衡器,我可以调用防火墙堆栈并有一个方法来获取 public 子网并将其传递给我的负载平衡器。
我看过其他人创建方法的例子,但它不起作用。
尝试过:
public listPublicSubnets (): FirewallStack {
vpc.SubnetSelection(TYPE=PUBLIC)
}
################
public listPublicSubnet(): FirewallStack {
return publicSubnets
}
你的方法被声明为 return 类型 FirewallStack
的值,但你实际想要做的是 return 子网,其类型为 ISubnet[]
.
应该这样做:
public listPublicSubnets(): ISubnet[] {
return vpc.publicSubnets
}
编辑:查看 GitHub 上的代码,在 class 上使用此方法还假定您已将 vpc 作为属性添加到 class 中。您可以通过将 private vpc: IVpc
添加到 FirewallStack
class 来实现,在第 62 行,您可以通过 vpc = new ec2.Vpc(...)
设置属性,而不是将 vpc 分配给局部变量你现在做。
https://github.com/vennemp/cdk-nwfirewall
看src/index.tx
我已经为 AWS CDK 发布了一个 npm 包来部署 AWS 网络防火墙。它工作得很好,但我目前正在扩展功能并消除错误。我是 JS/TS 的新手,所以请原谅意大利面条代码。
我的 Class 是 FirewallStack,它创建了一个 vpc - 第 62 行。
当我创建 FirewallStack 时,我希望能够引用在 vpc 中创建的子网,甚至可能将它们组合在一起 - 所以如果我想在 public 子网中启动负载均衡器,我可以调用防火墙堆栈并有一个方法来获取 public 子网并将其传递给我的负载平衡器。
我看过其他人创建方法的例子,但它不起作用。
尝试过:
public listPublicSubnets (): FirewallStack {
vpc.SubnetSelection(TYPE=PUBLIC)
}
################
public listPublicSubnet(): FirewallStack {
return publicSubnets
}
你的方法被声明为 return 类型 FirewallStack
的值,但你实际想要做的是 return 子网,其类型为 ISubnet[]
.
应该这样做:
public listPublicSubnets(): ISubnet[] {
return vpc.publicSubnets
}
编辑:查看 GitHub 上的代码,在 class 上使用此方法还假定您已将 vpc 作为属性添加到 class 中。您可以通过将 private vpc: IVpc
添加到 FirewallStack
class 来实现,在第 62 行,您可以通过 vpc = new ec2.Vpc(...)
设置属性,而不是将 vpc 分配给局部变量你现在做。