Skip to content

Commit d02e932

Browse files
committed
Added AwsServiceException for uploadArtifact failure
1 parent 4f9ffd0 commit d02e932

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/CodeModernizerManager.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ class CodeModernizerManager(private val project: Project) : PersistentStateCompo
366366
)
367367
}
368368

369-
is CodeModernizerStartJobResult.UnabletoStartOrUploadJob -> {
369+
is CodeModernizerStartJobResult.UnabletoUploadJob -> {
370370
CodeModernizerJobCompletedResult.UnableToCreateJob(
371371
message("codemodernizer.notification.warn.unable_to_start_job_due_to_upload_failure", result.url),
372372
false,

plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/CodeModernizerSession.kt

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.intellij.openapi.application.runInEdt
88
import com.intellij.serviceContainer.AlreadyDisposedException
99
import kotlinx.coroutines.delay
1010
import org.apache.commons.codec.digest.DigestUtils
11+
import software.amazon.awssdk.awscore.exception.AwsServiceException
1112
import software.amazon.awssdk.services.codewhispererruntime.model.StartTransformationResponse
1213
import software.amazon.awssdk.services.codewhispererruntime.model.TransformationJob
1314
import software.amazon.awssdk.services.codewhispererruntime.model.TransformationLanguage
@@ -150,12 +151,18 @@ class CodeModernizerSession(
150151
state.currentJobStatus = TransformationStatus.FAILED
151152
CodeModernizerStartJobResult.UnableToStartJob(e.message.toString())
152153
}
154+
} catch (e: AwsServiceException) {
155+
if (e.statusCode() == 403 && e.awsErrorDetails().serviceName() == "S3") {
156+
CodeModernizerStartJobResult.UnabletoUploadJob(
157+
"https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/security_iam_manage-access-with-policies.html"
158+
)
159+
} else {
160+
CodeModernizerStartJobResult.UnableToStartJob(e.message.toString())
161+
}
153162
} catch (e: Exception) {
154163
state.putJobHistory(sessionContext, TransformationStatus.FAILED)
155164
state.currentJobStatus = TransformationStatus.FAILED
156-
CodeModernizerStartJobResult.UnabletoStartOrUploadJob(
157-
"https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/security_iam_manage-access-with-policies.html"
158-
)
165+
CodeModernizerStartJobResult.UnableToStartJob(e.message.toString())
159166
} finally {
160167
deleteUploadArtifact(payload)
161168
}

plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/model/CodeModernizerStartJobResult.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ sealed class CodeModernizerStartJobResult {
77
data class ZipCreationFailed(val reason: String) : CodeModernizerStartJobResult()
88
data class Started(val jobId: JobId) : CodeModernizerStartJobResult()
99
data class UnableToStartJob(val exception: String) : CodeModernizerStartJobResult()
10-
data class UnabletoStartOrUploadJob(val url: String) : CodeModernizerStartJobResult()
10+
data class UnabletoUploadJob(val url: String) : CodeModernizerStartJobResult()
1111
object Cancelled : CodeModernizerStartJobResult()
1212
object CancelledMissingDependencies : CodeModernizerStartJobResult()
1313
object CancelledZipTooLarge : CodeModernizerStartJobResult()

0 commit comments

Comments
 (0)