From e89c069a1efbda29cddf78146c01631cf2386f82 Mon Sep 17 00:00:00 2001 From: Ian Botsford <83236726+ianbotsf@users.noreply.github.com> Date: Wed, 17 Dec 2025 22:32:20 +0000 Subject: [PATCH] chore: new @GeneratedApi annotation --- .../amazon/smithy/kotlin/codegen/core/RuntimeTypes.kt | 1 + runtime/runtime-core/api/runtime-core.api | 3 +++ .../common/src/aws/smithy/kotlin/runtime/Annotations.kt | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/codegen/smithy-kotlin-codegen/src/main/kotlin/software/amazon/smithy/kotlin/codegen/core/RuntimeTypes.kt b/codegen/smithy-kotlin-codegen/src/main/kotlin/software/amazon/smithy/kotlin/codegen/core/RuntimeTypes.kt index 640517a25..c99a79d1b 100644 --- a/codegen/smithy-kotlin-codegen/src/main/kotlin/software/amazon/smithy/kotlin/codegen/core/RuntimeTypes.kt +++ b/codegen/smithy-kotlin-codegen/src/main/kotlin/software/amazon/smithy/kotlin/codegen/core/RuntimeTypes.kt @@ -107,6 +107,7 @@ object RuntimeTypes { val TimestampFormat = symbol("TimestampFormat", "time") val ClientException = symbol("ClientException") val SdkDsl = symbol("SdkDsl") + val GeneratedApi = symbol("GeneratedApi") object BusinessMetrics : RuntimeTypePackage(KotlinDependency.CORE, "businessmetrics") { val AccountIdBasedEndpointAccountId = symbol("AccountIdBasedEndpointAccountId") diff --git a/runtime/runtime-core/api/runtime-core.api b/runtime/runtime-core/api/runtime-core.api index aff7234d7..6d8c52013 100644 --- a/runtime/runtime-core/api/runtime-core.api +++ b/runtime/runtime-core/api/runtime-core.api @@ -33,6 +33,9 @@ public final class aws/smithy/kotlin/runtime/ErrorMetadata$Companion { public abstract interface annotation class aws/smithy/kotlin/runtime/ExperimentalApi : java/lang/annotation/Annotation { } +public abstract interface annotation class aws/smithy/kotlin/runtime/GeneratedApi : java/lang/annotation/Annotation { +} + public abstract interface annotation class aws/smithy/kotlin/runtime/InternalApi : java/lang/annotation/Annotation { } diff --git a/runtime/runtime-core/common/src/aws/smithy/kotlin/runtime/Annotations.kt b/runtime/runtime-core/common/src/aws/smithy/kotlin/runtime/Annotations.kt index 0a9dac6a5..debebf891 100644 --- a/runtime/runtime-core/common/src/aws/smithy/kotlin/runtime/Annotations.kt +++ b/runtime/runtime-core/common/src/aws/smithy/kotlin/runtime/Annotations.kt @@ -71,3 +71,9 @@ public annotation class PlannedRemoval( val major: Int, val minor: Int, ) + +/** + * Indicates that the annotated API is created by a code generator such as **smithy-kotlin** codegen. Generated APIs may + * be excluded from certain kinds of automated checks, such as API compatibility verification. + */ +public annotation class GeneratedApi