Skip to main content

Get outputs from cross-regional AWS CDK stacks

Project description

awscdk-jsii-template NPM version PyPI version Release

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:

  1. stackJP - cdk stack in JP to create a SNS topic
  2. stackUS - cdk stack in US to get the Outputs from stackJP and print out the SNS TopicName from stackJP 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

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
)

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.115.tar.gz (22.1 kB view details)

Uploaded Source

Built Distribution

cdk_remote_stack-0.1.115-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

File details

Details for the file cdk-remote-stack-0.1.115.tar.gz.

File metadata

  • Download URL: cdk-remote-stack-0.1.115.tar.gz
  • Upload date:
  • Size: 22.1 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for cdk-remote-stack-0.1.115.tar.gz
Algorithm Hash digest
SHA256 96bb360e94223a8c25fcef5c5cbdc25eceffae6e11cfae29b3a9b3073866112d
MD5 8d1d34ccac72880041caf790d3fe3e1e
BLAKE2b-256 bc3a3696012d3ada3195bec1f7b8de0cd788f3f5680e0eb0e3b710fb93db1cda

See more details on using hashes here.

File details

Details for the file cdk_remote_stack-0.1.115-py3-none-any.whl.

File metadata

  • Download URL: cdk_remote_stack-0.1.115-py3-none-any.whl
  • Upload date:
  • Size: 22.0 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for cdk_remote_stack-0.1.115-py3-none-any.whl
Algorithm Hash digest
SHA256 2ecc69ad40ebd4df8a29f9c5de2014d182b7beed66832107fdb4a83ec5e1b4f2
MD5 b0af7ff93ee2bcb1bb9450f305cd68d4
BLAKE2b-256 897c6c3890de9a27ffb4a4950cb6bb1e887c730c5904f8850cfe17d080846670

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page