Skip to content

Commit

Permalink
Rename make_token to idempotency_token_provider (#2783)
Browse files Browse the repository at this point in the history
## Motivation and Context
Incorporates suggestion made in
#2762 (comment)

## Description
This PR renames `make_token` to `idempotency_token_provider` for clarity
wherever it is referred to in the fields and API in service configs and
their builders.

## Testing
Existing tests in CI

## Checklist
<!--- If a checkbox below is not applicable, then please DELETE it
rather than leaving it unchecked -->
- [x] I have updated `CHANGELOG.next.toml` if I made changes to the
smithy-rs codegen or runtime crates
- [x] I have updated `CHANGELOG.next.toml` if I made changes to the AWS
SDK, generated SDK code, or SDK runtime crates

----

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

---------

Co-authored-by: Yuki Saito <[email protected]>
  • Loading branch information
ysaito1001 and ysaito1001 authored Jun 16, 2023
1 parent 2e472d0 commit 9630892
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 15 deletions.
12 changes: 12 additions & 0 deletions CHANGELOG.next.toml
Original file line number Diff line number Diff line change
Expand Up @@ -550,3 +550,15 @@ let plugin = plugin_from_operation_fn(map);
references = ["smithy-rs#2740", "smithy-rs#2759", "smithy-rs#2779"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "hlbarber"

[[smithy-rs]]
message = "The naming `make_token` for fields and the API of `IdempotencyTokenProvider` in service configs and their builders has now been updated to `idempotency_token_provider`."
references = ["smithy-rs#2783"]
meta = { "breaking" = true, "tada" = false, "bug" = false, "target" = "client" }
author = "ysaito1001"

[[aws-sdk-rust]]
message = "The naming `make_token` for fields and the API of `IdempotencyTokenProvider` in service configs and their builders has now been updated to `idempotency_token_provider`."
references = ["smithy-rs#2783"]
meta = { "breaking" = true, "tada" = false, "bug" = false }
author = "ysaito1001"
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ async fn do_endpoint_discovery() {
.time_source(SharedTimeSource::new(ts.clone()))
.build();
let conf = query::config::Builder::from(&config)
.make_token("0000-0000-0000")
.idempotency_token_provider("0000-0000-0000")
.build();
let (client, reloader) = query::Client::from_conf(conf)
.enable_endpoint_discovery()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class IdempotencyTokenGenerator(codegenContext: CodegenContext, operationShape:
rustTemplate(
"""
if ${section.input}.$memberName.is_none() {
${section.input}.$memberName = #{Some}(${section.config}.make_token.make_idempotency_token());
${section.input}.$memberName = #{Some}(${section.config}.idempotency_token_provider.make_idempotency_token());
}
""",
*preludeScope,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import software.amazon.smithy.rust.codegen.core.smithy.RuntimeType.Companion.pre
import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedCustomization

/**
* Add a `make_token` field to Service config. See below for the resulting generated code.
* Add an `idempotency_token_provider` field to Service config.
*/
class IdempotencyTokenProviderCustomization(codegenContext: ClientCodegenContext) : NamedCustomization<ServiceConfig>() {
private val runtimeConfig = codegenContext.runtimeConfig
Expand All @@ -30,7 +30,7 @@ class IdempotencyTokenProviderCustomization(codegenContext: ClientCodegenContext
return when (section) {
is ServiceConfig.ConfigStruct -> writable {
if (runtimeMode.defaultToMiddleware) {
rustTemplate("pub (crate) make_token: #{IdempotencyTokenProvider},", *codegenScope)
rustTemplate("pub (crate) idempotency_token_provider: #{IdempotencyTokenProvider},", *codegenScope)
}
}

Expand All @@ -41,7 +41,7 @@ class IdempotencyTokenProviderCustomization(codegenContext: ClientCodegenContext
/// Returns a copy of the idempotency token provider.
/// If a random token provider was configured,
/// a newly-randomized token provider will be returned.
pub fn make_token(&self) -> #{IdempotencyTokenProvider} {
pub fn idempotency_token_provider(&self) -> #{IdempotencyTokenProvider} {
self.inner.load::<#{IdempotencyTokenProvider}>().expect("the idempotency provider should be set").clone()
}
""",
Expand All @@ -53,8 +53,8 @@ class IdempotencyTokenProviderCustomization(codegenContext: ClientCodegenContext
/// Returns a copy of the idempotency token provider.
/// If a random token provider was configured,
/// a newly-randomized token provider will be returned.
pub fn make_token(&self) -> #{IdempotencyTokenProvider} {
self.make_token.clone()
pub fn idempotency_token_provider(&self) -> #{IdempotencyTokenProvider} {
self.idempotency_token_provider.clone()
}
""",
*codegenScope,
Expand All @@ -63,21 +63,21 @@ class IdempotencyTokenProviderCustomization(codegenContext: ClientCodegenContext
}

ServiceConfig.BuilderStruct -> writable {
rustTemplate("make_token: #{Option}<#{IdempotencyTokenProvider}>,", *codegenScope)
rustTemplate("idempotency_token_provider: #{Option}<#{IdempotencyTokenProvider}>,", *codegenScope)
}

ServiceConfig.BuilderImpl -> writable {
rustTemplate(
"""
/// Sets the idempotency token provider to use for service calls that require tokens.
pub fn make_token(mut self, make_token: impl #{Into}<#{IdempotencyTokenProvider}>) -> Self {
self.set_make_token(#{Some}(make_token.into()));
pub fn idempotency_token_provider(mut self, idempotency_token_provider: impl #{Into}<#{IdempotencyTokenProvider}>) -> Self {
self.set_idempotency_token_provider(#{Some}(idempotency_token_provider.into()));
self
}
/// Sets the idempotency token provider to use for service calls that require tokens.
pub fn set_make_token(&mut self, make_token: #{Option}<#{IdempotencyTokenProvider}>) -> &mut Self {
self.make_token = make_token;
pub fn set_idempotency_token_provider(&mut self, idempotency_token_provider: #{Option}<#{IdempotencyTokenProvider}>) -> &mut Self {
self.idempotency_token_provider = idempotency_token_provider;
self
}
""",
Expand All @@ -88,19 +88,19 @@ class IdempotencyTokenProviderCustomization(codegenContext: ClientCodegenContext
ServiceConfig.BuilderBuild -> writable {
if (runtimeMode.defaultToOrchestrator) {
rustTemplate(
"layer.store_put(self.make_token.unwrap_or_else(#{default_provider}));",
"layer.store_put(self.idempotency_token_provider.unwrap_or_else(#{default_provider}));",
*codegenScope,
)
} else {
rustTemplate(
"make_token: self.make_token.unwrap_or_else(#{default_provider}),",
"idempotency_token_provider: self.idempotency_token_provider.unwrap_or_else(#{default_provider}),",
*codegenScope,
)
}
}

is ServiceConfig.DefaultForTests -> writable {
rust("""${section.configBuilderRef}.set_make_token(Some("00000000-0000-4000-8000-000000000000".into()));""")
rust("""${section.configBuilderRef}.set_idempotency_token_provider(Some("00000000-0000-4000-8000-000000000000".into()));""")
}

else -> writable { }
Expand Down

0 comments on commit 9630892

Please sign in to comment.