Get outputs from cross-regional AWS CDK stacks
Project description
cdk-remote-stack
Get outputs from cross-regional AWS CDK stacks
Why
AWS CDK cross-regional cross-stack reference is not easy with the native AWS CDK construct library.
cdk-remote-stack
aims to simplify the cross-regional cross-stack reference to help you easily build cross-regional multi-stack AWS CDK apps.
Sample
Let's say we have two cross-region CDK stacks in the same cdk app:
- stackJP - cdk stack in
JP
to create a SNS topic - stackUS - cdk stack in
US
to get the Outputs fromstackJP
and print out the SNSTopicName
fromstackJP
Outputs.
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
from cdk_remote_stack import StackOutputs
import aws_cdk.core as cdk
import aws_cdk.aws_sns as sns
app = cdk.App()
env_jP = {
"region": "ap-northeast-1",
"account": process.env.CDK_DEFAULT_ACCOUNT
}
env_uS = {
"region": "us-west-2",
"account": process.env.CDK_DEFAULT_ACCOUNT
}
# first stack in JP
stack_jP = cdk.Stack(app, "demo-stack-jp", env=env_jP)
topic = sns.Topic(stack_jP, "Topic")
cdk.CfnOutput(stack_jP, "TopicName", value=topic.topic_name)
# second stack in US
stack_uS = cdk.Stack(app, "demo-stack-us", env=env_uS)
# ensure the dependency
stack_uS.add_dependency(stack_jP)
# get the stackJP stack outputs from stackUS
outputs = StackOutputs(stack_uS, "Outputs", stack=stack_jP)
remote_output_value = outputs.get_att_string("TopicName")
# the value should be exactly the same with the output value of `TopicName`
cdk.CfnOutput(stack_uS, "RemoteTopicName", value=remote_output_value)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cdk-remote-stack-0.1.50.tar.gz
(19.8 kB
view hashes)
Built Distribution
Close
Hashes for cdk_remote_stack-0.1.50-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6cd9740255bcd8b7b96a6feaa70986bc8c35927229419dc250e74e35f50a660 |
|
MD5 | 63358b1264b270e7a3a6ddc9cd5a3737 |
|
BLAKE2b-256 | a9aedd93c28bcea62a6369232903b14d3dfbd4af5b722411b84b881f88791f6f |