AWS SDK

AWS SDK

rev. 6fb2d7ca8fd08fdf121debc537f4ad12a47b868f..27b9e832db0287dd9438a4f54e1a398b533f55b8

Files changed:

tmp-codegen-diff/services/codebuild/build/tmp/jvmJar/MANIFEST.MF

@@ -1,0 +2,0 @@
    1         -
Manifest-Version: 1.0
    2         -

tmp-codegen-diff/services/codebuild/generated-src/main/kotlin/aws/sdk/kotlin/services/codebuild/CodeBuildClient.kt

@@ -116,116 +289,293 @@
  136    136   
import aws.sdk.kotlin.services.codebuild.model.UpdateReportGroupResponse
  137    137   
import aws.sdk.kotlin.services.codebuild.model.UpdateWebhookRequest
  138    138   
import aws.sdk.kotlin.services.codebuild.model.UpdateWebhookResponse
  139    139   
import aws.smithy.kotlin.runtime.auth.AuthSchemeId
  140    140   
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProvider
  141    141   
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProviderConfig
  142    142   
import aws.smithy.kotlin.runtime.awsprotocol.ClockSkewInterceptor
  143    143   
import aws.smithy.kotlin.runtime.client.AbstractSdkClientBuilder
  144    144   
import aws.smithy.kotlin.runtime.client.AbstractSdkClientFactory
  145    145   
import aws.smithy.kotlin.runtime.client.LogMode
         146  +
import aws.smithy.kotlin.runtime.client.LogRedactionConfig
  146    147   
import aws.smithy.kotlin.runtime.client.RetryClientConfig
  147    148   
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfig
  148    149   
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfigImpl
  149    150   
import aws.smithy.kotlin.runtime.client.SdkClient
  150    151   
import aws.smithy.kotlin.runtime.client.SdkClientConfig
  151    152   
import aws.smithy.kotlin.runtime.client.region.RegionProvider
  152    153   
import aws.smithy.kotlin.runtime.http.auth.AuthScheme
  153    154   
import aws.smithy.kotlin.runtime.http.auth.HttpAuthConfig
  154    155   
import aws.smithy.kotlin.runtime.http.config.HttpClientConfig
  155    156   
import aws.smithy.kotlin.runtime.http.config.HttpEngineConfig
  156    157   
import aws.smithy.kotlin.runtime.http.config.TimeoutConfig
  157    158   
import aws.smithy.kotlin.runtime.http.engine.HttpClientEngine
  158    159   
import aws.smithy.kotlin.runtime.http.engine.HttpEngineConfigImpl
  159    160   
import aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor
  160    161   
import aws.smithy.kotlin.runtime.net.url.Url
  161    162   
import aws.smithy.kotlin.runtime.retries.RetryStrategy
  162    163   
import aws.smithy.kotlin.runtime.retries.policy.RetryPolicy
  163    164   
import aws.smithy.kotlin.runtime.telemetry.Global
  164    165   
import aws.smithy.kotlin.runtime.telemetry.TelemetryConfig
  165    166   
import aws.smithy.kotlin.runtime.telemetry.TelemetryProvider
  166    167   
import aws.smithy.kotlin.runtime.util.LazyAsyncValue
  167    168   
import kotlin.collections.List
         169  +
import kotlin.collections.Set
  168    170   
import kotlin.jvm.JvmStatic
  169    171   
import kotlin.time.Duration
  170    172   
import kotlinx.coroutines.runBlocking
  171    173   
  172    174   
  173    175   
public const val ServiceId: String = "CodeBuild"
  174    176   
public const val SdkVersion: String = "1.7.0-SNAPSHOT"
  175    177   
public const val ServiceApiVersion: String = "2016-10-06"
  176    178   
  177    179   
/**
  178    180   
 * # CodeBuild
  179    181   
 * CodeBuild is a fully managed build service in the cloud. CodeBuild compiles your source code, runs unit tests, and produces artifacts that are ready to deploy. CodeBuild eliminates the need to provision, manage, and scale your own build servers. It provides prepackaged build environments for the most popular programming languages and build tools, such as Apache Maven, Gradle, and more. You can also fully customize build environments in CodeBuild to use your own build tools. CodeBuild scales automatically to meet peak build requests. You pay only for the build time you consume. For more information about CodeBuild, see the *[CodeBuild User Guide](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html).*
  180    182   
 */
  181    183   
public interface CodeBuildClient : SdkClient {
  182    184   
    /**
  183    185   
     * CodeBuildClient's configuration
  184    186   
     */
  185    187   
    public override val config: Config
  186    188   
  187    189   
    public companion object : AbstractAwsSdkClientFactory<Config, Config.Builder, CodeBuildClient, Builder>()
  188    190   
     {
  189    191   
        @JvmStatic
  190    192   
        override fun builder(): Builder = Builder()
  191    193   
  192    194   
        override fun finalizeConfig(builder: Builder) {
  193    195   
            super.finalizeConfig(builder)
  194    196   
            builder.config.interceptors.add(0, ClockSkewInterceptor())
  195    197   
        }
  196    198   
  197    199   
        override suspend fun finalizeEnvironmentalConfig(builder: Builder, sharedConfig: LazyAsyncValue<AwsSharedConfig>, activeProfile: LazyAsyncValue<AwsProfile>) {
  198    200   
            super.finalizeEnvironmentalConfig(builder, sharedConfig, activeProfile)
  199    201   
            builder.config.endpointUrl = builder.config.endpointUrl ?: resolveEndpointUrl(
  200    202   
                sharedConfig,
  201    203   
                "CodeBuild",
  202    204   
                "CODEBUILD",
  203    205   
                "codebuild",
  204    206   
            )
  205    207   
        }
  206    208   
    }
  207    209   
  208    210   
    public class Builder internal constructor(): AbstractSdkClientBuilder<Config, Config.Builder, CodeBuildClient>() {
  209    211   
        override val config: Config.Builder = Config.Builder()
  210    212   
        override fun newClient(config: Config): CodeBuildClient = DefaultCodeBuildClient(config)
  211    213   
    }
  212    214   
  213         -
    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig, TimeoutConfig {
         215  +
    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), LogRedactionConfig, RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig, TimeoutConfig {
  214    216   
        override val clientName: String = builder.clientName
  215    217   
        override val region: String? = (builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() })?.let { validateRegion(it) }
  216    218   
        override val regionProvider: RegionProvider = builder.regionProvider ?: DefaultRegionProviderChain()
  217    219   
        override val attemptTimeout: Duration? = builder.attemptTimeout
  218    220   
        override val authSchemePreference: kotlin.collections.List<aws.smithy.kotlin.runtime.auth.AuthSchemeId>? = builder.authSchemePreference
  219    221   
        override val authSchemes: kotlin.collections.List<aws.smithy.kotlin.runtime.http.auth.AuthScheme> = builder.authSchemes
  220    222   
        override val callTimeout: Duration? = builder.callTimeout
  221    223   
        override val credentialsProvider: CredentialsProvider = builder.credentialsProvider ?: DefaultChainCredentialsProvider(httpClient = httpClient, region = region).manage()
  222    224   
        public val endpointProvider: CodeBuildEndpointProvider = builder.endpointProvider ?: DefaultCodeBuildEndpointProvider()
  223    225   
        public val endpointUrl: Url? = builder.endpointUrl
  224    226   
        override val interceptors: kotlin.collections.List<aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor> = builder.interceptors
  225    227   
        override val logMode: LogMode = builder.logMode ?: LogMode.Default
         228  +
        override val logRedactedHeaders: kotlin.collections.Set<kotlin.String> = builder.logRedactedHeaders
  226    229   
        override val retryPolicy: RetryPolicy<Any?> = builder.retryPolicy ?: AwsRetryPolicy.Default
  227    230   
        override val telemetryProvider: TelemetryProvider = builder.telemetryProvider ?: TelemetryProvider.Global
  228    231   
        override val useDualStack: Boolean = builder.useDualStack ?: false
  229    232   
        override val useFips: Boolean = builder.useFips ?: false
  230    233   
        override val applicationId: String? = builder.applicationId
  231    234   
        public val authSchemeProvider: CodeBuildAuthSchemeProvider = builder.authSchemeProvider ?: DefaultCodeBuildAuthSchemeProvider(authSchemePreference = authSchemePreference)
  232    235   
        public companion object {
  233    236   
            public inline operator fun invoke(block: Builder.() -> kotlin.Unit): Config = Builder().apply(block).build()
  234    237   
        }
  235    238   
  236    239   
        public fun toBuilder(): Builder = Builder().apply {
  237    240   
            clientName = this@Config.clientName
  238    241   
            region = this@Config.region
  239    242   
            regionProvider = this@Config.regionProvider
  240    243   
            attemptTimeout = this@Config.attemptTimeout
  241    244   
            authSchemePreference = this@Config.authSchemePreference
  242    245   
            authSchemes = this@Config.authSchemes
  243    246   
            callTimeout = this@Config.callTimeout
  244    247   
            credentialsProvider = this@Config.credentialsProvider
  245    248   
            endpointProvider = this@Config.endpointProvider
  246    249   
            endpointUrl = this@Config.endpointUrl
  247    250   
            httpClient = this@Config.httpClient
  248    251   
            interceptors = this@Config.interceptors.toMutableList()
  249    252   
            logMode = this@Config.logMode
         253  +
            logRedactedHeaders = this@Config.logRedactedHeaders.toMutableSet()
  250    254   
            retryPolicy = this@Config.retryPolicy
  251    255   
            retryStrategy = this@Config.retryStrategy
  252    256   
            telemetryProvider = this@Config.telemetryProvider
  253    257   
            useDualStack = this@Config.useDualStack
  254    258   
            useFips = this@Config.useFips
  255    259   
            applicationId = this@Config.applicationId
  256    260   
            authSchemeProvider = this@Config.authSchemeProvider
  257    261   
        }
  258    262   
  259         -
        public class Builder : AwsSdkClientConfig.Builder, CredentialsProviderConfig.Builder, HttpAuthConfig.Builder, HttpClientConfig.Builder, HttpEngineConfig.Builder by HttpEngineConfigImpl.BuilderImpl(), RetryClientConfig.Builder, RetryStrategyClientConfig.Builder by RetryStrategyClientConfigImpl.BuilderImpl(), SdkClientConfig.Builder<Config>, TelemetryConfig.Builder, TimeoutConfig.Builder {
         263  +
        public class Builder : AwsSdkClientConfig.Builder, CredentialsProviderConfig.Builder, HttpAuthConfig.Builder, HttpClientConfig.Builder, HttpEngineConfig.Builder by HttpEngineConfigImpl.BuilderImpl(), LogRedactionConfig.Builder, RetryClientConfig.Builder, RetryStrategyClientConfig.Builder by RetryStrategyClientConfigImpl.BuilderImpl(), SdkClientConfig.Builder<Config>, TelemetryConfig.Builder, TimeoutConfig.Builder {
  260    264   
            /**
  261    265   
             * A reader-friendly name for the client.
  262    266   
             */
  263    267   
            override var clientName: String = "CodeBuild"
  264    268   
  265    269   
            /**
  266    270   
             * The AWS region (e.g. `us-west-2`) to make requests to. See about AWS
  267    271   
             * [global infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) for more information.
  268    272   
             * When specified, this static region configuration takes precedence over other region resolution methods.
  269    273   
             *
@@ -333,337 +392,404 @@
  353    357   
             * raw requests or responses. Use this setting to opt-in to additional debug logging.
  354    358   
             *
  355    359   
             * This can be used to configure logging of requests, responses, retries, etc of SDK clients.
  356    360   
             *
  357    361   
             * **NOTE**: Logging of raw requests or responses may leak sensitive information! It may also have
  358    362   
             * performance considerations when dumping the request/response body. This is primarily a tool for
  359    363   
             * debug purposes.
  360    364   
             */
  361    365   
            override var logMode: LogMode? = null
  362    366   
         367  +
            /**
         368  +
             * Set of HTTP header names whose values will be replaced with "*** Sensitive Data Redacted ***" in
         369  +
             * request/response debug logging. Matching is case-insensitive. Empty by default
         370  +
             * (no headers are redacted). See [PotentiallySensitiveHeaders][aws.smithy.kotlin.runtime.http.PotentiallySensitiveHeaders] for
         371  +
             * a pre-built set of commonly-sensitive headers.
         372  +
             */
         373  +
            override var logRedactedHeaders: kotlin.collections.MutableSet<kotlin.String> = kotlin.collections.mutableSetOf()
         374  +
  363    375   
            /**
  364    376   
             * The policy to use for evaluating operation results and determining whether/how to retry.
  365    377   
             */
  366    378   
            override var retryPolicy: RetryPolicy<Any?>? = null
  367    379   
  368    380   
            /**
  369    381   
             * The telemetry provider used to instrument the SDK operations with. By default, the global telemetry
  370    382   
             * provider will be used.
  371    383   
             */
  372    384   
            override var telemetryProvider: TelemetryProvider? = null

tmp-codegen-diff/services/codebuild/generated-src/main/kotlin/aws/sdk/kotlin/services/codebuild/DefaultCodeBuildClient.kt

@@ -2184,2184 +2221,2222 @@
 2204   2204   
    }
 2205   2205   
 2206   2206   
    /**
 2207   2207   
     * merge the defaults configured for the service into the execution context before firing off a request
 2208   2208   
     */
 2209   2209   
    private fun mergeServiceDefaults(ctx: ExecutionContext) {
 2210   2210   
        ctx.putIfAbsentNotNull(HttpOperationContext.AttemptTimeout, config.attemptTimeout)
 2211   2211   
        ctx.putIfAbsentNotNull(HttpOperationContext.CallTimeout, config.callTimeout)
 2212   2212   
        ctx.putIfAbsent(SdkClientOption.ClientName, config.clientName)
 2213   2213   
        ctx.putIfAbsent(SdkClientOption.LogMode, config.logMode)
        2214  +
        ctx.putIfAbsent(SdkClientOption.LogRedactedHeaders, config.logRedactedHeaders)
 2214   2215   
        ctx.putIfAbsentNotNull(AwsAttributes.Region, config.region)
 2215   2216   
        ctx.putIfAbsentNotNull(AwsSigningAttributes.SigningRegion, config.region)
 2216   2217   
        ctx.putIfAbsent(AwsSigningAttributes.SigningService, "codebuild")
 2217   2218   
        ctx.putIfAbsent(AwsSigningAttributes.CredentialsProvider, config.credentialsProvider)
 2218   2219   
        ctx.putIfAbsentNotNull(AwsSdkClientOption.ApplicationId, config.applicationId)
 2219   2220   
    }
 2220   2221   
 2221   2222   
}

tmp-codegen-diff/services/dynamodb/build/tmp/jvmJar/MANIFEST.MF

@@ -1,0 +2,0 @@
    1         -
Manifest-Version: 1.0
    2         -

tmp-codegen-diff/services/dynamodb/generated-src/main/kotlin/aws/sdk/kotlin/services/dynamodb/DefaultDynamoDbClient.kt

@@ -2553,2553 +2591,2592 @@
 2573   2573   
    }
 2574   2574   
 2575   2575   
    /**
 2576   2576   
     * merge the defaults configured for the service into the execution context before firing off a request
 2577   2577   
     */
 2578   2578   
    private fun mergeServiceDefaults(ctx: ExecutionContext) {
 2579   2579   
        ctx.putIfAbsentNotNull(HttpOperationContext.AttemptTimeout, config.attemptTimeout)
 2580   2580   
        ctx.putIfAbsentNotNull(HttpOperationContext.CallTimeout, config.callTimeout)
 2581   2581   
        ctx.putIfAbsent(SdkClientOption.ClientName, config.clientName)
 2582   2582   
        ctx.putIfAbsent(SdkClientOption.LogMode, config.logMode)
        2583  +
        ctx.putIfAbsent(SdkClientOption.LogRedactedHeaders, config.logRedactedHeaders)
 2583   2584   
        ctx.putIfAbsentNotNull(SdkClientOption.IdempotencyTokenProvider, config.idempotencyTokenProvider)
 2584   2585   
        ctx.putIfAbsentNotNull(AwsAttributes.Region, config.region)
 2585   2586   
        ctx.putIfAbsentNotNull(AwsSigningAttributes.SigningRegion, config.region)
 2586   2587   
        ctx.putIfAbsent(AwsSigningAttributes.SigningService, "dynamodb")
 2587   2588   
        ctx.putIfAbsent(AwsSigningAttributes.CredentialsProvider, config.credentialsProvider)
 2588   2589   
        ctx.putIfAbsentNotNull(AwsSdkClientOption.ApplicationId, config.applicationId)
 2589   2590   
    }
 2590   2591   
 2591   2592   
}

tmp-codegen-diff/services/dynamodb/generated-src/main/kotlin/aws/sdk/kotlin/services/dynamodb/DynamoDbClient.kt

@@ -119,119 +309,313 @@
  139    139   
import aws.sdk.kotlin.services.dynamodb.model.UpdateTimeToLiveResponse
  140    140   
import aws.smithy.kotlin.runtime.auth.AuthSchemeId
  141    141   
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProvider
  142    142   
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProviderConfig
  143    143   
import aws.smithy.kotlin.runtime.awsprotocol.ClockSkewInterceptor
  144    144   
import aws.smithy.kotlin.runtime.client.AbstractSdkClientBuilder
  145    145   
import aws.smithy.kotlin.runtime.client.AbstractSdkClientFactory
  146    146   
import aws.smithy.kotlin.runtime.client.IdempotencyTokenConfig
  147    147   
import aws.smithy.kotlin.runtime.client.IdempotencyTokenProvider
  148    148   
import aws.smithy.kotlin.runtime.client.LogMode
         149  +
import aws.smithy.kotlin.runtime.client.LogRedactionConfig
  149    150   
import aws.smithy.kotlin.runtime.client.RetryClientConfig
  150    151   
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfig
  151    152   
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfigImpl
  152    153   
import aws.smithy.kotlin.runtime.client.SdkClient
  153    154   
import aws.smithy.kotlin.runtime.client.SdkClientConfig
  154    155   
import aws.smithy.kotlin.runtime.client.region.RegionProvider
  155    156   
import aws.smithy.kotlin.runtime.http.auth.AuthScheme
  156    157   
import aws.smithy.kotlin.runtime.http.auth.HttpAuthConfig
  157    158   
import aws.smithy.kotlin.runtime.http.config.HttpClientConfig
  158    159   
import aws.smithy.kotlin.runtime.http.config.HttpEngineConfig
  159    160   
import aws.smithy.kotlin.runtime.http.config.TimeoutConfig
  160    161   
import aws.smithy.kotlin.runtime.http.engine.HttpClientEngine
  161    162   
import aws.smithy.kotlin.runtime.http.engine.HttpEngineConfigImpl
  162    163   
import aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor
  163    164   
import aws.smithy.kotlin.runtime.net.url.Url
  164    165   
import aws.smithy.kotlin.runtime.retries.RetryStrategy
  165    166   
import aws.smithy.kotlin.runtime.retries.policy.RetryPolicy
  166    167   
import aws.smithy.kotlin.runtime.telemetry.Global
  167    168   
import aws.smithy.kotlin.runtime.telemetry.TelemetryConfig
  168    169   
import aws.smithy.kotlin.runtime.telemetry.TelemetryProvider
  169    170   
import aws.smithy.kotlin.runtime.util.LazyAsyncValue
  170    171   
import kotlin.collections.List
         172  +
import kotlin.collections.Set
  171    173   
import kotlin.jvm.JvmStatic
  172    174   
import kotlin.time.Duration
  173    175   
import kotlin.time.Duration.Companion.milliseconds
  174    176   
import kotlinx.coroutines.runBlocking
  175    177   
  176    178   
  177    179   
public const val ServiceId: String = "DynamoDB"
  178    180   
public const val SdkVersion: String = "1.7.0-SNAPSHOT"
  179    181   
public const val ServiceApiVersion: String = "2012-08-10"
  180    182   
  181    183   
/**
  182    184   
 * # Amazon DynamoDB
  183    185   
 * Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. DynamoDB lets you offload the administrative burdens of operating and scaling a distributed database, so that you don't have to worry about hardware provisioning, setup and configuration, replication, software patching, or cluster scaling.
  184    186   
 *
  185    187   
 * With DynamoDB, you can create database tables that can store and retrieve any amount of data, and serve any level of request traffic. You can scale up or scale down your tables' throughput capacity without downtime or performance degradation, and use the Amazon Web Services Management Console to monitor resource utilization and performance metrics.
  186    188   
 *
  187    189   
 * DynamoDB automatically spreads the data and traffic for your tables over a sufficient number of servers to handle your throughput and storage requirements, while maintaining consistent and fast performance. All of your data is stored on solid state disks (SSDs) and automatically replicated across multiple Availability Zones in an Amazon Web Services Region, providing built-in high availability and data durability.
  188    190   
 */
  189    191   
public interface DynamoDbClient : SdkClient {
  190    192   
    /**
  191    193   
     * DynamoDbClient's configuration
  192    194   
     */
  193    195   
    public override val config: Config
  194    196   
  195    197   
    public companion object : AbstractAwsSdkClientFactory<Config, Config.Builder, DynamoDbClient, Builder>()
  196    198   
     {
  197    199   
        @JvmStatic
  198    200   
        override fun builder(): Builder = Builder()
  199    201   
  200    202   
        override fun finalizeConfig(builder: Builder) {
  201    203   
            super.finalizeConfig(builder)
  202    204   
            builder.config.interceptors.add(0, ClockSkewInterceptor())
  203    205   
        }
  204    206   
  205    207   
        override suspend fun finalizeEnvironmentalConfig(builder: Builder, sharedConfig: LazyAsyncValue<AwsSharedConfig>, activeProfile: LazyAsyncValue<AwsProfile>) {
  206    208   
            super.finalizeEnvironmentalConfig(builder, sharedConfig, activeProfile)
  207    209   
            builder.config.endpointUrl = builder.config.endpointUrl ?: resolveEndpointUrl(
  208    210   
                sharedConfig,
  209    211   
                "DynamoDb",
  210    212   
                "DYNAMODB",
  211    213   
                "dynamodb",
  212    214   
            )
  213    215   
            builder.config.accountIdEndpointMode = builder.config.accountIdEndpointMode ?: resolveAccountIdEndpointMode(profile = activeProfile)
  214    216   
            val epDiscoveryEnabled = resolveEndpointDiscoveryEnabled(profile = activeProfile, serviceRequiresEpDiscovery = false)
  215    217   
            builder.config.endpointDiscoverer = builder.config.endpointDiscoverer ?: if (epDiscoveryEnabled) DefaultDynamoDbEndpointDiscoverer() else null
  216    218   
        }
  217    219   
  218    220   
        override val defaultMaxAttempts: Int = 4
  219    221   
        override val defaultInitialDelay: Duration = 25.milliseconds
  220    222   
    }
  221    223   
  222    224   
    public class Builder internal constructor(): AbstractSdkClientBuilder<Config, Config.Builder, DynamoDbClient>() {
  223    225   
        override val config: Config.Builder = Config.Builder()
  224    226   
        override fun newClient(config: Config): DynamoDbClient = DefaultDynamoDbClient(config)
  225    227   
    }
  226    228   
  227         -
    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), IdempotencyTokenConfig, RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig, TimeoutConfig {
         229  +
    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), IdempotencyTokenConfig, LogRedactionConfig, RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig, TimeoutConfig {
  228    230   
        override val clientName: String = builder.clientName
  229    231   
        override val region: String? = (builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() })?.let { validateRegion(it) }
  230    232   
        override val regionProvider: RegionProvider = builder.regionProvider ?: DefaultRegionProviderChain()
  231    233   
        public val accountIdEndpointMode: AccountIdEndpointMode = builder.accountIdEndpointMode ?: AccountIdEndpointMode.PREFERRED
  232    234   
        override val attemptTimeout: Duration? = builder.attemptTimeout
  233    235   
        override val authSchemePreference: kotlin.collections.List<aws.smithy.kotlin.runtime.auth.AuthSchemeId>? = builder.authSchemePreference
  234    236   
        override val authSchemes: kotlin.collections.List<aws.smithy.kotlin.runtime.http.auth.AuthScheme> = builder.authSchemes
  235    237   
        override val callTimeout: Duration? = builder.callTimeout
  236    238   
        override val credentialsProvider: CredentialsProvider = builder.credentialsProvider ?: DefaultChainCredentialsProvider(httpClient = httpClient, region = region).manage()
  237    239   
        public val endpointDiscoverer: DynamoDbEndpointDiscoverer? = builder.endpointDiscoverer
  238    240   
        public val endpointProvider: DynamoDbEndpointProvider = builder.endpointProvider ?: DefaultDynamoDbEndpointProvider()
  239    241   
        public val endpointUrl: Url? = builder.endpointUrl
  240    242   
        override val idempotencyTokenProvider: IdempotencyTokenProvider = builder.idempotencyTokenProvider ?: IdempotencyTokenProvider.Default
  241    243   
        override val interceptors: kotlin.collections.List<aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor> = builder.interceptors
  242    244   
        override val logMode: LogMode = builder.logMode ?: LogMode.Default
         245  +
        override val logRedactedHeaders: kotlin.collections.Set<kotlin.String> = builder.logRedactedHeaders
  243    246   
        override val retryPolicy: RetryPolicy<Any?> = builder.retryPolicy ?: AwsRetryPolicy.Default
  244    247   
        override val telemetryProvider: TelemetryProvider = builder.telemetryProvider ?: TelemetryProvider.Global
  245    248   
        override val useDualStack: Boolean = builder.useDualStack ?: false
  246    249   
        override val useFips: Boolean = builder.useFips ?: false
  247    250   
        override val applicationId: String? = builder.applicationId
  248    251   
        public val authSchemeProvider: DynamoDbAuthSchemeProvider = builder.authSchemeProvider ?: DefaultDynamoDbAuthSchemeProvider(authSchemePreference = authSchemePreference)
  249    252   
        public companion object {
  250    253   
            public inline operator fun invoke(block: Builder.() -> kotlin.Unit): Config = Builder().apply(block).build()
  251    254   
        }
  252    255   
  253    256   
        public fun toBuilder(): Builder = Builder().apply {
  254    257   
            clientName = this@Config.clientName
  255    258   
            region = this@Config.region
  256    259   
            regionProvider = this@Config.regionProvider
  257    260   
            accountIdEndpointMode = this@Config.accountIdEndpointMode
  258    261   
            attemptTimeout = this@Config.attemptTimeout
  259    262   
            authSchemePreference = this@Config.authSchemePreference
  260    263   
            authSchemes = this@Config.authSchemes
  261    264   
            callTimeout = this@Config.callTimeout
  262    265   
            credentialsProvider = this@Config.credentialsProvider
  263    266   
            endpointDiscoverer = this@Config.endpointDiscoverer
  264    267   
            endpointProvider = this@Config.endpointProvider
  265    268   
            endpointUrl = this@Config.endpointUrl
  266    269   
            httpClient = this@Config.httpClient
  267    270   
            idempotencyTokenProvider = this@Config.idempotencyTokenProvider
  268    271   
            interceptors = this@Config.interceptors.toMutableList()
  269    272   
            logMode = this@Config.logMode
         273  +
            logRedactedHeaders = this@Config.logRedactedHeaders.toMutableSet()
  270    274   
            retryPolicy = this@Config.retryPolicy
  271    275   
            retryStrategy = this@Config.retryStrategy
  272    276   
            telemetryProvider = this@Config.telemetryProvider
  273    277   
            useDualStack = this@Config.useDualStack
  274    278   
            useFips = this@Config.useFips
  275    279   
            applicationId = this@Config.applicationId
  276    280   
            authSchemeProvider = this@Config.authSchemeProvider
  277    281   
        }
  278    282   
  279         -
        public class Builder : AwsSdkClientConfig.Builder, CredentialsProviderConfig.Builder, HttpAuthConfig.Builder, HttpClientConfig.Builder, HttpEngineConfig.Builder by HttpEngineConfigImpl.BuilderImpl(), IdempotencyTokenConfig.Builder, RetryClientConfig.Builder, RetryStrategyClientConfig.Builder by RetryStrategyClientConfigImpl.BuilderImpl(), SdkClientConfig.Builder<Config>, TelemetryConfig.Builder, TimeoutConfig.Builder {
         283  +
        public class Builder : AwsSdkClientConfig.Builder, CredentialsProviderConfig.Builder, HttpAuthConfig.Builder, HttpClientConfig.Builder, HttpEngineConfig.Builder by HttpEngineConfigImpl.BuilderImpl(), IdempotencyTokenConfig.Builder, LogRedactionConfig.Builder, RetryClientConfig.Builder, RetryStrategyClientConfig.Builder by RetryStrategyClientConfigImpl.BuilderImpl(), SdkClientConfig.Builder<Config>, TelemetryConfig.Builder, TimeoutConfig.Builder {
  280    284   
            /**
  281    285   
             * A reader-friendly name for the client.
  282    286   
             */
  283    287   
            override var clientName: String = "DynamoDB"
  284    288   
  285    289   
            /**
  286    290   
             * The AWS region (e.g. `us-west-2`) to make requests to. See about AWS
  287    291   
             * [global infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) for more information.
  288    292   
             * When specified, this static region configuration takes precedence over other region resolution methods.
  289    293   
             *
@@ -371,375 +430,442 @@
  391    395   
             * raw requests or responses. Use this setting to opt-in to additional debug logging.
  392    396   
             *
  393    397   
             * This can be used to configure logging of requests, responses, retries, etc of SDK clients.
  394    398   
             *
  395    399   
             * **NOTE**: Logging of raw requests or responses may leak sensitive information! It may also have
  396    400   
             * performance considerations when dumping the request/response body. This is primarily a tool for
  397    401   
             * debug purposes.
  398    402   
             */
  399    403   
            override var logMode: LogMode? = null
  400    404   
         405  +
            /**
         406  +
             * Set of HTTP header names whose values will be replaced with "*** Sensitive Data Redacted ***" in
         407  +
             * request/response debug logging. Matching is case-insensitive. Empty by default
         408  +
             * (no headers are redacted). See [PotentiallySensitiveHeaders][aws.smithy.kotlin.runtime.http.PotentiallySensitiveHeaders] for
         409  +
             * a pre-built set of commonly-sensitive headers.
         410  +
             */
         411  +
            override var logRedactedHeaders: kotlin.collections.MutableSet<kotlin.String> = kotlin.collections.mutableSetOf()
         412  +
  401    413   
            /**
  402    414   
             * The policy to use for evaluating operation results and determining whether/how to retry.
  403    415   
             */
  404    416   
            override var retryPolicy: RetryPolicy<Any?>? = null
  405    417   
  406    418   
            /**
  407    419   
             * The telemetry provider used to instrument the SDK operations with. By default, the global telemetry
  408    420   
             * provider will be used.
  409    421   
             */
  410    422   
            override var telemetryProvider: TelemetryProvider? = null

tmp-codegen-diff/services/ec2/build/tmp/jvmJar/MANIFEST.MF

@@ -1,0 +2,0 @@
    1         -
Manifest-Version: 1.0
    2         -

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/DefaultEc2Client.kt

@@ -32953,32953 +32991,32992 @@
32973  32973   
    }
32974  32974   
32975  32975   
    /**
32976  32976   
     * merge the defaults configured for the service into the execution context before firing off a request
32977  32977   
     */
32978  32978   
    private fun mergeServiceDefaults(ctx: ExecutionContext) {
32979  32979   
        ctx.putIfAbsentNotNull(HttpOperationContext.AttemptTimeout, config.attemptTimeout)
32980  32980   
        ctx.putIfAbsentNotNull(HttpOperationContext.CallTimeout, config.callTimeout)
32981  32981   
        ctx.putIfAbsent(SdkClientOption.ClientName, config.clientName)
32982  32982   
        ctx.putIfAbsent(SdkClientOption.LogMode, config.logMode)
       32983  +
        ctx.putIfAbsent(SdkClientOption.LogRedactedHeaders, config.logRedactedHeaders)
32983  32984   
        ctx.putIfAbsentNotNull(SdkClientOption.IdempotencyTokenProvider, config.idempotencyTokenProvider)
32984  32985   
        ctx.putIfAbsentNotNull(AwsAttributes.Region, config.region)
32985  32986   
        ctx.putIfAbsentNotNull(AwsSigningAttributes.SigningRegion, config.region)
32986  32987   
        ctx.putIfAbsent(AwsSigningAttributes.SigningService, "ec2")
32987  32988   
        ctx.putIfAbsent(AwsSigningAttributes.CredentialsProvider, config.credentialsProvider)
32988  32989   
        ctx.putIfAbsentNotNull(AwsSdkClientOption.ApplicationId, config.applicationId)
32989  32990   
    }
32990  32991   
32991  32992   
}

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/Ec2Client.kt

@@ -1544,1544 +1732,1736 @@
 1564   1564   
import aws.sdk.kotlin.services.ec2.model.WithdrawByoipCidrResponse
 1565   1565   
import aws.smithy.kotlin.runtime.auth.AuthSchemeId
 1566   1566   
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProvider
 1567   1567   
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProviderConfig
 1568   1568   
import aws.smithy.kotlin.runtime.awsprotocol.ClockSkewInterceptor
 1569   1569   
import aws.smithy.kotlin.runtime.client.AbstractSdkClientBuilder
 1570   1570   
import aws.smithy.kotlin.runtime.client.AbstractSdkClientFactory
 1571   1571   
import aws.smithy.kotlin.runtime.client.IdempotencyTokenConfig
 1572   1572   
import aws.smithy.kotlin.runtime.client.IdempotencyTokenProvider
 1573   1573   
import aws.smithy.kotlin.runtime.client.LogMode
        1574  +
import aws.smithy.kotlin.runtime.client.LogRedactionConfig
 1574   1575   
import aws.smithy.kotlin.runtime.client.RetryClientConfig
 1575   1576   
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfig
 1576   1577   
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfigImpl
 1577   1578   
import aws.smithy.kotlin.runtime.client.SdkClient
 1578   1579   
import aws.smithy.kotlin.runtime.client.SdkClientConfig
 1579   1580   
import aws.smithy.kotlin.runtime.client.region.RegionProvider
 1580   1581   
import aws.smithy.kotlin.runtime.http.auth.AuthScheme
 1581   1582   
import aws.smithy.kotlin.runtime.http.auth.HttpAuthConfig
 1582   1583   
import aws.smithy.kotlin.runtime.http.config.HttpClientConfig
 1583   1584   
import aws.smithy.kotlin.runtime.http.config.HttpEngineConfig
 1584   1585   
import aws.smithy.kotlin.runtime.http.config.TimeoutConfig
 1585   1586   
import aws.smithy.kotlin.runtime.http.engine.HttpClientEngine
 1586   1587   
import aws.smithy.kotlin.runtime.http.engine.HttpEngineConfigImpl
 1587   1588   
import aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor
 1588   1589   
import aws.smithy.kotlin.runtime.net.url.Url
 1589   1590   
import aws.smithy.kotlin.runtime.retries.RetryStrategy
 1590   1591   
import aws.smithy.kotlin.runtime.retries.policy.RetryPolicy
 1591   1592   
import aws.smithy.kotlin.runtime.telemetry.Global
 1592   1593   
import aws.smithy.kotlin.runtime.telemetry.TelemetryConfig
 1593   1594   
import aws.smithy.kotlin.runtime.telemetry.TelemetryProvider
 1594   1595   
import aws.smithy.kotlin.runtime.util.LazyAsyncValue
 1595   1596   
import kotlin.collections.List
        1597  +
import kotlin.collections.Set
 1596   1598   
import kotlin.jvm.JvmStatic
 1597   1599   
import kotlin.time.Duration
 1598   1600   
import kotlinx.coroutines.runBlocking
 1599   1601   
 1600   1602   
 1601   1603   
public const val ServiceId: String = "EC2"
 1602   1604   
public const val SdkVersion: String = "1.7.0-SNAPSHOT"
 1603   1605   
public const val ServiceApiVersion: String = "2016-11-15"
 1604   1606   
 1605   1607   
/**
 1606   1608   
 * # Amazon Elastic Compute Cloud
 1607   1609   
 * This is the *Amazon EC2 API Reference*. It provides descriptions, API request parameters, and the XML response for each of the Amazon EC2 Query API actions. Note that the Amazon EC2 API includes actions for Amazon EC2 plus additional services, such as Amazon EBS and Amazon VPC.
 1608   1610   
 *
 1609   1611   
 * **Learn more**
 1610   1612   
 * + To learn about using the Query API, see [Using the API for Amazon EC2](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-low-level-api.html).
 1611   1613   
 * + To learn about the permissions required to call an Amazon EC2 API action, see [Actions, resources, and condition keys for Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).
 1612   1614   
 * + To get the list of API actions by service and resource, see [Actions by service](https://docs.aws.amazon.com/ec2/latest/devguide/OperationList-query.html).
 1613   1615   
 * + To get the alphabetical list of API actions, see .
 1614   1616   
 * + To get descriptions of the API error codes, see [Error codes for the Amazon EC2 API](https://docs.aws.amazon.com/ec2/latest/devguide/errors-overview.html).
 1615   1617   
 *
 1616   1618   
 * Alternatively, use one of the following methods to access the Amazon EC2 API, instead of using the Query API directly:
 1617   1619   
 * + [Amazon Web Services CLI Command Reference - ec2 commands](https://docs.aws.amazon.com/cli/latest/reference/ec2/)
 1618   1620   
 * + [CloudFormation - Amazon EC2 resource type reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/AWS_EC2.html)
 1619   1621   
 * + [Amazon Web Services Tools for PowerShell Cmdlet Reference - Amazon EC2 cmdlets](https://docs.aws.amazon.com/powershell/v5/reference/items/EC2_cmdlets.html)
 1620   1622   
 * + [Amazon Web Services SDKs](https://builder.aws.com/build/tools)
 1621   1623   
 */
 1622   1624   
public interface Ec2Client : SdkClient {
 1623   1625   
    /**
 1624   1626   
     * Ec2Client's configuration
 1625   1627   
     */
 1626   1628   
    public override val config: Config
 1627   1629   
 1628   1630   
    public companion object : AbstractAwsSdkClientFactory<Config, Config.Builder, Ec2Client, Builder>()
 1629   1631   
     {
 1630   1632   
        @JvmStatic
 1631   1633   
        override fun builder(): Builder = Builder()
 1632   1634   
 1633   1635   
        override fun finalizeConfig(builder: Builder) {
 1634   1636   
            super.finalizeConfig(builder)
 1635   1637   
            builder.config.interceptors.add(0, ClockSkewInterceptor())
 1636   1638   
        }
 1637   1639   
 1638   1640   
        override suspend fun finalizeEnvironmentalConfig(builder: Builder, sharedConfig: LazyAsyncValue<AwsSharedConfig>, activeProfile: LazyAsyncValue<AwsProfile>) {
 1639   1641   
            super.finalizeEnvironmentalConfig(builder, sharedConfig, activeProfile)
 1640   1642   
            builder.config.endpointUrl = builder.config.endpointUrl ?: resolveEndpointUrl(
 1641   1643   
                sharedConfig,
 1642   1644   
                "Ec2",
 1643   1645   
                "EC2",
 1644   1646   
                "ec2",
 1645   1647   
            )
 1646   1648   
        }
 1647   1649   
    }
 1648   1650   
 1649   1651   
    public class Builder internal constructor(): AbstractSdkClientBuilder<Config, Config.Builder, Ec2Client>() {
 1650   1652   
        override val config: Config.Builder = Config.Builder()
 1651   1653   
        override fun newClient(config: Config): Ec2Client = DefaultEc2Client(config)
 1652   1654   
    }
 1653   1655   
 1654         -
    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), IdempotencyTokenConfig, RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig, TimeoutConfig {
        1656  +
    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), IdempotencyTokenConfig, LogRedactionConfig, RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig, TimeoutConfig {
 1655   1657   
        override val clientName: String = builder.clientName
 1656   1658   
        override val region: String? = (builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() })?.let { validateRegion(it) }
 1657   1659   
        override val regionProvider: RegionProvider = builder.regionProvider ?: DefaultRegionProviderChain()
 1658   1660   
        override val attemptTimeout: Duration? = builder.attemptTimeout
 1659   1661   
        override val authSchemePreference: kotlin.collections.List<aws.smithy.kotlin.runtime.auth.AuthSchemeId>? = builder.authSchemePreference
 1660   1662   
        override val authSchemes: kotlin.collections.List<aws.smithy.kotlin.runtime.http.auth.AuthScheme> = builder.authSchemes
 1661   1663   
        override val callTimeout: Duration? = builder.callTimeout
 1662   1664   
        override val credentialsProvider: CredentialsProvider = builder.credentialsProvider ?: DefaultChainCredentialsProvider(httpClient = httpClient, region = region).manage()
 1663   1665   
        public val endpointProvider: Ec2EndpointProvider = builder.endpointProvider ?: DefaultEc2EndpointProvider()
 1664   1666   
        public val endpointUrl: Url? = builder.endpointUrl
 1665   1667   
        override val idempotencyTokenProvider: IdempotencyTokenProvider = builder.idempotencyTokenProvider ?: IdempotencyTokenProvider.Default
 1666   1668   
        override val interceptors: kotlin.collections.List<aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor> = builder.interceptors
 1667   1669   
        override val logMode: LogMode = builder.logMode ?: LogMode.Default
        1670  +
        override val logRedactedHeaders: kotlin.collections.Set<kotlin.String> = builder.logRedactedHeaders
 1668   1671   
        override val retryPolicy: RetryPolicy<Any?> = builder.retryPolicy ?: AwsRetryPolicy.Default
 1669   1672   
        override val telemetryProvider: TelemetryProvider = builder.telemetryProvider ?: TelemetryProvider.Global
 1670   1673   
        override val useDualStack: Boolean = builder.useDualStack ?: false
 1671   1674   
        override val useFips: Boolean = builder.useFips ?: false
 1672   1675   
        override val applicationId: String? = builder.applicationId
 1673   1676   
        public val authSchemeProvider: Ec2AuthSchemeProvider = builder.authSchemeProvider ?: DefaultEc2AuthSchemeProvider(authSchemePreference = authSchemePreference)
 1674   1677   
        public companion object {
 1675   1678   
            public inline operator fun invoke(block: Builder.() -> kotlin.Unit): Config = Builder().apply(block).build()
 1676   1679   
        }
 1677   1680   
 1678   1681   
        public fun toBuilder(): Builder = Builder().apply {
 1679   1682   
            clientName = this@Config.clientName
 1680   1683   
            region = this@Config.region
 1681   1684   
            regionProvider = this@Config.regionProvider
 1682   1685   
            attemptTimeout = this@Config.attemptTimeout
 1683   1686   
            authSchemePreference = this@Config.authSchemePreference
 1684   1687   
            authSchemes = this@Config.authSchemes
 1685   1688   
            callTimeout = this@Config.callTimeout
 1686   1689   
            credentialsProvider = this@Config.credentialsProvider
 1687   1690   
            endpointProvider = this@Config.endpointProvider
 1688   1691   
            endpointUrl = this@Config.endpointUrl
 1689   1692   
            httpClient = this@Config.httpClient
 1690   1693   
            idempotencyTokenProvider = this@Config.idempotencyTokenProvider
 1691   1694   
            interceptors = this@Config.interceptors.toMutableList()
 1692   1695   
            logMode = this@Config.logMode
        1696  +
            logRedactedHeaders = this@Config.logRedactedHeaders.toMutableSet()
 1693   1697   
            retryPolicy = this@Config.retryPolicy
 1694   1698   
            retryStrategy = this@Config.retryStrategy
 1695   1699   
            telemetryProvider = this@Config.telemetryProvider
 1696   1700   
            useDualStack = this@Config.useDualStack
 1697   1701   
            useFips = this@Config.useFips
 1698   1702   
            applicationId = this@Config.applicationId
 1699   1703   
            authSchemeProvider = this@Config.authSchemeProvider
 1700   1704   
        }
 1701   1705   
 1702         -
        public class Builder : AwsSdkClientConfig.Builder, CredentialsProviderConfig.Builder, HttpAuthConfig.Builder, HttpClientConfig.Builder, HttpEngineConfig.Builder by HttpEngineConfigImpl.BuilderImpl(), IdempotencyTokenConfig.Builder, RetryClientConfig.Builder, RetryStrategyClientConfig.Builder by RetryStrategyClientConfigImpl.BuilderImpl(), SdkClientConfig.Builder<Config>, TelemetryConfig.Builder, TimeoutConfig.Builder {
        1706  +
        public class Builder : AwsSdkClientConfig.Builder, CredentialsProviderConfig.Builder, HttpAuthConfig.Builder, HttpClientConfig.Builder, HttpEngineConfig.Builder by HttpEngineConfigImpl.BuilderImpl(), IdempotencyTokenConfig.Builder, LogRedactionConfig.Builder, RetryClientConfig.Builder, RetryStrategyClientConfig.Builder by RetryStrategyClientConfigImpl.BuilderImpl(), SdkClientConfig.Builder<Config>, TelemetryConfig.Builder, TimeoutConfig.Builder {
 1703   1707   
            /**
 1704   1708   
             * A reader-friendly name for the client.
 1705   1709   
             */
 1706   1710   
            override var clientName: String = "EC2"
 1707   1711   
 1708   1712   
            /**
 1709   1713   
             * The AWS region (e.g. `us-west-2`) to make requests to. See about AWS
 1710   1714   
             * [global infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) for more information.
 1711   1715   
             * When specified, this static region configuration takes precedence over other region resolution methods.
 1712   1716   
             *
@@ -1782,1786 +1841,1853 @@
 1802   1806   
             * raw requests or responses. Use this setting to opt-in to additional debug logging.
 1803   1807   
             *
 1804   1808   
             * This can be used to configure logging of requests, responses, retries, etc of SDK clients.
 1805   1809   
             *
 1806   1810   
             * **NOTE**: Logging of raw requests or responses may leak sensitive information! It may also have
 1807   1811   
             * performance considerations when dumping the request/response body. This is primarily a tool for
 1808   1812   
             * debug purposes.
 1809   1813   
             */
 1810   1814   
            override var logMode: LogMode? = null
 1811   1815   
        1816  +
            /**
        1817  +
             * Set of HTTP header names whose values will be replaced with "*** Sensitive Data Redacted ***" in
        1818  +
             * request/response debug logging. Matching is case-insensitive. Empty by default
        1819  +
             * (no headers are redacted). See [PotentiallySensitiveHeaders][aws.smithy.kotlin.runtime.http.PotentiallySensitiveHeaders] for
        1820  +
             * a pre-built set of commonly-sensitive headers.
        1821  +
             */
        1822  +
            override var logRedactedHeaders: kotlin.collections.MutableSet<kotlin.String> = kotlin.collections.mutableSetOf()
        1823  +
 1812   1824   
            /**
 1813   1825   
             * The policy to use for evaluating operation results and determining whether/how to retry.
 1814   1826   
             */
 1815   1827   
            override var retryPolicy: RetryPolicy<Any?>? = null
 1816   1828   
 1817   1829   
            /**
 1818   1830   
             * The telemetry provider used to instrument the SDK operations with. By default, the global telemetry
 1819   1831   
             * provider will be used.
 1820   1832   
             */
 1821   1833   
            override var telemetryProvider: TelemetryProvider? = null

tmp-codegen-diff/services/polly/build/tmp/jvmJar/MANIFEST.MF

@@ -1,0 +2,0 @@
    1         -
Manifest-Version: 1.0
    2         -

tmp-codegen-diff/services/polly/generated-src/main/kotlin/aws/sdk/kotlin/services/polly/DefaultPollyClient.kt

@@ -424,424 +461,462 @@
  444    444   
    }
  445    445   
  446    446   
    /**
  447    447   
     * merge the defaults configured for the service into the execution context before firing off a request
  448    448   
     */
  449    449   
    private fun mergeServiceDefaults(ctx: ExecutionContext) {
  450    450   
        ctx.putIfAbsentNotNull(HttpOperationContext.AttemptTimeout, config.attemptTimeout)
  451    451   
        ctx.putIfAbsentNotNull(HttpOperationContext.CallTimeout, config.callTimeout)
  452    452   
        ctx.putIfAbsent(SdkClientOption.ClientName, config.clientName)
  453    453   
        ctx.putIfAbsent(SdkClientOption.LogMode, config.logMode)
         454  +
        ctx.putIfAbsent(SdkClientOption.LogRedactedHeaders, config.logRedactedHeaders)
  454    455   
        ctx.putIfAbsentNotNull(AwsAttributes.Region, config.region)
  455    456   
        ctx.putIfAbsentNotNull(AwsSigningAttributes.SigningRegion, config.region)
  456    457   
        ctx.putIfAbsent(AwsSigningAttributes.SigningService, "polly")
  457    458   
        ctx.putIfAbsent(AwsSigningAttributes.CredentialsProvider, config.credentialsProvider)
  458    459   
        ctx.putIfAbsentNotNull(AwsSdkClientOption.ApplicationId, config.applicationId)
  459    460   
    }
  460    461   
  461    462   
}

tmp-codegen-diff/services/polly/generated-src/main/kotlin/aws/sdk/kotlin/services/polly/PollyClient.kt

@@ -18,18 +192,196 @@
   38     38   
import aws.sdk.kotlin.services.polly.model.StartSpeechSynthesisTaskResponse
   39     39   
import aws.sdk.kotlin.services.polly.model.SynthesizeSpeechRequest
   40     40   
import aws.sdk.kotlin.services.polly.model.SynthesizeSpeechResponse
   41     41   
import aws.smithy.kotlin.runtime.auth.AuthSchemeId
   42     42   
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProvider
   43     43   
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProviderConfig
   44     44   
import aws.smithy.kotlin.runtime.awsprotocol.ClockSkewInterceptor
   45     45   
import aws.smithy.kotlin.runtime.client.AbstractSdkClientBuilder
   46     46   
import aws.smithy.kotlin.runtime.client.AbstractSdkClientFactory
   47     47   
import aws.smithy.kotlin.runtime.client.LogMode
          48  +
import aws.smithy.kotlin.runtime.client.LogRedactionConfig
   48     49   
import aws.smithy.kotlin.runtime.client.RetryClientConfig
   49     50   
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfig
   50     51   
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfigImpl
   51     52   
import aws.smithy.kotlin.runtime.client.SdkClient
   52     53   
import aws.smithy.kotlin.runtime.client.SdkClientConfig
   53     54   
import aws.smithy.kotlin.runtime.client.region.RegionProvider
   54     55   
import aws.smithy.kotlin.runtime.http.auth.AuthScheme
   55     56   
import aws.smithy.kotlin.runtime.http.auth.HttpAuthConfig
   56     57   
import aws.smithy.kotlin.runtime.http.config.HttpClientConfig
   57     58   
import aws.smithy.kotlin.runtime.http.config.HttpEngineConfig
   58     59   
import aws.smithy.kotlin.runtime.http.config.TimeoutConfig
   59     60   
import aws.smithy.kotlin.runtime.http.engine.HttpClientEngine
   60     61   
import aws.smithy.kotlin.runtime.http.engine.HttpEngineConfigImpl
   61     62   
import aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor
   62     63   
import aws.smithy.kotlin.runtime.net.url.Url
   63     64   
import aws.smithy.kotlin.runtime.retries.RetryStrategy
   64     65   
import aws.smithy.kotlin.runtime.retries.policy.RetryPolicy
   65     66   
import aws.smithy.kotlin.runtime.telemetry.Global
   66     67   
import aws.smithy.kotlin.runtime.telemetry.TelemetryConfig
   67     68   
import aws.smithy.kotlin.runtime.telemetry.TelemetryProvider
   68     69   
import aws.smithy.kotlin.runtime.util.LazyAsyncValue
   69     70   
import kotlin.collections.List
          71  +
import kotlin.collections.Set
   70     72   
import kotlin.jvm.JvmStatic
   71     73   
import kotlin.time.Duration
   72     74   
import kotlinx.coroutines.runBlocking
   73     75   
   74     76   
   75     77   
public const val ServiceId: String = "Polly"
   76     78   
public const val SdkVersion: String = "1.7.0-SNAPSHOT"
   77     79   
public const val ServiceApiVersion: String = "2016-06-10"
   78     80   
   79     81   
/**
   80     82   
 * Amazon Polly is a web service that makes it easy to synthesize speech from text.
   81     83   
 *
   82     84   
 * The Amazon Polly service provides API operations for synthesizing high-quality speech from plain text and Speech Synthesis Markup Language (SSML), along with managing pronunciations lexicons that enable you to get the best results for your application domain.
   83     85   
 */
   84     86   
public interface PollyClient : SdkClient {
   85     87   
    /**
   86     88   
     * PollyClient's configuration
   87     89   
     */
   88     90   
    public override val config: Config
   89     91   
   90     92   
    public companion object : AbstractAwsSdkClientFactory<Config, Config.Builder, PollyClient, Builder>()
   91     93   
     {
   92     94   
        @JvmStatic
   93     95   
        override fun builder(): Builder = Builder()
   94     96   
   95     97   
        override fun finalizeConfig(builder: Builder) {
   96     98   
            super.finalizeConfig(builder)
   97     99   
            builder.config.interceptors.add(0, ClockSkewInterceptor())
   98    100   
        }
   99    101   
  100    102   
        override suspend fun finalizeEnvironmentalConfig(builder: Builder, sharedConfig: LazyAsyncValue<AwsSharedConfig>, activeProfile: LazyAsyncValue<AwsProfile>) {
  101    103   
            super.finalizeEnvironmentalConfig(builder, sharedConfig, activeProfile)
  102    104   
            builder.config.endpointUrl = builder.config.endpointUrl ?: resolveEndpointUrl(
  103    105   
                sharedConfig,
  104    106   
                "Polly",
  105    107   
                "POLLY",
  106    108   
                "polly",
  107    109   
            )
  108    110   
        }
  109    111   
    }
  110    112   
  111    113   
    public class Builder internal constructor(): AbstractSdkClientBuilder<Config, Config.Builder, PollyClient>() {
  112    114   
        override val config: Config.Builder = Config.Builder()
  113    115   
        override fun newClient(config: Config): PollyClient = DefaultPollyClient(config)
  114    116   
    }
  115    117   
  116         -
    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig, TimeoutConfig {
         118  +
    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), LogRedactionConfig, RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig, TimeoutConfig {
  117    119   
        override val clientName: String = builder.clientName
  118    120   
        override val region: String? = (builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() })?.let { validateRegion(it) }
  119    121   
        override val regionProvider: RegionProvider = builder.regionProvider ?: DefaultRegionProviderChain()
  120    122   
        override val attemptTimeout: Duration? = builder.attemptTimeout
  121    123   
        override val authSchemePreference: kotlin.collections.List<aws.smithy.kotlin.runtime.auth.AuthSchemeId>? = builder.authSchemePreference
  122    124   
        override val authSchemes: kotlin.collections.List<aws.smithy.kotlin.runtime.http.auth.AuthScheme> = builder.authSchemes
  123    125   
        override val callTimeout: Duration? = builder.callTimeout
  124    126   
        override val credentialsProvider: CredentialsProvider = builder.credentialsProvider ?: DefaultChainCredentialsProvider(httpClient = httpClient, region = region).manage()
  125    127   
        public val endpointProvider: PollyEndpointProvider = builder.endpointProvider ?: DefaultPollyEndpointProvider()
  126    128   
        public val endpointUrl: Url? = builder.endpointUrl
  127    129   
        override val interceptors: kotlin.collections.List<aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor> = builder.interceptors
  128    130   
        override val logMode: LogMode = builder.logMode ?: LogMode.Default
         131  +
        override val logRedactedHeaders: kotlin.collections.Set<kotlin.String> = builder.logRedactedHeaders
  129    132   
        override val retryPolicy: RetryPolicy<Any?> = builder.retryPolicy ?: AwsRetryPolicy.Default
  130    133   
        override val telemetryProvider: TelemetryProvider = builder.telemetryProvider ?: TelemetryProvider.Global
  131    134   
        override val useDualStack: Boolean = builder.useDualStack ?: false
  132    135   
        override val useFips: Boolean = builder.useFips ?: false
  133    136   
        override val applicationId: String? = builder.applicationId
  134    137   
        public val authSchemeProvider: PollyAuthSchemeProvider = builder.authSchemeProvider ?: DefaultPollyAuthSchemeProvider(authSchemePreference = authSchemePreference)
  135    138   
        public companion object {
  136    139   
            public inline operator fun invoke(block: Builder.() -> kotlin.Unit): Config = Builder().apply(block).build()
  137    140   
        }
  138    141   
  139    142   
        public fun toBuilder(): Builder = Builder().apply {
  140    143   
            clientName = this@Config.clientName
  141    144   
            region = this@Config.region
  142    145   
            regionProvider = this@Config.regionProvider
  143    146   
            attemptTimeout = this@Config.attemptTimeout
  144    147   
            authSchemePreference = this@Config.authSchemePreference
  145    148   
            authSchemes = this@Config.authSchemes
  146    149   
            callTimeout = this@Config.callTimeout
  147    150   
            credentialsProvider = this@Config.credentialsProvider
  148    151   
            endpointProvider = this@Config.endpointProvider
  149    152   
            endpointUrl = this@Config.endpointUrl
  150    153   
            httpClient = this@Config.httpClient
  151    154   
            interceptors = this@Config.interceptors.toMutableList()
  152    155   
            logMode = this@Config.logMode
         156  +
            logRedactedHeaders = this@Config.logRedactedHeaders.toMutableSet()
  153    157   
            retryPolicy = this@Config.retryPolicy
  154    158   
            retryStrategy = this@Config.retryStrategy
  155    159   
            telemetryProvider = this@Config.telemetryProvider
  156    160   
            useDualStack = this@Config.useDualStack
  157    161   
            useFips = this@Config.useFips
  158    162   
            applicationId = this@Config.applicationId
  159    163   
            authSchemeProvider = this@Config.authSchemeProvider
  160    164   
        }
  161    165   
  162         -
        public class Builder : AwsSdkClientConfig.Builder, CredentialsProviderConfig.Builder, HttpAuthConfig.Builder, HttpClientConfig.Builder, HttpEngineConfig.Builder by HttpEngineConfigImpl.BuilderImpl(), RetryClientConfig.Builder, RetryStrategyClientConfig.Builder by RetryStrategyClientConfigImpl.BuilderImpl(), SdkClientConfig.Builder<Config>, TelemetryConfig.Builder, TimeoutConfig.Builder {
         166  +
        public class Builder : AwsSdkClientConfig.Builder, CredentialsProviderConfig.Builder, HttpAuthConfig.Builder, HttpClientConfig.Builder, HttpEngineConfig.Builder by HttpEngineConfigImpl.BuilderImpl(), LogRedactionConfig.Builder, RetryClientConfig.Builder, RetryStrategyClientConfig.Builder by RetryStrategyClientConfigImpl.BuilderImpl(), SdkClientConfig.Builder<Config>, TelemetryConfig.Builder, TimeoutConfig.Builder {
  163    167   
            /**
  164    168   
             * A reader-friendly name for the client.
  165    169   
             */
  166    170   
            override var clientName: String = "Polly"
  167    171   
  168    172   
            /**
  169    173   
             * The AWS region (e.g. `us-west-2`) to make requests to. See about AWS
  170    174   
             * [global infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) for more information.
  171    175   
             * When specified, this static region configuration takes precedence over other region resolution methods.
  172    176   
             *
@@ -236,240 +295,307 @@
  256    260   
             * raw requests or responses. Use this setting to opt-in to additional debug logging.
  257    261   
             *
  258    262   
             * This can be used to configure logging of requests, responses, retries, etc of SDK clients.
  259    263   
             *
  260    264   
             * **NOTE**: Logging of raw requests or responses may leak sensitive information! It may also have
  261    265   
             * performance considerations when dumping the request/response body. This is primarily a tool for
  262    266   
             * debug purposes.
  263    267   
             */
  264    268   
            override var logMode: LogMode? = null
  265    269   
         270  +
            /**
         271  +
             * Set of HTTP header names whose values will be replaced with "*** Sensitive Data Redacted ***" in
         272  +
             * request/response debug logging. Matching is case-insensitive. Empty by default
         273  +
             * (no headers are redacted). See [PotentiallySensitiveHeaders][aws.smithy.kotlin.runtime.http.PotentiallySensitiveHeaders] for
         274  +
             * a pre-built set of commonly-sensitive headers.
         275  +
             */
         276  +
            override var logRedactedHeaders: kotlin.collections.MutableSet<kotlin.String> = kotlin.collections.mutableSetOf()
         277  +
  266    278   
            /**
  267    279   
             * The policy to use for evaluating operation results and determining whether/how to retry.
  268    280   
             */
  269    281   
            override var retryPolicy: RetryPolicy<Any?>? = null
  270    282   
  271    283   
            /**
  272    284   
             * The telemetry provider used to instrument the SDK operations with. By default, the global telemetry
  273    285   
             * provider will be used.
  274    286   
             */
  275    287   
            override var telemetryProvider: TelemetryProvider? = null

tmp-codegen-diff/services/s3/build/tmp/jvmJar/MANIFEST.MF

@@ -1,0 +2,0 @@
    1         -
Manifest-Version: 1.0
    2         -

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/DefaultS3Client.kt

@@ -7705,7705 +7748,7749 @@
 7725   7725   
    }
 7726   7726   
 7727   7727   
    /**
 7728   7728   
     * merge the defaults configured for the service into the execution context before firing off a request
 7729   7729   
     */
 7730   7730   
    private fun mergeServiceDefaults(ctx: ExecutionContext) {
 7731   7731   
        ctx.putIfAbsentNotNull(HttpOperationContext.AttemptTimeout, config.attemptTimeout)
 7732   7732   
        ctx.putIfAbsentNotNull(HttpOperationContext.CallTimeout, config.callTimeout)
 7733   7733   
        ctx.putIfAbsent(SdkClientOption.ClientName, config.clientName)
 7734   7734   
        ctx.putIfAbsent(SdkClientOption.LogMode, config.logMode)
        7735  +
        ctx.putIfAbsent(SdkClientOption.LogRedactedHeaders, config.logRedactedHeaders)
 7735   7736   
        ctx.putIfAbsentNotNull(SdkClientOption.IdempotencyTokenProvider, config.idempotencyTokenProvider)
 7736   7737   
        ctx.putIfAbsentNotNull(AwsAttributes.Region, config.region)
 7737   7738   
        ctx.putIfAbsentNotNull(AwsSigningAttributes.SigningRegion, config.region)
 7738   7739   
        ctx.putIfAbsent(AwsSigningAttributes.SigningService, "s3")
 7739   7740   
        ctx.putIfAbsent(AwsSigningAttributes.CredentialsProvider, config.credentialsProvider)
 7740   7741   
        ctx.putIfAbsentNotNull(AwsSdkClientOption.ApplicationId, config.applicationId)
 7741   7742   
        ctx.putIfAbsentNotNull(AwsSigningAttributes.ConfigSigningRegionSet, config.sigV4aSigningRegionSet)
 7742   7743   
        ctx.putIfAbsent(AwsSigningAttributes.NormalizeUriPath, false)
 7743   7744   
        ctx.putIfAbsent(AwsSigningAttributes.UseDoubleUriEncode, false)
 7744   7745   
        ctx.putIfAbsent(AwsSigningAttributes.SignedBodyHeader, AwsSignedBodyHeader.X_AMZ_CONTENT_SHA256)

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/S3Client.kt

@@ -227,227 +286,287 @@
  247    247   
import aws.smithy.kotlin.runtime.auth.AuthSchemeId
  248    248   
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProvider
  249    249   
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProviderConfig
  250    250   
import aws.smithy.kotlin.runtime.auth.awscredentials.SigV4aClientConfig
  251    251   
import aws.smithy.kotlin.runtime.awsprotocol.ClockSkewInterceptor
  252    252   
import aws.smithy.kotlin.runtime.client.AbstractSdkClientBuilder
  253    253   
import aws.smithy.kotlin.runtime.client.AbstractSdkClientFactory
  254    254   
import aws.smithy.kotlin.runtime.client.IdempotencyTokenConfig
  255    255   
import aws.smithy.kotlin.runtime.client.IdempotencyTokenProvider
  256    256   
import aws.smithy.kotlin.runtime.client.LogMode
         257  +
import aws.smithy.kotlin.runtime.client.LogRedactionConfig
  257    258   
import aws.smithy.kotlin.runtime.client.RetryClientConfig
  258    259   
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfig
  259    260   
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfigImpl
  260    261   
import aws.smithy.kotlin.runtime.client.SdkClient
  261    262   
import aws.smithy.kotlin.runtime.client.SdkClientConfig
  262    263   
import aws.smithy.kotlin.runtime.client.config.HttpChecksumConfig
  263    264   
import aws.smithy.kotlin.runtime.client.config.RequestHttpChecksumConfig
  264    265   
import aws.smithy.kotlin.runtime.client.config.ResponseHttpChecksumConfig
  265    266   
import aws.smithy.kotlin.runtime.client.region.RegionProvider
  266    267   
import aws.smithy.kotlin.runtime.http.auth.AuthScheme
@@ -298,299 +428,431 @@
  318    319   
            )
  319    320   
            finalizeS3Config(builder, sharedConfig)
  320    321   
        }
  321    322   
    }
  322    323   
  323    324   
    public class Builder internal constructor(): AbstractSdkClientBuilder<Config, Config.Builder, S3Client>() {
  324    325   
        override val config: Config.Builder = Config.Builder()
  325    326   
        override fun newClient(config: Config): S3Client = DefaultS3Client(config)
  326    327   
    }
  327    328   
  328         -
    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpChecksumConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), IdempotencyTokenConfig, RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, SigV4aClientConfig, TelemetryConfig, TimeoutConfig {
         329  +
    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpChecksumConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), IdempotencyTokenConfig, LogRedactionConfig, RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, SigV4aClientConfig, TelemetryConfig, TimeoutConfig {
  329    330   
        override val clientName: String = builder.clientName
  330    331   
        override val region: String? = (builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() })?.let { validateRegion(it) }
  331    332   
        override val regionProvider: RegionProvider = builder.regionProvider ?: DefaultRegionProviderChain()
  332    333   
        override val attemptTimeout: Duration? = builder.attemptTimeout
  333    334   
        override val authSchemePreference: kotlin.collections.List<aws.smithy.kotlin.runtime.auth.AuthSchemeId>? = builder.authSchemePreference
  334    335   
        override val authSchemes: kotlin.collections.List<aws.smithy.kotlin.runtime.http.auth.AuthScheme> = builder.authSchemes
  335    336   
        override val callTimeout: Duration? = builder.callTimeout
  336    337   
        public val continueHeaderThresholdBytes: Long? = builder.continueHeaderThresholdBytes
  337    338   
        override val credentialsProvider: CredentialsProvider = builder.credentialsProvider ?: DefaultChainCredentialsProvider(httpClient = httpClient, region = region).manage()
  338    339   
        public val disableMrap: Boolean = builder.disableMrap ?: false
  339    340   
        public val disableS3ExpressSessionAuth: Boolean = builder.disableS3ExpressSessionAuth ?: false
  340    341   
        public val enableAccelerate: Boolean = builder.enableAccelerate ?: false
  341    342   
        public val enableAwsChunked: Boolean = builder.enableAwsChunked ?: true
  342    343   
        public val endpointProvider: S3EndpointProvider = builder.endpointProvider ?: DefaultS3EndpointProvider()
  343    344   
        public val endpointUrl: Url? = builder.endpointUrl
  344    345   
        public val expressCredentialsProvider: CredentialsProvider = builder.expressCredentialsProvider ?: DefaultS3ExpressCredentialsProvider()
  345    346   
        public val forcePathStyle: Boolean = builder.forcePathStyle ?: false
  346    347   
        override val idempotencyTokenProvider: IdempotencyTokenProvider = builder.idempotencyTokenProvider ?: IdempotencyTokenProvider.Default
  347    348   
        override val interceptors: kotlin.collections.List<aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor> = builder.interceptors
  348    349   
        override val logMode: LogMode = builder.logMode ?: LogMode.Default
         350  +
        override val logRedactedHeaders: kotlin.collections.Set<kotlin.String> = builder.logRedactedHeaders
  349    351   
        override val requestChecksumCalculation: RequestHttpChecksumConfig = builder.requestChecksumCalculation ?: RequestHttpChecksumConfig.WHEN_SUPPORTED
  350    352   
        override val responseChecksumValidation: ResponseHttpChecksumConfig = builder.responseChecksumValidation ?: ResponseHttpChecksumConfig.WHEN_SUPPORTED
  351    353   
        override val retryPolicy: RetryPolicy<Any?> = builder.retryPolicy ?: AwsRetryPolicy.Default
  352    354   
        override val sigV4aSigningRegionSet: kotlin.collections.Set<kotlin.String>? = builder.sigV4aSigningRegionSet
  353    355   
        override val telemetryProvider: TelemetryProvider = builder.telemetryProvider ?: TelemetryProvider.Global
  354    356   
        public val useArnRegion: Boolean = builder.useArnRegion ?: false
  355    357   
        override val useDualStack: Boolean = builder.useDualStack ?: false
  356    358   
        override val useFips: Boolean = builder.useFips ?: false
  357    359   
        override val applicationId: String? = builder.applicationId
  358    360   
        public val authSchemeProvider: S3AuthSchemeProvider = builder.authSchemeProvider ?: DefaultS3AuthSchemeProvider(endpointProvider, authSchemePreference)
  359    361   
        public companion object {
  360    362   
            public inline operator fun invoke(block: Builder.() -> kotlin.Unit): Config = Builder().apply(block).build()
  361    363   
        }
  362    364   
  363    365   
        public fun toBuilder(): Builder = Builder().apply {
  364    366   
            clientName = this@Config.clientName
  365    367   
            region = this@Config.region
  366    368   
            regionProvider = this@Config.regionProvider
  367    369   
            attemptTimeout = this@Config.attemptTimeout
  368    370   
            authSchemePreference = this@Config.authSchemePreference
  369    371   
            authSchemes = this@Config.authSchemes
  370    372   
            callTimeout = this@Config.callTimeout
  371    373   
            continueHeaderThresholdBytes = this@Config.continueHeaderThresholdBytes
  372    374   
            credentialsProvider = this@Config.credentialsProvider
  373    375   
            disableMrap = this@Config.disableMrap
  374    376   
            disableS3ExpressSessionAuth = this@Config.disableS3ExpressSessionAuth
  375    377   
            enableAccelerate = this@Config.enableAccelerate
  376    378   
            enableAwsChunked = this@Config.enableAwsChunked
  377    379   
            endpointProvider = this@Config.endpointProvider
  378    380   
            endpointUrl = this@Config.endpointUrl
  379    381   
            expressCredentialsProvider = this@Config.expressCredentialsProvider
  380    382   
            forcePathStyle = this@Config.forcePathStyle
  381    383   
            httpClient = this@Config.httpClient
  382    384   
            idempotencyTokenProvider = this@Config.idempotencyTokenProvider
  383    385   
            interceptors = this@Config.interceptors.toMutableList()
  384    386   
            logMode = this@Config.logMode
         387  +
            logRedactedHeaders = this@Config.logRedactedHeaders.toMutableSet()
  385    388   
            requestChecksumCalculation = this@Config.requestChecksumCalculation
  386    389   
            responseChecksumValidation = this@Config.responseChecksumValidation
  387    390   
            retryPolicy = this@Config.retryPolicy
  388    391   
            retryStrategy = this@Config.retryStrategy
  389    392   
            sigV4aSigningRegionSet = this@Config.sigV4aSigningRegionSet
  390    393   
            telemetryProvider = this@Config.telemetryProvider
  391    394   
            useArnRegion = this@Config.useArnRegion
  392    395   
            useDualStack = this@Config.useDualStack
  393    396   
            useFips = this@Config.useFips
  394    397   
            applicationId = this@Config.applicationId
  395    398   
            authSchemeProvider = this@Config.authSchemeProvider
  396    399   
        }
  397    400   
  398         -
        public class Builder : AwsSdkClientConfig.Builder, CredentialsProviderConfig.Builder, HttpAuthConfig.Builder, HttpChecksumConfig.Builder, HttpClientConfig.Builder, HttpEngineConfig.Builder by HttpEngineConfigImpl.BuilderImpl(), IdempotencyTokenConfig.Builder, RetryClientConfig.Builder, RetryStrategyClientConfig.Builder by RetryStrategyClientConfigImpl.BuilderImpl(), SdkClientConfig.Builder<Config>, SigV4aClientConfig.Builder, TelemetryConfig.Builder, TimeoutConfig.Builder {
         401  +
        public class Builder : AwsSdkClientConfig.Builder, CredentialsProviderConfig.Builder, HttpAuthConfig.Builder, HttpChecksumConfig.Builder, HttpClientConfig.Builder, HttpEngineConfig.Builder by HttpEngineConfigImpl.BuilderImpl(), IdempotencyTokenConfig.Builder, LogRedactionConfig.Builder, RetryClientConfig.Builder, RetryStrategyClientConfig.Builder by RetryStrategyClientConfigImpl.BuilderImpl(), SdkClientConfig.Builder<Config>, SigV4aClientConfig.Builder, TelemetryConfig.Builder, TimeoutConfig.Builder {
  399    402   
            /**
  400    403   
             * A reader-friendly name for the client.
  401    404   
             */
  402    405   
            override var clientName: String = "S3"
  403    406   
  404    407   
            /**
  405    408   
             * The AWS region (e.g. `us-west-2`) to make requests to. See about AWS
  406    409   
             * [global infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) for more information.
  407    410   
             * When specified, this static region configuration takes precedence over other region resolution methods.
  408    411   
             *
@@ -516,519 +575,586 @@
  536    539   
             * raw requests or responses. Use this setting to opt-in to additional debug logging.
  537    540   
             *
  538    541   
             * This can be used to configure logging of requests, responses, retries, etc of SDK clients.
  539    542   
             *
  540    543   
             * **NOTE**: Logging of raw requests or responses may leak sensitive information! It may also have
  541    544   
             * performance considerations when dumping the request/response body. This is primarily a tool for
  542    545   
             * debug purposes.
  543    546   
             */
  544    547   
            override var logMode: LogMode? = null
  545    548   
         549  +
            /**
         550  +
             * Set of HTTP header names whose values will be replaced with "*** Sensitive Data Redacted ***" in
         551  +
             * request/response debug logging. Matching is case-insensitive. Empty by default
         552  +
             * (no headers are redacted). See [PotentiallySensitiveHeaders][aws.smithy.kotlin.runtime.http.PotentiallySensitiveHeaders] for
         553  +
             * a pre-built set of commonly-sensitive headers.
         554  +
             */
         555  +
            override var logRedactedHeaders: kotlin.collections.MutableSet<kotlin.String> = kotlin.collections.mutableSetOf()
         556  +
  546    557   
            /**
  547    558   
             * Configures request checksum calculation
  548    559   
             */
  549    560   
            override var requestChecksumCalculation: RequestHttpChecksumConfig? = null
  550    561   
  551    562   
            /**
  552    563   
             * Configures response checksum validation
  553    564   
             */
  554    565   
            override var responseChecksumValidation: ResponseHttpChecksumConfig? = null
  555    566