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.92.tar.gz
(20.2 kB
view hashes)
Built Distribution
Close
Hashes for cdk_remote_stack-0.1.92-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b503841d2a0e2bb63386a6fef28f8e9c7ce8f999d9111cc9ec9e0840e9cc93b |
|
MD5 | 62e28bd5b5f7576eb71c4605faae47b1 |
|
BLAKE2b-256 | 0344efb081ff0a47d2b7cf3e047ca2694e85b19412f62f1d814c9b6bf3af4429 |