(pipelines): Ability to use outputs of a stack as parameter for other stacks (cross region) within and across stages
- 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
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