AWS SDK

AWS SDK

rev. d3c3e4aa33863d9c39189ecd8a96d95392057574..915927c1f92c5e39ff62830a8639cbb5d87a26d4

Files changed:

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

@@ -1,1 +44,45 @@
    5      5   
import aws.sdk.kotlin.runtime.auth.credentials.DefaultChainCredentialsProvider
    6      6   
import aws.sdk.kotlin.runtime.auth.credentials.internal.manage
    7      7   
import aws.sdk.kotlin.runtime.config.AbstractAwsSdkClientFactory
    8      8   
import aws.sdk.kotlin.runtime.config.AwsSdkClientConfig
    9      9   
import aws.sdk.kotlin.runtime.config.endpoints.resolveEndpointUrl
   10     10   
import aws.sdk.kotlin.runtime.config.profile.AwsProfile
   11     11   
import aws.sdk.kotlin.runtime.config.profile.AwsSharedConfig
   12     12   
import aws.sdk.kotlin.runtime.http.retries.AwsRetryPolicy
   13     13   
import aws.sdk.kotlin.runtime.region.DefaultRegionProviderChain
   14     14   
import aws.sdk.kotlin.runtime.region.resolveRegion
          15  +
import aws.sdk.kotlin.runtime.region.validateRegion
   15     16   
import aws.sdk.kotlin.services.codebuild.auth.CodeBuildAuthSchemeProvider
   16     17   
import aws.sdk.kotlin.services.codebuild.auth.DefaultCodeBuildAuthSchemeProvider
   17     18   
import aws.sdk.kotlin.services.codebuild.endpoints.CodeBuildEndpointParameters
   18     19   
import aws.sdk.kotlin.services.codebuild.endpoints.CodeBuildEndpointProvider
   19     20   
import aws.sdk.kotlin.services.codebuild.endpoints.DefaultCodeBuildEndpointProvider
   20     21   
import aws.sdk.kotlin.services.codebuild.model.BatchDeleteBuildsRequest
   21     22   
import aws.sdk.kotlin.services.codebuild.model.BatchDeleteBuildsResponse
   22     23   
import aws.sdk.kotlin.services.codebuild.model.BatchGetBuildBatchesRequest
   23     24   
import aws.sdk.kotlin.services.codebuild.model.BatchGetBuildBatchesResponse
   24     25   
import aws.sdk.kotlin.services.codebuild.model.BatchGetBuildsRequest
@@ -184,185 +244,245 @@
  204    205   
        }
  205    206   
    }
  206    207   
  207    208   
    public class Builder internal constructor(): AbstractSdkClientBuilder<Config, Config.Builder, CodeBuildClient>() {
  208    209   
        override val config: Config.Builder = Config.Builder()
  209    210   
        override fun newClient(config: Config): CodeBuildClient = DefaultCodeBuildClient(config)
  210    211   
    }
  211    212   
  212    213   
    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig, TimeoutConfig {
  213    214   
        override val clientName: String = builder.clientName
  214         -
        override val region: String? = builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() }
         215  +
        override val region: String? = (builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() })?.let { validateRegion(it) }
  215    216   
        override val regionProvider: RegionProvider = builder.regionProvider ?: DefaultRegionProviderChain()
  216    217   
        override val attemptTimeout: Duration? = builder.attemptTimeout
  217    218   
        override val authSchemePreference: kotlin.collections.List<aws.smithy.kotlin.runtime.auth.AuthSchemeId>? = builder.authSchemePreference
  218    219   
        override val authSchemes: kotlin.collections.List<aws.smithy.kotlin.runtime.http.auth.AuthScheme> = builder.authSchemes
  219    220   
        override val callTimeout: Duration? = builder.callTimeout
  220    221   
        override val credentialsProvider: CredentialsProvider = builder.credentialsProvider ?: DefaultChainCredentialsProvider(httpClient = httpClient, region = region).manage()
  221    222   
        public val endpointProvider: CodeBuildEndpointProvider = builder.endpointProvider ?: DefaultCodeBuildEndpointProvider()
  222    223   
        public val endpointUrl: Url? = builder.endpointUrl
  223    224   
        override val interceptors: kotlin.collections.List<aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor> = builder.interceptors
  224    225   
        override val logMode: LogMode = builder.logMode ?: LogMode.Default

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

@@ -1,1 +47,48 @@
    8      8   
import aws.sdk.kotlin.runtime.config.AwsSdkClientConfig
    9      9   
import aws.sdk.kotlin.runtime.config.endpoints.AccountIdEndpointMode
   10     10   
import aws.sdk.kotlin.runtime.config.endpoints.resolveAccountIdEndpointMode
   11     11   
import aws.sdk.kotlin.runtime.config.endpoints.resolveEndpointDiscoveryEnabled
   12     12   
import aws.sdk.kotlin.runtime.config.endpoints.resolveEndpointUrl
   13     13   
import aws.sdk.kotlin.runtime.config.profile.AwsProfile
   14     14   
import aws.sdk.kotlin.runtime.config.profile.AwsSharedConfig
   15     15   
import aws.sdk.kotlin.runtime.http.retries.AwsRetryPolicy
   16     16   
import aws.sdk.kotlin.runtime.region.DefaultRegionProviderChain
   17     17   
import aws.sdk.kotlin.runtime.region.resolveRegion
          18  +
import aws.sdk.kotlin.runtime.region.validateRegion
   18     19   
import aws.sdk.kotlin.services.dynamodb.auth.DefaultDynamoDbAuthSchemeProvider
   19     20   
import aws.sdk.kotlin.services.dynamodb.auth.DynamoDbAuthSchemeProvider
   20     21   
import aws.sdk.kotlin.services.dynamodb.endpoints.DefaultDynamoDbEndpointDiscoverer
   21     22   
import aws.sdk.kotlin.services.dynamodb.endpoints.DefaultDynamoDbEndpointProvider
   22     23   
import aws.sdk.kotlin.services.dynamodb.endpoints.DynamoDbEndpointDiscoverer
   23     24   
import aws.sdk.kotlin.services.dynamodb.endpoints.DynamoDbEndpointParameters
   24     25   
import aws.sdk.kotlin.services.dynamodb.endpoints.DynamoDbEndpointProvider
   25     26   
import aws.sdk.kotlin.services.dynamodb.model.BatchExecuteStatementRequest
   26     27   
import aws.sdk.kotlin.services.dynamodb.model.BatchExecuteStatementResponse
   27     28   
import aws.sdk.kotlin.services.dynamodb.model.BatchGetItemRequest
@@ -194,195 +254,255 @@
  214    215   
        }
  215    216   
    }
  216    217   
  217    218   
    public class Builder internal constructor(): AbstractSdkClientBuilder<Config, Config.Builder, DynamoDbClient>() {
  218    219   
        override val config: Config.Builder = Config.Builder()
  219    220   
        override fun newClient(config: Config): DynamoDbClient = DefaultDynamoDbClient(config)
  220    221   
    }
  221    222   
  222    223   
    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), IdempotencyTokenConfig, RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig, TimeoutConfig {
  223    224   
        override val clientName: String = builder.clientName
  224         -
        override val region: String? = builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() }
         225  +
        override val region: String? = (builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() })?.let { validateRegion(it) }
  225    226   
        override val regionProvider: RegionProvider = builder.regionProvider ?: DefaultRegionProviderChain()
  226    227   
        public val accountIdEndpointMode: AccountIdEndpointMode = builder.accountIdEndpointMode ?: AccountIdEndpointMode.PREFERRED
  227    228   
        override val attemptTimeout: Duration? = builder.attemptTimeout
  228    229   
        override val authSchemePreference: kotlin.collections.List<aws.smithy.kotlin.runtime.auth.AuthSchemeId>? = builder.authSchemePreference
  229    230   
        override val authSchemes: kotlin.collections.List<aws.smithy.kotlin.runtime.http.auth.AuthScheme> = builder.authSchemes
  230    231   
        override val callTimeout: Duration? = builder.callTimeout
  231    232   
        override val credentialsProvider: CredentialsProvider = builder.credentialsProvider ?: DefaultChainCredentialsProvider(httpClient = httpClient, region = region).manage()
  232    233   
        public val endpointDiscoverer: DynamoDbEndpointDiscoverer? = builder.endpointDiscoverer
  233    234   
        public val endpointProvider: DynamoDbEndpointProvider = builder.endpointProvider ?: DefaultDynamoDbEndpointProvider()
  234    235   
        public val endpointUrl: Url? = builder.endpointUrl

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

@@ -1,1 +44,45 @@
    5      5   
import aws.sdk.kotlin.runtime.auth.credentials.DefaultChainCredentialsProvider
    6      6   
import aws.sdk.kotlin.runtime.auth.credentials.internal.manage
    7      7   
import aws.sdk.kotlin.runtime.config.AbstractAwsSdkClientFactory
    8      8   
import aws.sdk.kotlin.runtime.config.AwsSdkClientConfig
    9      9   
import aws.sdk.kotlin.runtime.config.endpoints.resolveEndpointUrl
   10     10   
import aws.sdk.kotlin.runtime.config.profile.AwsProfile
   11     11   
import aws.sdk.kotlin.runtime.config.profile.AwsSharedConfig
   12     12   
import aws.sdk.kotlin.runtime.http.retries.AwsRetryPolicy
   13     13   
import aws.sdk.kotlin.runtime.region.DefaultRegionProviderChain
   14     14   
import aws.sdk.kotlin.runtime.region.resolveRegion
          15  +
import aws.sdk.kotlin.runtime.region.validateRegion
   15     16   
import aws.sdk.kotlin.services.ec2.auth.DefaultEc2AuthSchemeProvider
   16     17   
import aws.sdk.kotlin.services.ec2.auth.Ec2AuthSchemeProvider
   17     18   
import aws.sdk.kotlin.services.ec2.endpoints.DefaultEc2EndpointProvider
   18     19   
import aws.sdk.kotlin.services.ec2.endpoints.Ec2EndpointParameters
   19     20   
import aws.sdk.kotlin.services.ec2.endpoints.Ec2EndpointProvider
   20     21   
import aws.sdk.kotlin.services.ec2.model.AcceptAddressTransferRequest
   21     22   
import aws.sdk.kotlin.services.ec2.model.AcceptAddressTransferResponse
   22     23   
import aws.sdk.kotlin.services.ec2.model.AcceptCapacityReservationBillingOwnershipRequest
   23     24   
import aws.sdk.kotlin.services.ec2.model.AcceptCapacityReservationBillingOwnershipResponse
   24     25   
import aws.sdk.kotlin.services.ec2.model.AcceptReservedInstancesExchangeQuoteRequest
@@ -1566,1567 +1626,1627 @@
 1586   1587   
        }
 1587   1588   
    }
 1588   1589   
 1589   1590   
    public class Builder internal constructor(): AbstractSdkClientBuilder<Config, Config.Builder, Ec2Client>() {
 1590   1591   
        override val config: Config.Builder = Config.Builder()
 1591   1592   
        override fun newClient(config: Config): Ec2Client = DefaultEc2Client(config)
 1592   1593   
    }
 1593   1594   
 1594   1595   
    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), IdempotencyTokenConfig, RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig, TimeoutConfig {
 1595   1596   
        override val clientName: String = builder.clientName
 1596         -
        override val region: String? = builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() }
        1597  +
        override val region: String? = (builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() })?.let { validateRegion(it) }
 1597   1598   
        override val regionProvider: RegionProvider = builder.regionProvider ?: DefaultRegionProviderChain()
 1598   1599   
        override val attemptTimeout: Duration? = builder.attemptTimeout
 1599   1600   
        override val authSchemePreference: kotlin.collections.List<aws.smithy.kotlin.runtime.auth.AuthSchemeId>? = builder.authSchemePreference
 1600   1601   
        override val authSchemes: kotlin.collections.List<aws.smithy.kotlin.runtime.http.auth.AuthScheme> = builder.authSchemes
 1601   1602   
        override val callTimeout: Duration? = builder.callTimeout
 1602   1603   
        override val credentialsProvider: CredentialsProvider = builder.credentialsProvider ?: DefaultChainCredentialsProvider(httpClient = httpClient, region = region).manage()
 1603   1604   
        public val endpointProvider: Ec2EndpointProvider = builder.endpointProvider ?: DefaultEc2EndpointProvider()
 1604   1605   
        public val endpointUrl: Url? = builder.endpointUrl
 1605   1606   
        override val idempotencyTokenProvider: IdempotencyTokenProvider = builder.idempotencyTokenProvider ?: IdempotencyTokenProvider.Default
 1606   1607   
        override val interceptors: kotlin.collections.List<aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor> = builder.interceptors

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

@@ -1,1 +44,45 @@
    5      5   
import aws.sdk.kotlin.runtime.auth.credentials.DefaultChainCredentialsProvider
    6      6   
import aws.sdk.kotlin.runtime.auth.credentials.internal.manage
    7      7   
import aws.sdk.kotlin.runtime.config.AbstractAwsSdkClientFactory
    8      8   
import aws.sdk.kotlin.runtime.config.AwsSdkClientConfig
    9      9   
import aws.sdk.kotlin.runtime.config.endpoints.resolveEndpointUrl
   10     10   
import aws.sdk.kotlin.runtime.config.profile.AwsProfile
   11     11   
import aws.sdk.kotlin.runtime.config.profile.AwsSharedConfig
   12     12   
import aws.sdk.kotlin.runtime.http.retries.AwsRetryPolicy
   13     13   
import aws.sdk.kotlin.runtime.region.DefaultRegionProviderChain
   14     14   
import aws.sdk.kotlin.runtime.region.resolveRegion
          15  +
import aws.sdk.kotlin.runtime.region.validateRegion
   15     16   
import aws.sdk.kotlin.services.polly.auth.DefaultPollyAuthSchemeProvider
   16     17   
import aws.sdk.kotlin.services.polly.auth.PollyAuthSchemeProvider
   17     18   
import aws.sdk.kotlin.services.polly.endpoints.DefaultPollyEndpointProvider
   18     19   
import aws.sdk.kotlin.services.polly.endpoints.PollyEndpointParameters
   19     20   
import aws.sdk.kotlin.services.polly.endpoints.PollyEndpointProvider
   20     21   
import aws.sdk.kotlin.services.polly.model.DeleteLexiconRequest
   21     22   
import aws.sdk.kotlin.services.polly.model.DeleteLexiconResponse
   22     23   
import aws.sdk.kotlin.services.polly.model.DescribeVoicesRequest
   23     24   
import aws.sdk.kotlin.services.polly.model.DescribeVoicesResponse
   24     25   
import aws.sdk.kotlin.services.polly.model.GetLexiconRequest
@@ -85,86 +145,146 @@
  105    106   
        }
  106    107   
    }
  107    108   
  108    109   
    public class Builder internal constructor(): AbstractSdkClientBuilder<Config, Config.Builder, PollyClient>() {
  109    110   
        override val config: Config.Builder = Config.Builder()
  110    111   
        override fun newClient(config: Config): PollyClient = DefaultPollyClient(config)
  111    112   
    }
  112    113   
  113    114   
    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig, TimeoutConfig {
  114    115   
        override val clientName: String = builder.clientName
  115         -
        override val region: String? = builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() }
         116  +
        override val region: String? = (builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() })?.let { validateRegion(it) }
  116    117   
        override val regionProvider: RegionProvider = builder.regionProvider ?: DefaultRegionProviderChain()
  117    118   
        override val attemptTimeout: Duration? = builder.attemptTimeout
  118    119   
        override val authSchemePreference: kotlin.collections.List<aws.smithy.kotlin.runtime.auth.AuthSchemeId>? = builder.authSchemePreference
  119    120   
        override val authSchemes: kotlin.collections.List<aws.smithy.kotlin.runtime.http.auth.AuthScheme> = builder.authSchemes
  120    121   
        override val callTimeout: Duration? = builder.callTimeout
  121    122   
        override val credentialsProvider: CredentialsProvider = builder.credentialsProvider ?: DefaultChainCredentialsProvider(httpClient = httpClient, region = region).manage()
  122    123   
        public val endpointProvider: PollyEndpointProvider = builder.endpointProvider ?: DefaultPollyEndpointProvider()
  123    124   
        public val endpointUrl: Url? = builder.endpointUrl
  124    125   
        override val interceptors: kotlin.collections.List<aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor> = builder.interceptors
  125    126   
        override val logMode: LogMode = builder.logMode ?: LogMode.Default

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

@@ -1,1 +44,45 @@
    5      5   
import aws.sdk.kotlin.runtime.auth.credentials.DefaultChainCredentialsProvider
    6      6   
import aws.sdk.kotlin.runtime.auth.credentials.internal.manage
    7      7   
import aws.sdk.kotlin.runtime.config.AbstractAwsSdkClientFactory
    8      8   
import aws.sdk.kotlin.runtime.config.AwsSdkClientConfig
    9      9   
import aws.sdk.kotlin.runtime.config.endpoints.resolveEndpointUrl
   10     10   
import aws.sdk.kotlin.runtime.config.profile.AwsProfile
   11     11   
import aws.sdk.kotlin.runtime.config.profile.AwsSharedConfig
   12     12   
import aws.sdk.kotlin.runtime.http.retries.AwsRetryPolicy
   13     13   
import aws.sdk.kotlin.runtime.region.DefaultRegionProviderChain
   14     14   
import aws.sdk.kotlin.runtime.region.resolveRegion
          15  +
import aws.sdk.kotlin.runtime.region.validateRegion
   15     16   
import aws.sdk.kotlin.services.s3.auth.DefaultS3AuthSchemeProvider
   16     17   
import aws.sdk.kotlin.services.s3.auth.S3AuthSchemeProvider
   17     18   
import aws.sdk.kotlin.services.s3.endpoints.DefaultS3EndpointProvider
   18     19   
import aws.sdk.kotlin.services.s3.endpoints.S3EndpointParameters
   19     20   
import aws.sdk.kotlin.services.s3.endpoints.S3EndpointProvider
   20     21   
import aws.sdk.kotlin.services.s3.express.DefaultS3ExpressCredentialsProvider
   21     22   
import aws.sdk.kotlin.services.s3.internal.finalizeS3Config
   22     23   
import aws.sdk.kotlin.services.s3.model.AbortMultipartUploadRequest
   23     24   
import aws.sdk.kotlin.services.s3.model.AbortMultipartUploadResponse
   24     25   
import aws.sdk.kotlin.services.s3.model.CompleteMultipartUploadRequest
@@ -287,288 +347,348 @@
  307    308   
        }
  308    309   
    }
  309    310   
  310    311   
    public class Builder internal constructor(): AbstractSdkClientBuilder<Config, Config.Builder, S3Client>() {
  311    312   
        override val config: Config.Builder = Config.Builder()
  312    313   
        override fun newClient(config: Config): S3Client = DefaultS3Client(config)
  313    314   
    }
  314    315   
  315    316   
    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 {
  316    317   
        override val clientName: String = builder.clientName
  317         -
        override val region: String? = builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() }
         318  +
        override val region: String? = (builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() })?.let { validateRegion(it) }
  318    319   
        override val regionProvider: RegionProvider = builder.regionProvider ?: DefaultRegionProviderChain()
  319    320   
        override val attemptTimeout: Duration? = builder.attemptTimeout
  320    321   
        override val authSchemePreference: kotlin.collections.List<aws.smithy.kotlin.runtime.auth.AuthSchemeId>? = builder.authSchemePreference
  321    322   
        override val authSchemes: kotlin.collections.List<aws.smithy.kotlin.runtime.http.auth.AuthScheme> = builder.authSchemes
  322    323   
        override val callTimeout: Duration? = builder.callTimeout
  323    324   
        public val continueHeaderThresholdBytes: Long? = builder.continueHeaderThresholdBytes
  324    325   
        override val credentialsProvider: CredentialsProvider = builder.credentialsProvider ?: DefaultChainCredentialsProvider(httpClient = httpClient, region = region).manage()
  325    326   
        public val disableMrap: Boolean = builder.disableMrap ?: false
  326    327   
        public val disableS3ExpressSessionAuth: Boolean = builder.disableS3ExpressSessionAuth ?: false
  327    328   
        public val enableAccelerate: Boolean = builder.enableAccelerate ?: false

tmp-codegen-diff/services/sts/generated-src/main/kotlin/aws/sdk/kotlin/services/sts/StsClient.kt

@@ -1,1 +44,45 @@
    5      5   
import aws.sdk.kotlin.runtime.auth.credentials.DefaultChainCredentialsProvider
    6      6   
import aws.sdk.kotlin.runtime.auth.credentials.internal.manage
    7      7   
import aws.sdk.kotlin.runtime.config.AbstractAwsSdkClientFactory
    8      8   
import aws.sdk.kotlin.runtime.config.AwsSdkClientConfig
    9      9   
import aws.sdk.kotlin.runtime.config.endpoints.resolveEndpointUrl
   10     10   
import aws.sdk.kotlin.runtime.config.profile.AwsProfile
   11     11   
import aws.sdk.kotlin.runtime.config.profile.AwsSharedConfig
   12     12   
import aws.sdk.kotlin.runtime.http.retries.AwsRetryPolicy
   13     13   
import aws.sdk.kotlin.runtime.region.DefaultRegionProviderChain
   14     14   
import aws.sdk.kotlin.runtime.region.resolveRegion
          15  +
import aws.sdk.kotlin.runtime.region.validateRegion
   15     16   
import aws.sdk.kotlin.services.sts.auth.DefaultStsAuthSchemeProvider
   16     17   
import aws.sdk.kotlin.services.sts.auth.StsAuthSchemeProvider
   17     18   
import aws.sdk.kotlin.services.sts.endpoints.DefaultStsEndpointProvider
   18     19   
import aws.sdk.kotlin.services.sts.endpoints.StsEndpointParameters
   19     20   
import aws.sdk.kotlin.services.sts.endpoints.StsEndpointProvider
   20     21   
import aws.sdk.kotlin.services.sts.model.AssumeRoleRequest
   21     22   
import aws.sdk.kotlin.services.sts.model.AssumeRoleResponse
   22     23   
import aws.sdk.kotlin.services.sts.model.AssumeRoleWithSamlRequest
   23     24   
import aws.sdk.kotlin.services.sts.model.AssumeRoleWithSamlResponse
   24     25   
import aws.sdk.kotlin.services.sts.model.AssumeRoleWithWebIdentityRequest
@@ -88,89 +148,149 @@
  108    109   
        }
  109    110   
    }
  110    111   
  111    112   
    public class Builder internal constructor(): AbstractSdkClientBuilder<Config, Config.Builder, StsClient>() {
  112    113   
        override val config: Config.Builder = Config.Builder()
  113    114   
        override fun newClient(config: Config): StsClient = DefaultStsClient(config)
  114    115   
    }
  115    116   
  116    117   
    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig, TimeoutConfig {
  117    118   
        override val clientName: String = builder.clientName
  118         -
        override val region: String? = builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() }
         119  +
        override val region: String? = (builder.region ?: runBlocking { builder.regionProvider?.getRegion() ?: resolveRegion() })?.let { validateRegion(it) }
  119    120   
        override val regionProvider: RegionProvider = builder.regionProvider ?: DefaultRegionProviderChain()
  120    121   
        override val attemptTimeout: Duration? = builder.attemptTimeout
  121    122   
        override val authSchemePreference: kotlin.collections.List<aws.smithy.kotlin.runtime.auth.AuthSchemeId>? = builder.authSchemePreference
  122    123   
        override val authSchemes: kotlin.collections.List<aws.smithy.kotlin.runtime.http.auth.AuthScheme> = builder.authSchemes
  123    124   
        override val callTimeout: Duration? = builder.callTimeout
  124    125   
        override val credentialsProvider: CredentialsProvider = builder.credentialsProvider ?: DefaultChainCredentialsProvider(httpClient = httpClient, region = region).manage()
  125    126   
        public val endpointProvider: StsEndpointProvider = builder.endpointProvider ?: DefaultStsEndpointProvider()
  126    127   
        public val endpointUrl: Url? = builder.endpointUrl
  127    128   
        override val interceptors: kotlin.collections.List<aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor> = builder.interceptors
  128    129   
        override val logMode: LogMode = builder.logMode ?: LogMode.Default