Reference cross-instance StackSet outputs

0

Let's assume two StackSets, "BucketStack" and "LambdaStack".

  • BucketStack get's deployed to account A, region us-west-1, we have now instance Bucket1 with output bucketArn
  • LambdaStack get's deployed to account A, region us-west-1, we have now instance Lambda1
  • Withing Lambda1 I want to access bucketArn in instance Bucket1

Is there any way to achieve that? Best case would be a direct CDK way.

Jonas
已提问 7 个月前246 查看次数
1 回答
1
已接受的回答

Hi Jonas,

Yes, you can export the output from one stack and import its value into another stack in Cloudformation and CDK.

Since you are using CDK, you can export a resource's output by creating a cfnOutput with an exportName property.
You can then use Fn.ImportValue to import the exported value to another stack.

I think this blog [1] outlines exactly the use case that you are looking for.

Also, please make a note of the following, in case you plan to have multiple stack instances exporting the output with the same export name bucketArn [2]:

For each AWS account, Export names must be unique within a region.

References:
[1] https://bobbyhadz.com/blog/import-value-aws-cdk-cross-stack
[2] https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/walkthrough-crossstackref.html

Regards,
Atul

profile picture
已回答 7 个月前
profile pictureAWS
专家
已审核 7 个月前
  • Thanks a lot, especially for the first reference link. I probably searched too much just for StackSets. Do you know if there is an more implicit way in AWS CDK? With usual Stacks and Nested Stacks and so on you can use code references in the other stacks and CDK makes all of the output/import stuff.

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则