11package com.liftric.code.artifact.repository
22
33import org.gradle.api.provider.Property
4+ import software.amazon.awssdk.auth.credentials.AwsBasicCredentials
45import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider
6+ import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider
57import software.amazon.awssdk.regions.Region
68import software.amazon.awssdk.services.codeartifact.CodeartifactClient
79import software.amazon.awssdk.services.codeartifact.model.GetAuthorizationTokenResponse
@@ -15,15 +17,28 @@ abstract class CodeArtifact {
1517 abstract val region: Property <Region >
1618 abstract val profile: Property <String >
1719 abstract val tokenExpiresIn: Property <Long >
20+ abstract val accessKeyId: Property <String >
21+ abstract val secretAccessKey: Property <String >
1822
1923 private val stsClient by lazy {
2024 StsClient .builder().apply {
2125 region.orNull?.let {
2226 region(it)
2327 }
24- profile .orNull?. let {
28+ if (accessKeyId .orNull != null && secretAccessKey.orNull != null ) {
2529 credentialsProvider {
26- ProfileCredentialsProvider .create(profile.get()).resolveCredentials()
30+ StaticCredentialsProvider .create(
31+ AwsBasicCredentials .create(
32+ accessKeyId.get(),
33+ secretAccessKey.get(),
34+ )
35+ ).resolveCredentials()
36+ }
37+ } else {
38+ profile.orNull?.let {
39+ credentialsProvider {
40+ ProfileCredentialsProvider .create(profile.get()).resolveCredentials()
41+ }
2742 }
2843 }
2944 }.build()
@@ -34,9 +49,20 @@ abstract class CodeArtifact {
3449 region.orNull?.let {
3550 region(it)
3651 }
37- profile .orNull?. let {
52+ if (accessKeyId .orNull != null && secretAccessKey.orNull != null ) {
3853 credentialsProvider {
39- ProfileCredentialsProvider .create(profile.get()).resolveCredentials()
54+ StaticCredentialsProvider .create(
55+ AwsBasicCredentials .create(
56+ accessKeyId.get(),
57+ secretAccessKey.get(),
58+ )
59+ ).resolveCredentials()
60+ }
61+ } else {
62+ profile.orNull?.let {
63+ credentialsProvider {
64+ ProfileCredentialsProvider .create(profile.get()).resolveCredentials()
65+ }
4066 }
4167 }
4268 }.build()
0 commit comments