Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@

package software.aws.toolkits.jetbrains.services.amazonq.profile

import software.amazon.awssdk.awscore.exception.AwsServiceException
import software.amazon.awssdk.services.codewhispererruntime.CodeWhispererRuntimeClient
import software.aws.toolkits.core.ClientConnectionSettings
import software.aws.toolkits.core.utils.debug
import software.aws.toolkits.core.utils.getLogger
import software.aws.toolkits.core.utils.warn
import software.aws.toolkits.jetbrains.core.AwsClientManager
import software.aws.toolkits.jetbrains.core.Resource
import software.aws.toolkits.jetbrains.core.region.AwsRegionProvider
Expand All @@ -25,15 +29,31 @@
val awsRegion = AwsRegionProvider.getInstance()[regionKey] ?: return@flatMap emptyList()
val client = AwsClientManager
.getInstance()
.getClient(CodeWhispererRuntimeClient::class, connectionSettings.withRegion(awsRegion))
.getClient<CodeWhispererRuntimeClient>(connectionSettings.withRegion(awsRegion))

Check warning on line 32 in plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QProfileResources.kt

View check run for this annotation

Codecov / codecov/patch

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QProfileResources.kt#L32

Added line #L32 was not covered by tests

client.listAvailableProfilesPaginator {}
.profiles()
.map { p -> QRegionProfile(arn = p.arn(), profileName = p.profileName() ?: "<no name>") }
try {
val profiles = client.listAvailableProfilesPaginator {}
.profiles()

Check warning on line 36 in plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QProfileResources.kt

View check run for this annotation

Codecov / codecov/patch

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QProfileResources.kt#L34-L36

Added lines #L34 - L36 were not covered by tests
.map { p -> QRegionProfile(arn = p.arn(), profileName = p.profileName() ?: "<no name>") }
LOG.debug { "Found profiles for region $regionKey : $profiles" }

Check warning on line 38 in plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QProfileResources.kt

View check run for this annotation

Codecov / codecov/patch

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QProfileResources.kt#L38

Added line #L38 was not covered by tests

profiles
} catch (e: Exception) {
LOG.warn(e) { "Failed to list Q profiles for region $regionKey" }

Check warning on line 42 in plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QProfileResources.kt

View check run for this annotation

Codecov / codecov/patch

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QProfileResources.kt#L40-L42

Added lines #L40 - L42 were not covered by tests

// service has low TPS so only suppress if not a service error
if (e is AwsServiceException) {
throw e

Check warning on line 46 in plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QProfileResources.kt

View check run for this annotation

Codecov / codecov/patch

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QProfileResources.kt#L46

Added line #L46 was not covered by tests
}

emptyList()
}

Check warning on line 50 in plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QProfileResources.kt

View check run for this annotation

Codecov / codecov/patch

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QProfileResources.kt#L49-L50

Added lines #L49 - L50 were not covered by tests
}
return mappedProfiles
}

override fun expiry(): Duration = Duration.ofSeconds(60)
}

private val LOG = getLogger<QProfileResources>()

Check warning on line 58 in plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QProfileResources.kt

View check run for this annotation

Codecov / codecov/patch

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QProfileResources.kt#L58

Added line #L58 was not covered by tests
}
Loading