From e4b3b62fd1f2d5664065af913d27af21a66d51da Mon Sep 17 00:00:00 2001 From: 0marperez <60363173+0marperez@users.noreply.github.com> Date: Tue, 18 Jun 2024 14:45:59 -0400 Subject: [PATCH] Revert "feat: business metrics (#1317)" This reverts commit 658a859c69f5312355e5ba97e705d8e8038d16c3. --- aws-runtime/aws-http/api/aws-http.api | 32 ----- .../runtime/http/AwsUserAgentMetadata.kt | 4 +- .../BusinessMetricsInterceptor.kt | 67 ---------- .../runtime/http/AwsUserAgentMetadataTest.kt | 2 +- .../BusinessMetricsInterceptorTest.kt | 118 ------------------ .../runtime/http/middleware/UserAgentTest.kt | 2 +- .../aws/sdk/kotlin/codegen/AwsRuntimeTypes.kt | 2 - .../codegen/BusinessMetricsIntegration.kt | 68 ---------- ...tlin.codegen.integration.KotlinIntegration | 1 - gradle/libs.versions.toml | 4 +- 10 files changed, 5 insertions(+), 295 deletions(-) delete mode 100644 aws-runtime/aws-http/common/src/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptor.kt delete mode 100644 aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptorTest.kt delete mode 100644 codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/BusinessMetricsIntegration.kt diff --git a/aws-runtime/aws-http/api/aws-http.api b/aws-runtime/aws-http/api/aws-http.api index e5808232a81..1be03dc3e03 100644 --- a/aws-runtime/aws-http/api/aws-http.api +++ b/aws-runtime/aws-http/api/aws-http.api @@ -48,7 +48,6 @@ public final class aws/sdk/kotlin/runtime/http/AwsUserAgentMetadata$Companion { public final class aws/sdk/kotlin/runtime/http/AwsUserAgentMetadataKt { public static final field AWS_APP_ID_ENV Ljava/lang/String; public static final field AWS_APP_ID_PROP Ljava/lang/String; - public static final field BUSINESS_METRICS_MAX_LENGTH I } public final class aws/sdk/kotlin/runtime/http/ExecutionEnvMetadata { @@ -140,14 +139,6 @@ public final class aws/sdk/kotlin/runtime/http/interceptors/AddUserAgentMetadata public fun readBeforeTransmit (Laws/smithy/kotlin/runtime/client/ProtocolRequestInterceptorContext;)V } -public final class aws/sdk/kotlin/runtime/http/interceptors/AwsBusinessMetric : java/lang/Enum, aws/smithy/kotlin/runtime/businessmetrics/BusinessMetric { - public static final field S3_EXPRESS_BUCKET Laws/sdk/kotlin/runtime/http/interceptors/AwsBusinessMetric; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public fun getIdentifier ()Ljava/lang/String; - public static fun valueOf (Ljava/lang/String;)Laws/sdk/kotlin/runtime/http/interceptors/AwsBusinessMetric; - public static fun values ()[Laws/sdk/kotlin/runtime/http/interceptors/AwsBusinessMetric; -} - public final class aws/sdk/kotlin/runtime/http/interceptors/AwsSpanInterceptor : aws/smithy/kotlin/runtime/client/Interceptor { public static final field INSTANCE Laws/sdk/kotlin/runtime/http/interceptors/AwsSpanInterceptor; public fun modifyBeforeAttemptCompletion-gIAlu-s (Laws/smithy/kotlin/runtime/client/ResponseInterceptorContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -171,29 +162,6 @@ public final class aws/sdk/kotlin/runtime/http/interceptors/AwsSpanInterceptor : public fun readBeforeTransmit (Laws/smithy/kotlin/runtime/client/ProtocolRequestInterceptorContext;)V } -public final class aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptor : aws/smithy/kotlin/runtime/client/Interceptor { - public fun ()V - public fun modifyBeforeAttemptCompletion-gIAlu-s (Laws/smithy/kotlin/runtime/client/ResponseInterceptorContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun modifyBeforeCompletion-gIAlu-s (Laws/smithy/kotlin/runtime/client/ResponseInterceptorContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun modifyBeforeDeserialization (Laws/smithy/kotlin/runtime/client/ProtocolResponseInterceptorContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun modifyBeforeRetryLoop (Laws/smithy/kotlin/runtime/client/ProtocolRequestInterceptorContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun modifyBeforeSerialization (Laws/smithy/kotlin/runtime/client/RequestInterceptorContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun modifyBeforeSigning (Laws/smithy/kotlin/runtime/client/ProtocolRequestInterceptorContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun modifyBeforeTransmit (Laws/smithy/kotlin/runtime/client/ProtocolRequestInterceptorContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun readAfterAttempt (Laws/smithy/kotlin/runtime/client/ResponseInterceptorContext;)V - public fun readAfterDeserialization (Laws/smithy/kotlin/runtime/client/ResponseInterceptorContext;)V - public fun readAfterExecution (Laws/smithy/kotlin/runtime/client/ResponseInterceptorContext;)V - public fun readAfterSerialization (Laws/smithy/kotlin/runtime/client/ProtocolRequestInterceptorContext;)V - public fun readAfterSigning (Laws/smithy/kotlin/runtime/client/ProtocolRequestInterceptorContext;)V - public fun readAfterTransmit (Laws/smithy/kotlin/runtime/client/ProtocolResponseInterceptorContext;)V - public fun readBeforeAttempt (Laws/smithy/kotlin/runtime/client/ProtocolRequestInterceptorContext;)V - public fun readBeforeDeserialization (Laws/smithy/kotlin/runtime/client/ProtocolResponseInterceptorContext;)V - public fun readBeforeExecution (Laws/smithy/kotlin/runtime/client/RequestInterceptorContext;)V - public fun readBeforeSerialization (Laws/smithy/kotlin/runtime/client/RequestInterceptorContext;)V - public fun readBeforeSigning (Laws/smithy/kotlin/runtime/client/ProtocolRequestInterceptorContext;)V - public fun readBeforeTransmit (Laws/smithy/kotlin/runtime/client/ProtocolRequestInterceptorContext;)V -} - public final class aws/sdk/kotlin/runtime/http/interceptors/UnsupportedSigningAlgorithmInterceptor : aws/smithy/kotlin/runtime/client/Interceptor { public fun ()V public fun modifyBeforeAttemptCompletion-gIAlu-s (Laws/smithy/kotlin/runtime/client/ResponseInterceptorContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; diff --git a/aws-runtime/aws-http/common/src/aws/sdk/kotlin/runtime/http/AwsUserAgentMetadata.kt b/aws-runtime/aws-http/common/src/aws/sdk/kotlin/runtime/http/AwsUserAgentMetadata.kt index 34229356df7..c1ffdeffc9b 100644 --- a/aws-runtime/aws-http/common/src/aws/sdk/kotlin/runtime/http/AwsUserAgentMetadata.kt +++ b/aws-runtime/aws-http/common/src/aws/sdk/kotlin/runtime/http/AwsUserAgentMetadata.kt @@ -14,8 +14,6 @@ import kotlin.jvm.JvmInline internal const val AWS_EXECUTION_ENV = "AWS_EXECUTION_ENV" public const val AWS_APP_ID_ENV: String = "AWS_SDK_UA_APP_ID" -private const val USER_AGENT_SPEC_VERSION = "2.1" -public const val BUSINESS_METRICS_MAX_LENGTH: Int = 1024 // non-standard environment variables/properties public const val AWS_APP_ID_PROP: String = "aws.userAgentAppId" @@ -67,7 +65,7 @@ public data class AwsUserAgentMetadata( get() = buildList { add(sdkMetadata) customMetadata?.extras?.takeIf { it.containsKey("internal") }?.let { add("md/internal") } - add(uaPair("ua", USER_AGENT_SPEC_VERSION)) + add(uaPair("ua", "2.0")) // User agent specification version 2.0 add(apiMetadata) add(osMetadata) add(languageMetadata) diff --git a/aws-runtime/aws-http/common/src/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptor.kt b/aws-runtime/aws-http/common/src/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptor.kt deleted file mode 100644 index 8a0917e05cf..00000000000 --- a/aws-runtime/aws-http/common/src/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptor.kt +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ -package aws.sdk.kotlin.runtime.http.interceptors - -import aws.sdk.kotlin.runtime.http.BUSINESS_METRICS_MAX_LENGTH -import aws.sdk.kotlin.runtime.http.middleware.USER_AGENT -import aws.smithy.kotlin.runtime.InternalApi -import aws.smithy.kotlin.runtime.businessmetrics.BusinessMetric -import aws.smithy.kotlin.runtime.businessmetrics.BusinessMetrics -import aws.smithy.kotlin.runtime.client.ProtocolRequestInterceptorContext -import aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor -import aws.smithy.kotlin.runtime.http.request.HttpRequest -import aws.smithy.kotlin.runtime.http.request.toBuilder - -/** - * Appends business metrics to the `User-Agent` header. - */ -public class BusinessMetricsInterceptor : HttpInterceptor { - override suspend fun modifyBeforeTransmit(context: ProtocolRequestInterceptorContext): HttpRequest { - context.executionContext.getOrNull(BusinessMetrics)?.let { metrics -> - val metricsString = formatMetrics(metrics) - val currentUserAgentHeader = context.protocolRequest.headers[USER_AGENT] - val modifiedRequest = context.protocolRequest.toBuilder() - - modifiedRequest.headers[USER_AGENT] = currentUserAgentHeader + metricsString - - return modifiedRequest.build() - } - return context.protocolRequest - } -} - -/** - * Makes sure the metrics do not exceed the maximum size and truncates them if so. - */ -private fun formatMetrics(metrics: MutableSet): String { - if (metrics.isEmpty()) return "" - val metricsString = metrics.joinToString(",", "m/") - val metricsByteArray = metricsString.encodeToByteArray() - - if (metricsByteArray.size <= BUSINESS_METRICS_MAX_LENGTH) return metricsString - - val lastCommaIndex = metricsByteArray - .sliceArray(0 until 1024) - .indexOfLast { it == ','.code.toByte() } - .takeIf { it != -1 } - - lastCommaIndex?.let { - return metricsByteArray.decodeToString( - 0, - lastCommaIndex, - true, - ) - } - - throw IllegalStateException("Business metrics are incorrectly formatted: $metricsString") -} - -/** - * AWS SDK specific business metrics - */ -@InternalApi -public enum class AwsBusinessMetric(public override val identifier: String) : BusinessMetric { - S3_EXPRESS_BUCKET("J"), -} diff --git a/aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/AwsUserAgentMetadataTest.kt b/aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/AwsUserAgentMetadataTest.kt index e27f6f7ef71..2cc28792ca2 100644 --- a/aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/AwsUserAgentMetadataTest.kt +++ b/aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/AwsUserAgentMetadataTest.kt @@ -45,7 +45,7 @@ class AwsUserAgentMetadataTest { val expected = listOf( "aws-sdk-kotlin/1.2.3", "md/internal", - "ua/2.1", + "ua/2.0", "api/test-service#1.2.3", "os/linux#ubuntu-20.04", "lang/kotlin#1.4.31", diff --git a/aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptorTest.kt b/aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptorTest.kt deleted file mode 100644 index 8469d6fd4ea..00000000000 --- a/aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptorTest.kt +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ -package aws.sdk.kotlin.runtime.http.interceptors - -import aws.sdk.kotlin.runtime.http.BUSINESS_METRICS_MAX_LENGTH -import aws.sdk.kotlin.runtime.http.middleware.USER_AGENT -import aws.smithy.kotlin.runtime.businessmetrics.SmithyBusinessMetric -import aws.smithy.kotlin.runtime.businessmetrics.emitBusinessMetric -import aws.smithy.kotlin.runtime.client.ProtocolRequestInterceptorContext -import aws.smithy.kotlin.runtime.collections.get -import aws.smithy.kotlin.runtime.http.* -import aws.smithy.kotlin.runtime.http.request.HttpRequest -import aws.smithy.kotlin.runtime.net.url.Url -import aws.smithy.kotlin.runtime.operation.ExecutionContext -import kotlinx.coroutines.test.runTest -import kotlin.test.Test -import kotlin.test.assertFailsWith -import kotlin.test.assertFalse -import kotlin.test.assertTrue - -class BusinessMetricsInterceptorTest { - @Test - fun noBusinessMetrics() = runTest { - val executionContext = ExecutionContext() - val interceptor = BusinessMetricsInterceptor() - val request = interceptor.modifyBeforeTransmit(interceptorContext(executionContext)) - val userAgentHeader = request.headers[USER_AGENT]!! - - assertFalse(userAgentHeader.endsWith("m/")) - } - - @Test - fun businessMetrics() = runTest { - val executionContext = ExecutionContext() - executionContext.emitBusinessMetric(AwsBusinessMetric.S3_EXPRESS_BUCKET) - - val interceptor = BusinessMetricsInterceptor() - val request = interceptor.modifyBeforeTransmit(interceptorContext(executionContext)) - val userAgentHeader = request.headers[USER_AGENT]!! - - assertTrue( - userAgentHeader.endsWith( - "m/${AwsBusinessMetric.S3_EXPRESS_BUCKET.identifier}", - ), - ) - } - - @Test - fun multipleBusinessMetrics() = runTest { - val executionContext = ExecutionContext() - executionContext.emitBusinessMetric(AwsBusinessMetric.S3_EXPRESS_BUCKET) - executionContext.emitBusinessMetric(SmithyBusinessMetric.GZIP_REQUEST_COMPRESSION) - - val interceptor = BusinessMetricsInterceptor() - val request = interceptor.modifyBeforeTransmit(interceptorContext(executionContext)) - val userAgentHeader = request.headers[USER_AGENT]!! - - assertTrue( - userAgentHeader.endsWith( - "m/${AwsBusinessMetric.S3_EXPRESS_BUCKET.identifier},${SmithyBusinessMetric.GZIP_REQUEST_COMPRESSION.identifier}", - ), - ) - } - - @Test - fun truncateBusinessMetrics() = runTest { - val executionContext = ExecutionContext() - executionContext.attributes[aws.smithy.kotlin.runtime.businessmetrics.BusinessMetrics] = mutableSetOf() - - for (i in 0..1024) { - executionContext.attributes[aws.smithy.kotlin.runtime.businessmetrics.BusinessMetrics].add(i.toString()) - } - - val rawMetrics = executionContext[aws.smithy.kotlin.runtime.businessmetrics.BusinessMetrics] - val rawMetricsString = rawMetrics.joinToString(",", "m/") - val rawMetricsByteArray = rawMetricsString.encodeToByteArray() - - assertTrue(rawMetricsByteArray.size >= BUSINESS_METRICS_MAX_LENGTH) - - val interceptor = BusinessMetricsInterceptor() - val request = interceptor.modifyBeforeTransmit(interceptorContext(executionContext)) - val userAgentHeader = request.headers[USER_AGENT]!! - val truncatedMetrics = "m/" + userAgentHeader.substringAfter("m/") - - assertTrue(truncatedMetrics.encodeToByteArray().size <= BUSINESS_METRICS_MAX_LENGTH) - assertFalse(truncatedMetrics.endsWith(",")) - } - - @Test - fun malformedBusinessMetrics() = runTest { - val executionContext = ExecutionContext() - - executionContext.attributes[aws.smithy.kotlin.runtime.businessmetrics.BusinessMetrics] = mutableSetOf( - "A".repeat(BUSINESS_METRICS_MAX_LENGTH), - ) - - val interceptor = BusinessMetricsInterceptor() - - assertFailsWith("Business metrics are incorrectly formatted:") { - interceptor.modifyBeforeTransmit(interceptorContext(executionContext)) - } - } -} - -private fun interceptorContext(executionContext: ExecutionContext): ProtocolRequestInterceptorContext = - object : ProtocolRequestInterceptorContext { - override val protocolRequest: HttpRequest = HttpRequest( - HttpMethod.GET, - Url.parse("https://test.aws.com?foo=bar"), - Headers { - append(USER_AGENT, "aws-sdk-kotlin/1.2.3 ua/2.1 api/test-service#1.2.3...") - }, - ) - override val executionContext: ExecutionContext = executionContext - override val request: Any = Unit - } diff --git a/aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/middleware/UserAgentTest.kt b/aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/middleware/UserAgentTest.kt index a2fcd4259cd..05c5ae170b9 100644 --- a/aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/middleware/UserAgentTest.kt +++ b/aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/middleware/UserAgentTest.kt @@ -47,7 +47,7 @@ class UserAgentTest { assertTrue(request.headers.contains(X_AMZ_USER_AGENT)) assertEquals("aws-sdk-kotlin/1.2.3", request.headers[X_AMZ_USER_AGENT]) assertTrue( - request.headers[USER_AGENT]!!.startsWith("aws-sdk-kotlin/1.2.3 ua/2.1 api/test-service#1.2.3"), + request.headers[USER_AGENT]!!.startsWith("aws-sdk-kotlin/1.2.3 ua/2.0 api/test-service#1.2.3"), "$USER_AGENT header didn't start with expected value. Found: ${request.headers[USER_AGENT]}", ) } diff --git a/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/AwsRuntimeTypes.kt b/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/AwsRuntimeTypes.kt index b4debfc4bd8..e36fb00cd69 100644 --- a/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/AwsRuntimeTypes.kt +++ b/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/AwsRuntimeTypes.kt @@ -60,8 +60,6 @@ object AwsRuntimeTypes { object Interceptors : RuntimeTypePackage(AwsKotlinDependency.AWS_HTTP, "interceptors") { val AddUserAgentMetadataInterceptor = symbol("AddUserAgentMetadataInterceptor") val UnsupportedSigningAlgorithmInterceptor = symbol("UnsupportedSigningAlgorithmInterceptor") - val BusinessMetricsInterceptor = symbol("BusinessMetricsInterceptor") - val AwsBusinessMetric = symbol("AwsBusinessMetric") } object Retries { diff --git a/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/BusinessMetricsIntegration.kt b/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/BusinessMetricsIntegration.kt deleted file mode 100644 index 73575ddf075..00000000000 --- a/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/BusinessMetricsIntegration.kt +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ -package aws.sdk.kotlin.codegen - -import software.amazon.smithy.kotlin.codegen.core.KotlinWriter -import software.amazon.smithy.kotlin.codegen.core.RuntimeTypes -import software.amazon.smithy.kotlin.codegen.core.RuntimeTypes.Auth.Signing.AwsSigningCommon.AwsSigningAttributes -import software.amazon.smithy.kotlin.codegen.integration.KotlinIntegration -import software.amazon.smithy.kotlin.codegen.integration.SectionWriter -import software.amazon.smithy.kotlin.codegen.integration.SectionWriterBinding -import software.amazon.smithy.kotlin.codegen.rendering.endpoints.EndpointBusinessMetrics -import software.amazon.smithy.kotlin.codegen.rendering.protocol.ProtocolGenerator -import software.amazon.smithy.kotlin.codegen.rendering.protocol.ProtocolMiddleware -import software.amazon.smithy.model.shapes.OperationShape - -/** - * Renders the addition of the [BusinessMetricsInterceptor] and endpoint business metrics emitters - */ -class BusinessMetricsIntegration : KotlinIntegration { - override val order: Byte - get() = super.order - - override val sectionWriters: List - get() = listOf( - SectionWriterBinding(EndpointBusinessMetrics, endpointBusinessMetricsSectionWriter), - ) - - private val endpointBusinessMetricsSectionWriter = SectionWriter { writer, _ -> - writer.write("") - writer.write( - "if (endpoint.attributes.contains(#T)) request.context.#T(#T.SERVICE_ENDPOINT_OVERRIDE)", - RuntimeTypes.Core.BusinessMetrics.ServiceEndpointOverride, - RuntimeTypes.Core.BusinessMetrics.emitBusinessMetric, - RuntimeTypes.Core.BusinessMetrics.SmithyBusinessMetric, - ) - writer.write( - "if (endpoint.attributes.contains(#T)) request.context.#T(#T.ACCOUNT_ID_BASED_ENDPOINT)", - RuntimeTypes.Core.BusinessMetrics.AccountIdBasedEndpointAccountId, - RuntimeTypes.Core.BusinessMetrics.emitBusinessMetric, - RuntimeTypes.Core.BusinessMetrics.SmithyBusinessMetric, - ) - writer.write( - "if (endpoint.attributes.contains(#T.SigningService) && endpoint.attributes[#T.SigningService] == \"s3express\") request.context.#T(#T.S3_EXPRESS_BUCKET)", - AwsSigningAttributes, - AwsSigningAttributes, - RuntimeTypes.Core.BusinessMetrics.emitBusinessMetric, - AwsRuntimeTypes.Http.Interceptors.AwsBusinessMetric, - ) - writer.write("") - } - - override fun customizeMiddleware( - ctx: ProtocolGenerator.GenerationContext, - resolved: List, - ): List = resolved + userAgentBusinessMetricsMiddleware - - private val userAgentBusinessMetricsMiddleware = object : ProtocolMiddleware { - override val name: String = "UserAgentBusinessMetrics" - override fun render(ctx: ProtocolGenerator.GenerationContext, op: OperationShape, writer: KotlinWriter) { - writer.write( - "op.interceptors.add(#T())", - AwsRuntimeTypes.Http.Interceptors.BusinessMetricsInterceptor, - ) - } - } -} diff --git a/codegen/aws-sdk-codegen/src/main/resources/META-INF/services/software.amazon.smithy.kotlin.codegen.integration.KotlinIntegration b/codegen/aws-sdk-codegen/src/main/resources/META-INF/services/software.amazon.smithy.kotlin.codegen.integration.KotlinIntegration index 36e2c226408..d7c3a928606 100644 --- a/codegen/aws-sdk-codegen/src/main/resources/META-INF/services/software.amazon.smithy.kotlin.codegen.integration.KotlinIntegration +++ b/codegen/aws-sdk-codegen/src/main/resources/META-INF/services/software.amazon.smithy.kotlin.codegen.integration.KotlinIntegration @@ -42,4 +42,3 @@ aws.sdk.kotlin.codegen.customization.cloudfrontkeyvaluestore.BackfillSigV4ACusto aws.sdk.kotlin.codegen.customization.s3.express.SigV4S3ExpressAuthSchemeIntegration aws.sdk.kotlin.codegen.customization.s3.express.S3ExpressIntegration aws.sdk.kotlin.codegen.customization.s3.S3ExpiresIntegration -aws.sdk.kotlin.codegen.BusinessMetricsIntegration diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e6b70418eed..086ba41f86f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,8 +9,8 @@ coroutines-version = "1.7.3" atomicfu-version = "0.23.1" # smithy-kotlin codegen and runtime are versioned separately -smithy-kotlin-runtime-version = "1.2.9" -smithy-kotlin-codegen-version = "0.32.9" +smithy-kotlin-runtime-version = "1.2.7" +smithy-kotlin-codegen-version = "0.32.7" # codegen smithy-version = "1.49.0"