aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap
Allow multiple relative values to be passed to 'package' CLI command
- Dominant language
- No language data
- Stars
- 1.1k
- Forks
- 62
- PR merge metrics
- No merged PRs in 30d
Description
### Name of the resource
Other
### Resource name
_No response_
### Description
Multi-file CloudFormation projects are effectively tightly-coupled to specific S3 buckets.
AWS provides us with several tools to try to work with this:
- `aws cloudformation package` when using the AWS CLI
- `cdk bootstrap` when using CDK
- Even most AWS QuickStarts are written in such a way at to require "Quick Start S3 Bucket Name"/"Quick Start S3 Key Prefix"
Why is this awkward?
-------------------------
The desire is to be able to treat one's CloudFormation projects as build-artifacts, and to be able to store them, version them, delete them etc.
The latest inconvenience is trying to archive the build-artifact generated from a CDK project. In an ideal world, I would like to "build" the project into a set of templates and other resources (lambda zips etc.) and place them in an artifact repository, ready to be versioned, deployed and potentially deleted over time. Instead I end up with a single "bootstrap" bucket full of every hashed resource I've ever created.
Wouldn't it be nice if...
--------------------------
...CloudFormation projects could be packaged in such a way as not to rely on reference back to a specific S3 bucket?
Given that CloudFormation requires root templates to be uploaded to S3 anyway, allowing CloudFormation to interpret paths as being relative to the template UI would allow CF projects to be more portable.
I would expect these reference to look exactly as they do pre- `aws cloudformation package`
...the only difference being that the references would be resolved server-side.
Stretch goal 1
----------------
If CF was able to work in such a way, it may also be nice to allow self-container CF packages to be uploaded in the form of zips, either via the console or CLI
Stretch goal 2
----------------
Add config to CDK to enable relative CF paths. In which case running a `cdk synth` would potentially produce a self-contained CF project that can be deployed, achieved, etc as required by the developer.
### Other Details
[aws cloudformation package](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html)
Contributor guide
Research direction
Start with the `aws cloudformation package` CLI entry point and the linked command documentation. Clarify whether the deliverable is support for multiple relative values, server-side relative references, or the proposed archive/CDK extensions; done should be defined by portable, self-contained CloudFormation artifacts without a fixed S3 bucket dependency.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws
- Domain
- cli, cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100