aws / aws/aws-cdk

(pipelines): Ability to use outputs of a stack as parameter for other stacks (cross region) within and across stages

Open
#16,199 5 comments 3 reactions 0 assignees View on GitHub
@aws-cdk/pipelines effort/medium feature-request p2
Dominant language
TypeScript
Stars
12.9k
Forks
4.6k
Avg merge
2d 3h
Merged PRs (30d)
83

Description

Within and across stages we need to be able to specify outputs from a stack as inputs to other stacks. In our own pipeline construct we are taking advantage of the variableNamespace and parameterOverrides to pass values between stacks. The new pipelines module doesn't expose these properties, making it practical unusable for serious production environments.

### Use Case

We have the following stacks:
- Stack A that creates a cerificate in the account 1 / us-east-1 region. This stack has 4 outputs a CertificateArn, and for DNS validation outputs for DNS Record Name, Type en Value .
- Stack B that creates the DNS certificate validation record in Route53 in account 2 / eu-central-1 region. It requires the DNS record Name, Type and value from Stack B
- Stack C that deploys a CloudFront distribution in account 1 / eu-central-1 region. It requires the CertificateArn from Stack A.

### Proposed Solution

Add (a) method(s) to the Stage and or Stack classes that allows us to specify a variableNamespace and parameterOverrides for a Stack deployment action

* [ ] :wave: I may be able to implement this feature request
* [ ] :warning: This feature might incur a breaking change

---

This is a :rocket: Feature Request

Contributor guide

Open the contributing guide

Research direction

Start by inspecting the pipelines module and the Stage and Stack classes, focusing on how deployment actions expose variableNamespace and parameterOverrides. Reproduce the described three-stack, cross-account and cross-region flow; done means outputs from one stack can be supplied as inputs to another within and across stages.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, typescript
Domain
cloud, devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.