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.42.tar.gz
(19.8 kB
view hashes)
Built Distribution
Close
Hashes for cdk_remote_stack-0.1.42-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edab5809a331300ec3bfa11049aa4e5b1117dad842b8f69b1576fb79d06cdd42 |
|
MD5 | 51b70613d34b25ae81d5ebe1b7e76c56 |
|
BLAKE2b-256 | 9de9c4b005c7124db209e43521ed7f1f82d023d9d9beeee1b6c0ed64297f2dab |