Unverified Commit 96308927 authored by ysaito1001's avatar ysaito1001 Committed by GitHub
Browse files

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: default avatarYuki Saito <awsaito@amazon.com>
parent 2e472d06
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -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"
+1 −1
Original line number Diff line number Diff line
@@ -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()
+1 −1
Original line number Diff line number Diff line
@@ -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,
+13 −13
Original line number Diff line number Diff line
@@ -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 { }