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

Feature: Add smithy orchestrator #2447

Merged
merged 21 commits into from
Mar 14, 2023
Merged

Feature: Add smithy orchestrator #2447

merged 21 commits into from
Mar 14, 2023

Conversation

Velfi
Copy link
Contributor

@Velfi Velfi commented Mar 10, 2023

See the RFC for more details

This PR adds a new, common framework for constructing client requests and handling service responses. My intentions are to:

  • Improve the user experience by
  • Simplifying several aspects of sending a request
  • Adding more extension points to the request/response lifecycle
  • Improve the maintainer experience by
  • Making our SDK more similar in structure to other AWS SDKs
  • Simplifying many aspects of the request/response lifecycle
  • Making room for future changes

Additionally, functionality that we currently provide like retries, logging, and auth with be incorporated into this new process in such a way as to make it more configurable and understandable.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@Velfi Velfi force-pushed the refactor/add-smithy-orchestrator branch from efb0065 to bbf50cf Compare March 10, 2023 20:26
@Velfi Velfi force-pushed the refactor/add-smithy-orchestrator branch from 865d670 to 4753875 Compare March 10, 2023 20:33
rust-runtime/aws-smithy-types/src/error/interceptor.rs Outdated Show resolved Hide resolved
rust-runtime/aws-smithy-types/src/error/interceptor.rs Outdated Show resolved Hide resolved
rust-runtime/aws-smithy-token-bucket/Cargo.toml Outdated Show resolved Hide resolved
rust-runtime/aws-smithy-token-bucket/src/lib.rs Outdated Show resolved Hide resolved
rust-runtime/aws-smithy-orchestrator/src/lib.rs Outdated Show resolved Hide resolved
rust-runtime/aws-smithy-interceptor/Cargo.toml Outdated Show resolved Hide resolved
aws/sdk/integration-tests/smithy_orchestrator/Cargo.toml Outdated Show resolved Hide resolved
@github-actions
Copy link

A new generated diff is ready to view.

  • AWS SDK (ignoring whitespace)
  • No codegen difference in the Client Test
  • No codegen difference in the Server Test
  • No codegen difference in the Server Test Python

A new doc preview is ready to view.

Velfi added 2 commits March 13, 2023 16:03
add: external-types.toml to new crates
add: LICENSEs to new crates
update: crate organization and naming
update: interceptor errors per RFC 22
update: token bucket errors per RFC 22
@Velfi Velfi marked this pull request as ready for review March 13, 2023 21:04
@Velfi Velfi requested review from a team as code owners March 13, 2023 21:04
@Velfi Velfi requested review from drganjoo and weihanglo March 13, 2023 21:04
rust-runtime/Cargo.toml Outdated Show resolved Hide resolved
@github-actions
Copy link

A new generated diff is ready to view.

  • AWS SDK (ignoring whitespace)
  • No codegen difference in the Client Test
  • No codegen difference in the Server Test
  • No codegen difference in the Server Test Python

A new doc preview is ready to view.

@github-actions
Copy link

A new generated diff is ready to view.

  • AWS SDK (ignoring whitespace)
  • No codegen difference in the Client Test
  • No codegen difference in the Server Test
  • No codegen difference in the Server Test Python

A new doc preview is ready to view.

@github-actions
Copy link

A new generated diff is ready to view.

  • AWS SDK (ignoring whitespace)
  • No codegen difference in the Client Test
  • No codegen difference in the Server Test
  • No codegen difference in the Server Test Python

A new doc preview is ready to view.

pub type BoxError = Box<dyn std::error::Error + Send + Sync + 'static>;
pub type BoxFallibleFut<T> = Pin<Box<dyn Future<Output = Result<T, BoxError>>>>;

pub trait TraceProbe: Send + Sync + Debug {
Copy link
Contributor

Choose a reason for hiding this comment

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

No need to change or anything and just sharing some thoughts; I am unsure about whether this trait (and other traits in this module) should live in aws-smithy-runtime-api or aws-smithy-runtime as it feels like they act as "interface"s. More broadly, though, I haven't been able to convince myself what goes into an interface crate and what goes into an implementation crate as that separation, by design, may not be as clear as in other languages, e.g., Java or C++.

@github-actions
Copy link

A new generated diff is ready to view.

  • AWS SDK (ignoring whitespace)
  • No codegen difference in the Client Test
  • No codegen difference in the Server Test
  • No codegen difference in the Server Test Python

A new doc preview is ready to view.

@Velfi Velfi enabled auto-merge March 14, 2023 21:26
@github-actions
Copy link

A new generated diff is ready to view.

  • AWS SDK (ignoring whitespace)
  • No codegen difference in the Client Test
  • No codegen difference in the Server Test
  • No codegen difference in the Server Test Python

A new doc preview is ready to view.

@Velfi Velfi added this pull request to the merge queue Mar 14, 2023
Merged via the queue into main with commit bde362e Mar 14, 2023
@Velfi Velfi deleted the refactor/add-smithy-orchestrator branch March 14, 2023 22:19
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.

4 participants