feat(lib): add StringMapMap class #3917
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related issue
Fixes #3915
Description
This PR adds support for
StringMapMap
type to handle provider schemas that define attributes withmap[map[string]]
type structure. The yandex-cloud provider (and potentially others) define certain attributes likeairflow_config
with a nested map structure that wasn't previously supported by the CDKTF code generation.The implementation includes:
StringMapMap
class: Added topackages/cdktf/lib/complex-computed-list.ts
that extendsComplexResolvable
and provides alookup(key: string): StringMap
method for accessing nested mapsattribute-type-model.ts
to detect when the element type isStringMap
and generate the appropriateStringMapMap
type instead of the generic patternThe fix enables users to successfully generate providers that use nested map structures in their schemas, resolving the JSII compilation errors that were preventing provider generation.
Checklist