Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AWS: smithy.rules and aws.cloudformation aren't generated for users or in aws-kernel/core #1597

Open
kubukoz opened this issue Sep 27, 2024 · 3 comments
Labels
AWS support Issues related to AWS support

Comments

@kubukoz
Copy link
Member

kubukoz commented Sep 27, 2024

The namespaces are necessary to compile certain APIs, such as Location. Currently, in order to actually generate them, one has to use smithy4sAllowedNamespaces, which switches the codegen to an allowlist, and now every other namespace also has to be listed.

I think we should either:

  • add these to aws-kernel's codegen (but why would we do that if we don't use these classes?), or
  • add extra modules that provide them (but it increases the build matrix), or
  • change how we prevent the generation of aws.* and smithy.* in CodegenImpl, and e.g. have a third setting like smithy4sExtraNamespaces which works in conjunction with auto-discovery of namespaces (current default when not using smithy4sAllowedNamespaces).

I would say option 1 is the least effort for users so it'd be the pragmatic choice, but it has to first be attempted. If it's too many files, then we'd need to choose a different strategy.

@kubukoz kubukoz added the AWS support Issues related to AWS support label Sep 27, 2024
@kubukoz
Copy link
Member Author

kubukoz commented Sep 27, 2024

@Baccata
Copy link
Contributor

Baccata commented Sep 30, 2024

smithy.rules is ignored on purpose : https://github.com/disneystreaming/aws-sdk-smithy-specs/blob/main/build.sc#L155-L167

note that the specs found in the AWS SDK are not to be considered official at all, as they are enriched with a bunch of stuff that is irrelevant to the larger purpose (including smithy.rules traits)

I think I'd be okay with generating the aws.cloudformation traits in aws-kernel.

NB : this issue is yet another argument for using dynamic bindings

@kubukoz
Copy link
Member Author

kubukoz commented Sep 30, 2024

smithy.rules is ignored on purpose : disneystreaming/aws-sdk-smithy-specs@main/build.sc#L155-L167

note that the specs found in the AWS SDK are not to be considered official at all, as they are enriched with a bunch of stuff that is irrelevant to the larger purpose (including smithy.rules traits)

hmm that makes sense. I didn't know we were trimming them out in aws-sdk-smithy-specs. In that case, once that repo's publishing is stable, this shan't be a problem.

I think I'd be okay with generating the aws.cloudformation traits in aws-kernel.

good, let's.

NB : this issue is yet another argument for using dynamic bindings

true, that'd obviate the need for generating aws.cloudformation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AWS support Issues related to AWS support
Projects
None yet
Development

No branches or pull requests

2 participants