@@ -8,6 +8,7 @@ package aws.sdk.kotlin.codegen.customization
88import software.amazon.smithy.codegen.core.CodegenException
99import software.amazon.smithy.kotlin.codegen.KotlinSettings
1010import software.amazon.smithy.kotlin.codegen.integration.KotlinIntegration
11+ import software.amazon.smithy.kotlin.codegen.model.hasTrait
1112import software.amazon.smithy.model.Model
1213import software.amazon.smithy.model.shapes.OperationShape
1314import software.amazon.smithy.model.traits.OptionalAuthTrait
@@ -35,13 +36,32 @@ class BackfillOptionalAuth : KotlinIntegration {
3536 ),
3637 // https://docs.aws.amazon.com/cognito/latest/developerguide/security_iam_service-with-iam.html
3738 " com.amazonaws.cognitoidentityprovider#AWSCognitoIdentityProviderService" to setOf (
39+ " com.amazonaws.cognitoidentityprovider#AssociateSoftwareToken" ,
40+ " com.amazonaws.cognitoidentityprovider#ChangePassword" ,
3841 " com.amazonaws.cognitoidentityprovider#ConfirmDevice" ,
42+ " com.amazonaws.cognitoidentityprovider#ConfirmForgotPassword" ,
43+ " com.amazonaws.cognitoidentityprovider#ConfirmSignUp" ,
44+ " com.amazonaws.cognitoidentityprovider#DeleteUser" ,
45+ " com.amazonaws.cognitoidentityprovider#DeleteUserAttributes" ,
3946 " com.amazonaws.cognitoidentityprovider#ForgetDevice" ,
47+ " com.amazonaws.cognitoidentityprovider#ForgotPassword" ,
4048 " com.amazonaws.cognitoidentityprovider#GetDevice" ,
49+ " com.amazonaws.cognitoidentityprovider#GetUser" ,
50+ " com.amazonaws.cognitoidentityprovider#GetUserAttributeVerificationCode" ,
4151 " com.amazonaws.cognitoidentityprovider#GlobalSignOut" ,
52+ " com.amazonaws.cognitoidentityprovider#InitiateAuth" ,
4253 " com.amazonaws.cognitoidentityprovider#ListDevices" ,
54+ " com.amazonaws.cognitoidentityprovider#ResendConfirmationCode" ,
55+ " com.amazonaws.cognitoidentityprovider#RespondToAuthChallenge" ,
4356 " com.amazonaws.cognitoidentityprovider#RevokeToken" ,
57+ " com.amazonaws.cognitoidentityprovider#SetUserMFAPreference" ,
58+ " com.amazonaws.cognitoidentityprovider#SetUserSettings" ,
59+ " com.amazonaws.cognitoidentityprovider#SignUp" ,
60+ " com.amazonaws.cognitoidentityprovider#UpdateAuthEventFeedback" ,
4461 " com.amazonaws.cognitoidentityprovider#UpdateDeviceStatus" ,
62+ " com.amazonaws.cognitoidentityprovider#UpdateUserAttributes" ,
63+ " com.amazonaws.cognitoidentityprovider#VerifySoftwareToken" ,
64+ " com.amazonaws.cognitoidentityprovider#VerifyUserAttribute" ,
4565 ),
4666 )
4767
@@ -58,7 +78,7 @@ class BackfillOptionalAuth : KotlinIntegration {
5878 val optionalAuthOperations = disabledAuthOperationsByService[serviceId] ? : throw CodegenException (" expected $serviceId in disabled operations map" )
5979 return ModelTransformer .create()
6080 .mapShapes(model) {
61- if (optionalAuthOperations.contains(it.id.toString()) && it is OperationShape ) {
81+ if (optionalAuthOperations.contains(it.id.toString()) && it is OperationShape && ! it.hasTrait< OptionalAuthTrait >() ) {
6282 it.toBuilder().addTrait(OptionalAuthTrait ()).build()
6383 } else {
6484 it
0 commit comments