sparse-intern-71089
01/31/2022, 12:47 PMancient-monkey-64322
01/31/2022, 12:47 PMawsx.ec2.VpcfromExistingIdsStackReferencevpcIdOutput<string>(property) ExistingVpcIdArgs.vpcId: pulumi.Input_<_string_>_(property) ExistingVpcIdArgs.natGatewayIds_?:_ pulumi.Input_<_string_>_[] _|_ undefinedconst vpcId: pulumi.Input<string> = sharedInfraStack.requireOutput("vpcId");
const internetGatewayId: pulumi.Input<string> = sharedInfraStack.requireOutput(
  "vpcInternetGatewayId"
);
const natGatewayId: pulumi.Input<string> =
  sharedInfraStack.requireOutput("vpcNatGatewayId");
const privateSubnetIdA: pulumi.Input<string> = sharedInfraStack.requireOutput(
  "vpcPrivateSubnetIdA"
);
const privateSubnetIdB: pulumi.Input<string> = sharedInfraStack.requireOutput(
  "vpcPrivateSubnetIdB"
);
const publicSubnetIdA: pulumi.Input<string> =
  sharedInfraStack.requireOutput("vpcPublicSubnetIdA");
const publicSubnetIdB: pulumi.Input<string> =
  sharedInfraStack.requireOutput("vpcPublicSubnetIdB");
awsx.ec2.Vpc.fromExistingIds("shared-vpc", {
  vpcId,
  internetGatewayId,
  natGatewayIds: [natGatewayId],
  privateSubnetIds: [privateSubnetIdA, privateSubnetIdB],
  publicSubnetIds: [publicSubnetIdA, publicSubnetIdB],
});ancient-monkey-64322
01/31/2022, 12:49 PMawsx.ec2.Vpc.fromExistingIds("shared-vpc", sharedInfraStack.requireOutput("vpcConfig").apply(configAsStr => JSON.parse(configAsStr)))ancient-monkey-64322
01/31/2022, 12:51 PMsharedInfraStack.requireOutput("vpcConfig").apply(configAsStr => 
    awsx.ec2.Vpc.fromExistingIds("shared-vpc", JSON.parse(configAsStr))
)Output<awsx.ec2.Vpc>awsx.ec2.Vpcancient-monkey-64322
01/31/2022, 12:52 PMmillions-furniture-75402
01/31/2022, 3:30 PManymillions-furniture-75402
01/31/2022, 3:32 PMexport interface ExistingVpcArgs extends BaseArgs {
  privateSubnetIds: Input<Input<string>[]>;
  publicSubnetIds: Input<Input<string>[]>;
  vpcId: Input<string>;
}
export class ExistingVpc extends BaseComponentResource {
  vpc: any;
  constructor(name: string, args: ExistingVpcArgs, opts?: ComponentResourceOptions) {
    super("shared-vpc", name, args, opts);
    this.vpc = all([args.publicSubnetIds, args.privateSubnetIds, args.vpcId]).apply(
      ([publicSubnetIds, privateSubnetIds, vpcId]) => {
        return awsx.ec2.Vpc.fromExistingIds(this.getName(), {
          vpcId,
          publicSubnetIds,
          privateSubnetIds,
        });
      },
    );
  }
}millions-furniture-75402
01/31/2022, 3:35 PM