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

Support adding operations to @extendable resources? #558

Open
robin-aws opened this issue Sep 4, 2024 · 0 comments
Open

Support adding operations to @extendable resources? #558

robin-aws opened this issue Sep 4, 2024 · 0 comments

Comments

@robin-aws
Copy link
Contributor

Split off from #544.

@extendable marks a resource as client-implementable. At a minimum that changes the rules about backwards compatibility: with a non-extendable resource a service is free to add operations later, but if client implementations exist for an extendable resource, they will break. At a minimum we should implement this validation rule for @extendable as part of #315.

This issue is about whether we can in fact support adding operations by including a default implementation for them. I have a question mark on the issue title because I'm pessimistic: SOME target languages support this, for example Java allows default implementations of interfaces. But we haven't designed the codegen for this case and I suspect at least one language has us locked in already. It's also likely that supporting this would lead us to less idiomatic and user-friendly choices for extendable resources, so it might be better to just accept this tradeoff in the design of @extendable resources.

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

No branches or pull requests

1 participant