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

Add @auth trait breaking change rules #2252

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

syall
Copy link
Contributor

@syall syall commented Apr 20, 2024

Background

  • What do these changes do?
  • Why are they important?

Testing

  • How did you test these changes?

Links

  • Links to additional context, if necessary
  • Issue #, if applicable (see here for a list of keywords to use for linking issues)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Comment on lines +201 to +202
Adding the `@auth` trait will explicitly define the order of the \
authentication scheme traits for the target shape. \
Copy link
Contributor Author

@syall syall Apr 20, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Previous comment thread: #2245 (comment)

From this message it is unclear why explicitly defining the order might be a danger. Probably talk about the default like in the remove case below.
These messages seem to be geared towards the service shape. Seems like they'd need to be slightly different for the operation shape. You only have tests for the service shape cases. Maybe having operation shape cases would allow us to see if the error messages are helpful enough for the case.
I also wonder if we should instead do this with the getEffectiveAuthSchemes approach to eliminate noise where there is no effective change. Like you have in the Migration classes, but generically, with sigv4 cases being special cases?
I agree, the validation for @auth should be more comprehensive with ServiceIndex::getEffectiveAuthSchemes for both service and operation levels.

change: "remove"
severity: "DANGER"
message: """
Removing the `@auth` trait will default to using the alphabetical \
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Previous comment thread: #2245 (comment)

If removed from operation, will default to using the service level @auth if present. I think the emphasis again is on the risk that the effective auth schemes may change.

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

Successfully merging this pull request may close these issues.

None yet

1 participant