上下文: 我正在使用cdk创建新堆栈。该堆栈将使用一个vpc ID,该ID是同一帐户中不同堆栈的输出,而不是cdk生成的。
我正在寻找
的cdk等效项Fn::ImportValue: ExportedName
为了在cdk中创建一个VPC,然后可以将其附加资源。
然后我将使用该输出来查找VPC:
Vpc.fromVpcAttributes(this, "MyImportedVPC", VpcAttributes.builder()
.withVpcId(importedValue).build());
我可以找到的所有使用cdk导入值的参考都是关于导入(或不必手动导入)在cdk创建的堆栈中定义的值。我想念什么吗?
答案 0 :(得分:1)
我正在寻找Fn.importValue
:
Fn.importValue("ExportedName")
List<String> availabilityZones = java.util.stream.Stream
.of("us-west-2a", "us-west-2b", "us-west-2c")
.collect(toList());
String privateSubnet1 = Fn.importValue("PrivateSubnet01");
String privateSubnet2 = Fn.importValue("PrivateSubnet02");
String privateSubnet3 = Fn.importValue("PrivateSubnet03");
List<String> privateSubnets = java.util.stream.Stream
.of(privateSubnet1, privateSubnet2, privateSubnet3)
.collect(toList());
VpcAttributes byId = VpcAttributes.builder()
.withVpcId(vpcId)
.withAvailabilityZones(availabilityZones)
.withPrivateSubnetIds(privateSubnets)
.build();
return Vpc.fromVpcAttributes(this, "ImportedVpc", byId);