* assume role chain parse tree
This commit builds the parsing half of our AssumeRoleProvider implementation. Our implementation decouples
the (fairly complex) task of actually turning a profile file into a series of providers from the (fairly simple)
task if iterating through credential providers and executing them.
The descriptive test cases from the spec have been ported to JSON and some new ones have been added and they cover our implementation fairly exhaustively.
Future commits will implement a named-provider factory, wire up the STS client and actually turn this into a credentials provider.
* assume role chain parse tree
This commit builds the parsing half of our AssumeRoleProvider implementation. Our implementation decouples
the (fairly complex) task of actually turning a profile file into a series of providers from the (fairly simple)
task if iterating through credential providers and executing them.
The descriptive test cases from the spec have been ported to JSON and some new ones have been added and they cover our implementation fairly exhaustively.
Future commits will implement a named-provider factory, wire up the STS client and actually turn this into a credentials provider.
* Update aws/rust-runtime/aws-auth-providers/src/profile/repr.rs
Co-authored-by: John DiSanti <jdisanti@amazon.com>
* Deal with the aws-auth-providers package being special
* add copyright header
* update changelog
Co-authored-by: John DiSanti <jdisanti@amazon.com>
* Refactor Smithy service tower to include a property bag with the response
* Add doc comments and rename functions on operation Request/Response
* Fix codegen
* Update CHANGELOG
* Attach PR number to CHANGELOG
* Fix test compile error
* CR feedback
* Fix AWS runtime tests
* Fix doc comment link
* Fix API gateway customization
* Fix AWS integration tests and update design doc
* Make it possible to run IAM test outside CI and fix it
* smithy 1.9.1 upgrade & primitive encode/decode
This upgrades to Smithy 1.10, but the major change is a complete overhaul of how primitives are formatted and parsed. Primitive serialization was migrated and unified into Smithy Types with the end requirement of dealing with special float serialization semantics.
* Switch to Smithy Core S3 Customization Trait
Smithy 1.9.1 brings S3UnwrappedXmlOutput as a vended trait. This commit pulls in the new model & uses that trait.
* Fix clippy warnings
* Fix doc links
* fix kotlin formatting
* Fix s3 customization to use the operation shape
* Ensure that numbers in string don't parse as numbers
* remove unused itoa
* Apply suggestions from code review
Co-authored-by: John DiSanti <jdisanti@amazon.com>
* Fix tests, CR feedback
* rename parse to parse_smithy_primitive
* Fix some more clippy errors
* Update changelog
Co-authored-by: John DiSanti <jdisanti@amazon.com>
* change http checksums to be base64 encoded
due to a misreading of the spec, the http checksums where hex encoded when they should actually be base64 encoded
* Update changelog
* prepare for all services release
- denylist glacier & iotdevice manager which are known to not work pending custom SDK work
- update CI job to have the all-service artifact be named `aws-sdk` and the smaller tier1 artifact be named `tier1`
* fix ci, update changelog
* Update .github/workflows/ci.yaml
* Error on disabled service mismatch & fix typo
* update changelog entry with suggestions
Co-authored-by: John DiSanti <jdisanti@amazon.com>
* breaking: Remove make test-util and optional feature
for historical reasons, `test-util` was enabled by default in aws-hyper. This change:
* removes the pub use for test util in aws-hyper
* updates usages to use it in smithy-client
* updates the crate dependencies to correctly pull in the new feature but only for development
NOTE: please wait for a full cargoTest all crates prior to merging this change.
* Update CHANGELOG.md
* fix non-optional smithy client dependencies
* Update CHANGELOG.md
Co-authored-by: John DiSanti <jdisanti@amazon.com>
Co-authored-by: John DiSanti <jdisanti@amazon.com>
* Introduce environment abstraction
* Update region provider to use ProcessEnvironment
* Update credentials provider to use env var abstraction
* implement the "source" side of profile parsing
This commit adds support for the "source" side of profile file parsing:
Given a filesystem/environment, what files should we actually be reading?
* run runtime tests on windows
* Update changelog
* Update ci.yaml
don't run rustfmt on windows
* Apply suggestions from code review
Co-authored-by: John DiSanti <jdisanti@amazon.com>
* cr feedback / refactorings to profile source loading
* refactor runtime test job
* Add missing workspace cargo.toml
* Fix working directory issue
* fix windows test for new API
* special case test for windows behavior
* Always compile the tests but conditionally ignore
* Apply suggestions from code review
Co-authored-by: John DiSanti <jdisanti@amazon.com>
Co-authored-by: John DiSanti <jdisanti@amazon.com>
* don't strip whitespace when reading XML data nodes
smithy-xml had a bug that erroneously stripped whitespace when parsing data nodes. This created incorrect parsers when parsing keys that contained spaces. An S3 protocol test is included.
* Update CHANGELOG.md
* fix s3 list-objects