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

Implement Endpoints 2.0 OperationContextParams #1517

Closed
2 tasks
jbelkins opened this issue May 21, 2024 · 4 comments
Closed
2 tasks

Implement Endpoints 2.0 OperationContextParams #1517

jbelkins opened this issue May 21, 2024 · 4 comments
Assignees
Labels
feature-request A feature should be added or improved. needs-investigation

Comments

@jbelkins
Copy link
Contributor

jbelkins commented May 21, 2024

Describe the feature

Smithy 1.49.0 added support for string array endpoint parameters and operation context endpoint parameters.
https://github.com/smithy-lang/smithy/releases/tag/1.49.0

These features are generally described here:
https://smithy.io/2.0/additional-specs/rules-engine/parameters.html

String array-typed endpoint parameters are being implemented with the update to Smithy 1.49.0, but OperationContextParams will require greater work plus a bugfix:

  • OperationContextParams defines a JMESPath (restricted to a limited JMES feature set) that we must code-generate into a Swift expression to get the needed params at runtime.
  • There is also a bug in Smithy validation that prevents OperationContextParams from being defined on an operation without some extra trickery. Link to fix in main Smithy project: Add operationContextParams to RulesetParameterValidator smithy-lang/smithy#2295

Implement OperationContextParams once the validation bug has been resolved.

Use Case

To support all parameter field types on AWS endpoints.

Proposed Solution

No response

Other Information

No response

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change
@jbelkins jbelkins added feature-request A feature should be added or improved. needs-triage This issue or PR still needs to be triaged. labels May 21, 2024
@jbelkins
Copy link
Contributor Author

jbelkins commented Jun 3, 2024

We use CRT to take our endpoint params & evaluate them against the endpoint rules.

Filed this ticket to allow us to set the Array<String> data type on the EndpointsRequestContext that is used to pass endpoint params into CRT:
awslabs/aws-crt-swift#266

@jbelkins jbelkins added needs-investigation and removed needs-triage This issue or PR still needs to be triaged. labels Jun 3, 2024
@jbelkins jbelkins self-assigned this Jun 3, 2024
@jbelkins
Copy link
Contributor Author

jbelkins commented Jun 3, 2024

Will investigate the plan for rolling this param out through services, so we can determine the appropriate priority for work.

@sichanyoo
Copy link
Contributor

Note: check whether any change is needed in CRT.

@sichanyoo
Copy link
Contributor

Tracked internally in SWIFT-1125

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request A feature should be added or improved. needs-investigation
Projects
None yet
Development

No branches or pull requests

2 participants