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.

1 Antwort
1
Akzeptierte Antwort

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
beantwortet vor 7 Monaten
profile pictureAWS
EXPERTE
überprüft vor 7 Monaten
  • 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.

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen