cdk:导入不相关的不同堆栈的输出

时间:2019-08-14 15:22:08

标签: amazon-cloudformation aws-cdk

上下文: 我正在使用cdk创建新堆栈。该堆栈将使用一个vpc ID,该ID是同一帐户中不同堆栈的输出,而不是cdk生成的。

我正在寻找

的cdk等效项
Fn::ImportValue: ExportedName

为了在cdk中创建一个VPC,然后可以将其附加资源。

然后我将使用该输出来查找VPC:

Vpc.fromVpcAttributes(this, "MyImportedVPC", VpcAttributes.builder()
    .withVpcId(importedValue).build());

我可以找到的所有使用cdk导入值的参考都是关于导入(或不必手动导入)在cdk创建的堆栈中定义的值。我想念什么吗?

1 个答案:

答案 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);