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
JPto create a SNS topic - stackUS - cdk stack in
USto get the Outputs fromstackJPand print out the SNSTopicNamefromstackJPOutputs.
# 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
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)
cdk.CfnOutput(stack_jP, "TopicName", value="foo")
# 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)
always get the latest stack output
By default, the StackOutputs construct will always try to get the latest output from the source stack, you may opt out by setting alwaysUpdate to false to turn this feature off.
For example:
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
outputs = StackOutputs(stack_uS, "Outputs",
stack=stack_jP,
always_update=False
)
Metadata
Release files for cdk-remote-stack 0.1.111
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cdk-remote-stack-0.1.111.tar.gz | 22.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cdk_remote_stack-0.1.111-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 44.1 kB
Release files / cdk-remote-stack-0.1.111.tar.gz
| Download URL | cdk-remote-stack-0.1.111.tar.gz |
|---|---|
| Size | 22.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ca8011ad317e41098572d6839d763b721e54786354c299a3d52aff97e4470ab9
|
|
BLAKE2b-256 checksum How to use checksums |
a141c3e2571537c624e5335bdb8ed939f85973eb1cbc545d181f9cd42a6af94e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.9
|
Release files / cdk_remote_stack-0.1.111-py3-none-any.whl
| Download URL | cdk_remote_stack-0.1.111-py3-none-any.whl |
|---|---|
| Size | 22.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a724c6d5e7b46a26592e0f4c48bf9499e5c95ad40fb0641969c13dbe907c0faf
|
|
BLAKE2b-256 checksum How to use checksums |
f30ff1ddc8b8a566cb77598033e3227aa6a0a1cb01f1510de2481881d60e49a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.9
|