Custom Lookup Providers
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 4.6k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 83
Description
### Describe the feature
The ability write custom "Lookup" providers that can asynchronously lookup values from 3rd party systems and have the value serialized and cached by context much like first party Lookups today.
### Use Case
There are more than a few cases where you need to get contextual information from a third-party system. It could be information about the target environment, variables from a third party system, or other information that can/must be retrieved programmatically.
### Proposed Solution
The CDK already have a first class system for Lookups, but it's internalized and largely intended for making AWS SDK calls to populate information about various constructs. It might not be easy, but it'd be nice to expose this as a generic escape hatch for end users.
### Other Information
Most teams are getting around this right now by doing some sort of `pre` job that retrieves and serializes this information to a file that CDK can then read. This is not idea since it's disjunct from the CDK process itself, and adds a redundant step for which the CDK is (in theory) capable of doing in one whole step.
### Acknowledgements
- [ ] I may be able to implement this feature request
- [ ] This feature might incur a breaking change
### CDK version used
2.x
### Environment details (OS name and version, etc.)
N/A
Contributor guide
Research direction
No files, tests, or entry points are identified. Start by reading the CDK's existing first-class Lookup system and how it serializes and caches values, then determine the design needed for generic asynchronous third-party providers; done means custom providers can perform lookups with equivalent serialization and context-based caching.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100