From 963089276570c8335a1e5a686aa1e9ca298e810c Mon Sep 17 00:00:00 2001
From: ysaito1001 <gperson22@gmail.com>
Date: Fri, 16 Jun 2023 12:48:00 -0500
Subject: [PATCH] Rename `make_token` to `idempotency_token_provider` (#2783)

## Motivation and Context
Incorporates suggestion made in
https://github.com/awslabs/smithy-rs/pull/2762#discussion_r1231462878

## 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 <awsaito@amazon.com>
---
 CHANGELOG.next.toml                           | 12 +++++++++
 .../timestreamquery/tests/endpoint_disco.rs   |  2 +-
 .../IdempotencyTokenGenerator.kt              |  2 +-
 .../IdempotencyTokenProviderCustomization.kt  | 26 +++++++++----------
 4 files changed, 27 insertions(+), 15 deletions(-)

diff --git a/CHANGELOG.next.toml b/CHANGELOG.next.toml
index dbc42020a..e7157b365 100644
--- a/CHANGELOG.next.toml
+++ b/CHANGELOG.next.toml
@@ -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"
diff --git a/aws/sdk/integration-tests/timestreamquery/tests/endpoint_disco.rs b/aws/sdk/integration-tests/timestreamquery/tests/endpoint_disco.rs
index 9d4557b0c..d15244825 100644
--- a/aws/sdk/integration-tests/timestreamquery/tests/endpoint_disco.rs
+++ b/aws/sdk/integration-tests/timestreamquery/tests/endpoint_disco.rs
@@ -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()
diff --git a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/customizations/IdempotencyTokenGenerator.kt b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/customizations/IdempotencyTokenGenerator.kt
index b9e36bd30..1c6ef7eb4 100644
--- a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/customizations/IdempotencyTokenGenerator.kt
+++ b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/customizations/IdempotencyTokenGenerator.kt
@@ -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,
diff --git a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/IdempotencyTokenProviderCustomization.kt b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/IdempotencyTokenProviderCustomization.kt
index f7c0b3789..d2e779f1f 100644
--- a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/IdempotencyTokenProviderCustomization.kt
+++ b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/IdempotencyTokenProviderCustomization.kt
@@ -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
@@ -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)
                 }
             }
 
@@ -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()
                         }
                         """,
@@ -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,
@@ -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
                     }
                     """,
@@ -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 { }
-- 
GitLab