Unverified Commit c8c610f1 authored by Zelda Hessler's avatar Zelda Hessler Committed by GitHub
Browse files

Add RDS URL signer (#3867)

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here -->
[aws-sdk-rust/951](https://github.com/awslabs/aws-sdk-rust/issues/951)

## Description
<!--- Describe your changes in detail -->
Adds a struct for generating signed URLs for logging in to RDS. See
[this
doc](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.Connecting.html)
for more info.

## Testing
<!--- Please describe in detail how you tested your changes -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->
I wrote a test.

## Checklist
<!--- If a checkbox below is not applicable, then please DELETE it
rather than leaving it unchecked -->
- [ ] For changes to the smithy-rs codegen or runtime crates, I have
created a changelog entry Markdown file in the `.changelog` directory,
specifying "client," "server," or both in the `applies_to` key.
- [ ] For changes to the AWS SDK, generated SDK code, or SDK runtime
crates, I have created a changelog entry Markdown file in the
`.changelog` directory, specifying "aws-sdk-rust" in the `applies_to`
key.

----

_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
parent eb482614
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -118,6 +118,7 @@ dependencies = [
 "aws-smithy-runtime",
 "aws-smithy-runtime-api",
 "aws-smithy-types",
 "aws-types",
 "bytes",
 "fastrand",
 "hex",
@@ -132,6 +133,7 @@ dependencies = [
 "tempfile",
 "tokio",
 "tracing",
 "url",
]

[[package]]
@@ -182,7 +184,7 @@ version = "0.60.3"

[[package]]
name = "aws-sigv4"
version = "1.2.4"
version = "1.2.5"
dependencies = [
 "aws-credential-types",
 "aws-smithy-eventstream",
@@ -227,7 +229,7 @@ dependencies = [

[[package]]
name = "aws-smithy-checksums"
version = "0.60.12"
version = "0.60.13"
dependencies = [
 "aws-smithy-http",
 "aws-smithy-types",
+1 −1
Original line number Diff line number Diff line
@@ -173,7 +173,7 @@ dependencies = [

[[package]]
name = "aws-sigv4"
version = "1.2.4"
version = "1.2.5"
dependencies = [
 "aws-credential-types",
 "aws-smithy-http",
+3 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ http_1x = ["dep:http-1x", "dep:http-body-1x", "aws-smithy-runtime-api/http-1x"]
aws-credential-types = { path = "../aws-credential-types" }
aws-runtime = { path = "../aws-runtime", features = ["http-02x"] }
aws-sigv4 = { path = "../aws-sigv4" }
aws-types = { path = "../aws-types" }
aws-smithy-async = { path = "../../../rust-runtime/aws-smithy-async", features = ["rt-tokio"] }
aws-smithy-checksums = { path = "../../../rust-runtime/aws-smithy-checksums" }
aws-smithy-http = { path = "../../../rust-runtime/aws-smithy-http" }
@@ -37,8 +38,10 @@ ring = "0.17.5"
sha2 = "0.10"
tokio = "1.23.1"
tracing = "0.1"
url = "2.5.2"

[dev-dependencies]
aws-credential-types = { path = "../aws-credential-types", features = ["test-util"] }
aws-smithy-async = { path = "../../../rust-runtime/aws-smithy-async", features = ["test-util"] }
aws-smithy-http = { path = "../../../rust-runtime/aws-smithy-http", features = ["rt-tokio"] }
aws-smithy-runtime-api = { path = "../../../rust-runtime/aws-smithy-runtime-api", features = ["test-util"] }
+2 −1
Original line number Diff line number Diff line
allowed_external_types = [
    "aws_credential_types::provider::credentials::ProvideCredentials",
    "aws_types::*",
    "aws_credential_types::*",
    "aws_smithy_http::*",
    "aws_smithy_runtime_api::*",

+2 −0
Original line number Diff line number Diff line
@@ -65,3 +65,5 @@ pub mod s3_expires_interceptor;
/// allow docs to work
#[derive(Debug)]
pub struct Client;

pub mod rds_auth_token;
Loading