Skip to content

Commit 2a824b8

Browse files
committed
Fix emission of Credentials business metrics
1 parent 3c566b9 commit 2a824b8

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/businessmetrics/CredentialsBusinessMetricsIntegration.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,32 @@
11
package aws.sdk.kotlin.codegen.businessmetrics
22

33
import aws.sdk.kotlin.codegen.AwsRuntimeTypes
4+
import software.amazon.smithy.aws.traits.auth.SigV4ATrait
5+
import software.amazon.smithy.aws.traits.auth.SigV4Trait
6+
import software.amazon.smithy.kotlin.codegen.KotlinSettings
47
import software.amazon.smithy.kotlin.codegen.core.KotlinWriter
58
import software.amazon.smithy.kotlin.codegen.core.RuntimeTypes
69
import software.amazon.smithy.kotlin.codegen.core.withBlock
710
import software.amazon.smithy.kotlin.codegen.integration.KotlinIntegration
811
import software.amazon.smithy.kotlin.codegen.rendering.protocol.ProtocolGenerator
912
import software.amazon.smithy.kotlin.codegen.rendering.protocol.ProtocolMiddleware
13+
import software.amazon.smithy.model.Model
14+
import software.amazon.smithy.model.knowledge.ServiceIndex
1015
import software.amazon.smithy.model.shapes.OperationShape
1116

1217
/**
1318
* Renders the addition of some of the credentials related business metrics.
1419
*/
1520
class CredentialsBusinessMetricsIntegration : KotlinIntegration {
21+
override fun enabledForService(model: Model, settings: KotlinSettings): Boolean {
22+
val serviceIndex = ServiceIndex.of(model)
23+
val schemes = serviceIndex.getAuthSchemes(settings.service)
24+
25+
return schemes.values.any {
26+
it.javaClass == SigV4ATrait::class.java || it.javaClass == SigV4Trait::class.java
27+
}
28+
}
29+
1630
override fun customizeMiddleware(
1731
ctx: ProtocolGenerator.GenerationContext,
1832
resolved: List<ProtocolMiddleware>,

0 commit comments

Comments
 (0)