Skip to content

Commit db0fdea

Browse files
wularrrli
andauthored
Show connection id beside code catalyst dropdown (#4290)
* Show IAM connection id * Add changelog entry * Show only profile name in connection bar * fix detekt * Update plugins/toolkit/resources/resources/software/aws/toolkits/resources/MessagesBundle.properties Co-authored-by: Richard Li <742829+rli@users.noreply.github.com> * Update MessagesBundle.properties --------- Co-authored-by: Richard Li <742829+rli@users.noreply.github.com>
1 parent 6f5d929 commit db0fdea

File tree

7 files changed

+25
-7
lines changed

7 files changed

+25
-7
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "feature",
3+
"description" : "Connection id is now shown beside CodeCatalyst dropdown"
4+
}

plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/DefaultToolkitAuthManager.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ class DefaultToolkitAuthManager : ToolkitAuthManager, PersistentStateComponent<T
224224
}
225225

226226
is DetectedDiskSsoSessionProfile -> DetectedDiskSsoSessionConnection(
227-
sessionProfileName = profile.profileName,
227+
sessionName = profile.profileName,
228228
startUrl = profile.startUrl,
229229
region = profile.ssoRegion,
230230
scopes = profile.scopes

plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/ToolkitAuthManager.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ interface AwsCredentialConnection : ToolkitConnection {
4141
}
4242

4343
interface AwsBearerTokenConnection : ToolkitConnection {
44+
val sessionName: String
4445
val startUrl: String
4546
val region: String
4647
val scopes: List<String>

plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/ToolkitConnectionImpls.kt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class ProfileSsoManagedBearerSsoConnection(
2424
scopes: List<String>,
2525
cache: DiskCache = diskCache,
2626
) : ManagedBearerSsoConnection(
27+
configSessionName,
2728
startUrl,
2829
region,
2930
scopes,
@@ -41,6 +42,7 @@ class LegacyManagedBearerSsoConnection(
4142
scopes: List<String>,
4243
cache: DiskCache = diskCache,
4344
) : ManagedBearerSsoConnection(
45+
"",
4446
startUrl,
4547
region,
4648
scopes,
@@ -50,6 +52,7 @@ class LegacyManagedBearerSsoConnection(
5052
)
5153

5254
sealed class ManagedBearerSsoConnection(
55+
override val sessionName: String,
5356
override val startUrl: String,
5457
override val region: String,
5558
override val scopes: List<String>,
@@ -78,19 +81,19 @@ sealed class ManagedBearerSsoConnection(
7881
}
7982

8083
class DetectedDiskSsoSessionConnection(
81-
val sessionProfileName: String,
84+
override val sessionName: String,
8285
override val startUrl: String,
8386
override val region: String,
8487
override val scopes: List<String>,
8588
displayNameOverride: String? = null
8689
) : AwsBearerTokenConnection, Disposable {
87-
override val id = ToolkitBearerTokenProvider.diskSessionIdentifier(sessionProfileName)
88-
override val label = displayNameOverride ?: ToolkitBearerTokenProvider.diskSessionDisplayName(sessionProfileName)
90+
override val id = ToolkitBearerTokenProvider.diskSessionIdentifier(sessionName)
91+
override val label = displayNameOverride ?: ToolkitBearerTokenProvider.diskSessionDisplayName(sessionName)
8992

9093
private val provider =
9194
tokenConnection(
9295
ProfileSdkTokenProviderWrapper(
93-
sessionName = sessionProfileName,
96+
sessionName = sessionName,
9497
region = region
9598
),
9699
region

plugins/core/jetbrains-community/tst/software/aws/toolkits/jetbrains/core/credentials/DefaultToolkitAuthManagerTest.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ class DefaultToolkitAuthManagerTest {
7575

7676
assertThat(connection).isInstanceOf<ManagedBearerSsoConnection>()
7777
connection as ManagedBearerSsoConnection
78+
assertThat(connection.sessionName).isEqualTo("")
7879
assertThat(connection.region).isEqualTo(profile.ssoRegion)
7980
assertThat(connection.startUrl).isEqualTo(profile.startUrl)
8081
assertThat(connection.scopes).isEqualTo(profile.scopes)
@@ -111,6 +112,7 @@ class DefaultToolkitAuthManagerTest {
111112

112113
assertThat(sut.listConnections()).singleElement().satisfies {
113114
assertThat(it).isInstanceOfSatisfying<ManagedBearerSsoConnection> { connection ->
115+
assertThat(connection.sessionName).isEqualTo("")
114116
assertThat(connection.region).isEqualTo(profile.ssoRegion)
115117
assertThat(connection.startUrl).isEqualTo(profile.startUrl)
116118
assertThat(connection.scopes).isEqualTo(profile.scopes)
@@ -138,6 +140,7 @@ class DefaultToolkitAuthManagerTest {
138140

139141
assertThat(sut.listConnections()).singleElement().satisfies {
140142
assertThat(it).isInstanceOfSatisfying<ManagedBearerSsoConnection> { connection ->
143+
assertThat(connection.sessionName).isEqualTo("")
141144
assertThat(connection.region).isEqualTo(profile.ssoRegion)
142145
assertThat(connection.startUrl).isEqualTo(profile.startUrl)
143146
assertThat(connection.scopes).isEqualTo(profile.scopes)
@@ -163,6 +166,7 @@ class DefaultToolkitAuthManagerTest {
163166

164167
assertThat(sut.listConnections()).singleElement().satisfies {
165168
assertThat(it).isInstanceOfSatisfying<ManagedBearerSsoConnection> { connection ->
169+
assertThat(connection.sessionName).isEqualTo("add")
166170
assertThat(connection.region).isEqualTo("us-east-1")
167171
assertThat(connection.startUrl).isEqualTo("startUrl")
168172
assertThat(connection.scopes).isEqualTo(scopes)
@@ -180,6 +184,7 @@ class DefaultToolkitAuthManagerTest {
180184

181185
assertThat(sut.listConnections()).singleElement().satisfies {
182186
assertThat(it).isInstanceOfSatisfying<ManagedBearerSsoConnection> { connection ->
187+
assertThat(connection.sessionName).isEqualTo("add")
183188
assertThat(connection.region).isEqualTo("us-east-1")
184189
assertThat(connection.startUrl).isEqualTo("startUrl2")
185190
assertThat(connection.scopes).isEqualTo(scopes)

plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/core/explorer/devToolsTab/nodes/CawsRootNode.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,21 @@ class CawsRootNode(private val nodeProject: Project) : AbstractTreeNode<String>(
4545
is ActiveConnection.ValidBearer -> {
4646
when (connection.connectionType) {
4747
ActiveConnectionType.BUILDER_ID -> message("caws.connected.builder_id")
48-
else -> message("caws.connected.identity_center")
48+
else -> message(
49+
"caws.connected.identity_center",
50+
connection.activeConnectionBearer?.let { "(${it.sessionName})" }.orEmpty()
51+
)
4952
}
5053
}
54+
5155
is ActiveConnection.NotConnected -> null
5256
else -> message("caws.expired.connection")
5357
}
5458
presentation.addText(connectionText, SimpleTextAttributes.GRAY_ATTRIBUTES)
5559
}
5660

5761
override fun feature() = CodeCatalystConnection.getInstance()
62+
5863
companion object {
5964
const val CAWS_SIGNED_IN_ACTION_GROUP = "aws.caws.devtools.actions.loggedin"
6065
const val CAWS_SIGNED_OUT_ACTION_GROUP = "aws.caws.devtools.actions.loggedout"

plugins/toolkit/resources/resources/software/aws/toolkits/resources/MessagesBundle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ caws.configure_workspace_tab_save_button=Save and restart
276276
caws.configure_workspace_tab_title=Configure Dev Environment
277277
caws.configure_workspace_title=Configure Dev Environment: {0} in {1}
278278
caws.connected.builder_id=\ AWS Builder ID Connected
279-
caws.connected.identity_center=\ IAM Identity Center Connected
279+
caws.connected.identity_center=\ IAM Identity Center Connected {0}
280280
caws.connecting.checking=Checking state of Dev Environment
281281
caws.connecting.in_progress=Connecting to Dev Environment
282282
caws.connecting.waiting_for_environment=Launching Dev Environment (This may take a few minutes)

0 commit comments

Comments
 (0)