This PR sets independent versions for the deprecated runtime crates so
that they won't publish new version numbers with every release anymore.
----
_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
## Motivation and Context
Extracted from #3308, this adds doc example scraping. This won't make
much of a difference yet but it will help if we're able to move example
repos directly under the SDKs themselves when appropriate.
## Description
https://doc.rust-lang.org/rustdoc/scraped-examples.html
## Testing
verified that examples appear in docs when expected
## Checklist
no changelog
----
_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
This PR fixes issues introduced by moving the repository from
awslabs/smithy-rs to smithy-lang/smithy-rs.
----
_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
This PR removes the remaining rust-runtime code to support middleware,
deprecates empty crates, and removes the remaining codegen references to
any of that code. In the interest of keeping code review easier, a
separate PR will finish addressing the remaining
`TODO(enableNewSmithyRuntime)` comments.
----
_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
* Add Connection Poisoning to aws-smithy-client
* Fix doc links
* Remove required tokio dependency from aws-smithy-client
* Remove external type exposed
* Rename, re-add tokio dependency
* Change IP to 127.0.0.1 to attempt to fix windows
* Add dns::Name to external types
* Remove non_exhaustive not needed
* Add client target to changelog
* Emit spans for implementers of map request middleware traits
* Instrument dispatch with its own span
* Fix trace span hierarchy
* Partially flatten the middleware span hierarchy
* Make `MapRequest::name` required
* Add sub-spans to the `load_response` span
* update: add operation metadata to property bag during `make_operation`
add: test ensuring metadata is added to property bag
add: CHANGELOG.next.toml entry
* update: use new strategy for op metadata insertion
update: a new strategy requires a new test
update: CHANGELOG.next.toml
* format: run cargo fmt
* Fix retry for native Smithy clients
* Treat `SdkError::ResponseError` as a retryable transient failure
* Rename `ClassifyResponse` to `ClassifyRetry`
* Rename 'policy' to 'classifier' in AWS SDK public API
* Rename `AwsResponseClassifier` to `AwsResponseRetryClassifier`
Co-authored-by: Zelda Hessler <zhessler@amazon.com>
* Upgrade minimum Tokio version to 1.8.4
This addresses RUSTSEC-2021-0072 and RUSTSEC-2021-0124.
The SDK, runtime crates, and server are set to the minimum secure
version of Tokio to allow a larger range of versions to be used by
consumers of those libraries. The tools and the Python server are
both set to the latest Tokio version since they are not intended
to be consumed as a libraries.
* Upgrade `tracing-subscriber` to 0.3.15
* Upgrade `criterion` to 0.3.6
This addresses RUSTSEC-2021-0093 by upgrading `criterion`, which
upgrades `rayon`, which upgrades `crossbeam-deque`.
* Rename `cargo-api-linter` to `cargo-check-external-types`
* Run `cargo-check-external-types` on Smithy client/shared runtime crates
* Run `cargo-check-external-types` on SDK runtime crates
* Fix bug in determining crate name
* Run `cargo-check-external-types` on generated SDK crates
* Add a few READMEs + linter script
* Add initial linter script
* Add CI job
* Apply suggestions from code review
Co-authored-by: John DiSanti <jdisanti@amazon.com>
* Add README fix command
* Add newline in footer
* Add footer support to generator
* Also run fixes in CI
* Add note about smithy-types
* cleanups to scripts and READMEs
Co-authored-by: John DiSanti <jdisanti@amazon.com>
* feature: add TimeoutError variant to SdkError
add: TimeoutError variant to ImdsError
update: tests broken by new variant
* update: changelogs
* add: new inner timeout error RequestTimeoutError
update: tests broken by new inner error
rename: aws_smithy_client::hyper_ext::TimeoutError to HttpTimeoutError
add: missing dep to integration test
* revert: IMDS error change
update: content for HttpTimeoutError
fix: clippy lint
* add: back the source method to HttpTimeoutError
update: connector timeout tests
remove: TODO
* set appropriate minimum httpbody version
* Update changelogs
* changelog
* HTTP Body version in generated code
Co-authored-by: Zelda Hessler <zhessler@amazon.com>
* add: TimeoutConfig
add: provider to fetch timeout from profile
add: provider to fetch timeout from environment
add: default provider for TimeoutConfigs
update: aws_config::Config to support timeout conf
update: rustdoc lint
* add: TimeoutConfigBuilder::merge_with test
* update: changelogs
* add: timeout_config to client and builder
add: generic timeout service
add: non-working timeout layer
* add: timeout layer/service with configurable duration
add: test that ensures timeout service works
* fix: eliminate useless clones
* feature: Kotlin decorator for TimeoutConfig
add: tests for timeout-related codegen
update: incorrect package path in RetryConfigDecorator.kt
fix: outdated aws-config timeout config code
* remove: link to struct in external crate
fix: outdated doc test
fix: add missing import to doc test
fix: copypaste error in doc test
update: outdated lint name
* update: comment on Builder::timeout_config panics
add: test ensuring timeouts can't be infinite
update: use a floating point number in a timeout doc
update: message for failed profile load to mention that profile will be skipped
remove: commented out code
update: attempt to make difference between api_call_timeout and api_call_attempt_timeout clearer
update: outdated doc comments
update: TimeoutConfigError descriptions
* formatting: arrange imports in aws_smithy_client lib.rs
add: todo for improving timeout error categorization
* update: var parsers to work without needless allocations
update: improve example for default timeout config provider
update: improve example for default retry config provider
fix: unhelpful doc comment for TimeoutLayerFuture<T>
remove: outdated TODO
* fix: various typos in docs
add: PR links to changelogs
format: doc references to structs to look nicer
add: note about expected form and unit of timeout config data
update: expand ProfileFileTimeoutConfigProvider example
* fix: relocate provider config tests to the correct package/directory
remove: unimplemented timeouts from `Settings`
* add: S3 integration test for timeouts
update: re-enable TimeoutLayers
add: "list_of_set_timeouts" logging helper to TimeoutConfig
refactor: the way TimeoutService handles futures so that it can work better with no timeout set
add: helper structs to make creating timeout services easier
* update: split timeout_config example into multiple lines
* fix: Clippy lints
* fix: outdated test
* fix: more clippy lints
* fix: typo
add: TimeoutConfig example
* Update CHANGELOG.md
Co-authored-by: Russell Cohen <rcoh@amazon.com>
* Update aws/rust-runtime/aws-config/src/default_provider.rs
Co-authored-by: Russell Cohen <rcoh@amazon.com>
* Update aws/rust-runtime/aws-config/src/default_provider.rs
Co-authored-by: Russell Cohen <rcoh@amazon.com>
* Update aws/rust-runtime/aws-config/src/default_provider.rs
Co-authored-by: Russell Cohen <rcoh@amazon.com>
* Update aws/rust-runtime/aws-config/src/default_provider.rs
Co-authored-by: Russell Cohen <rcoh@amazon.com>
* Update aws/rust-runtime/aws-config/src/default_provider.rs
Co-authored-by: Russell Cohen <rcoh@amazon.com>
* Update aws/rust-runtime/aws-config/src/default_provider.rs
Co-authored-by: Russell Cohen <rcoh@amazon.com>
* feature: user-configurable AsyncSleep impls
update: fallback to sleep impl that sleeps forever instead of sleep impl being optional
* Update rust-runtime/aws-smithy-types/src/timeout.rs
Co-authored-by: John DiSanti <jdisanti@amazon.com>
* update: changelogs
format: SleepImplDecorator.kt
update: TimeoutConfig doc
remove: list_of_set_timeouts in favor of Debug impl for TimeoutConfig
* Apply suggestions from code review
Co-authored-by: John DiSanti <jdisanti@amazon.com>
* fix: broken macro doc test by ignoring it
fix: outdated struct ref in doc
fix: outdated generated doc
* fix: mode broken doc tests
* fix: broken doc test
* attempt to fix CI-only doc test error
* add: moduleUseName method to CodegenContext
remove: pub use reexports from timeout and sleep impl decorators
add: pub use reexports to aws_config for timeout and retry configs
undo: default_sleep_impl changes
attempt to add tokio time feature to S3 integration test
* Update timeout.rs
* Apply suggestions from code review
Co-authored-by: John DiSanti <jdisanti@amazon.com>
* refactor: consolidate timeout parsing logic
rename: `RetryConfigBuilder::merge_with` to `RetryConfigBuilder::take_unset_from`
refactor: move timeout parsing tests to timeouts.rs
add: entry to SDK changelog noting the renaming
remove: redundant feature from s3 integration test Cargo.toml
update: various setters added by this PR to have the same form as our preexisting setters
add: extra info to the warning emitted when ConfigLoader calls default_async_sleep and gets None
* fix: tests broken when implementing suggestions
* update: doc hide sleep_impl for aws_types::Config
remove: leftover comment
Co-authored-by: Russell Cohen <rcoh@amazon.com>
Co-authored-by: John DiSanti <jdisanti@amazon.com>