1
1
package com.liftric.code.artifact.repository
2
2
3
3
import org.gradle.api.provider.Property
4
+ import software.amazon.awssdk.auth.credentials.AwsBasicCredentials
4
5
import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider
6
+ import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider
5
7
import software.amazon.awssdk.regions.Region
6
8
import software.amazon.awssdk.services.codeartifact.CodeartifactClient
7
9
import software.amazon.awssdk.services.codeartifact.model.GetAuthorizationTokenResponse
@@ -15,15 +17,28 @@ abstract class CodeArtifact {
15
17
abstract val region: Property <Region >
16
18
abstract val profile: Property <String >
17
19
abstract val tokenExpiresIn: Property <Long >
20
+ abstract val accessKeyId: Property <String >
21
+ abstract val secretAccessKey: Property <String >
18
22
19
23
private val stsClient by lazy {
20
24
StsClient .builder().apply {
21
25
region.orNull?.let {
22
26
region(it)
23
27
}
24
- profile .orNull?. let {
28
+ if (accessKeyId .orNull != null && secretAccessKey.orNull != null ) {
25
29
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
+ }
27
42
}
28
43
}
29
44
}.build()
@@ -34,9 +49,20 @@ abstract class CodeArtifact {
34
49
region.orNull?.let {
35
50
region(it)
36
51
}
37
- profile .orNull?. let {
52
+ if (accessKeyId .orNull != null && secretAccessKey.orNull != null ) {
38
53
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
+ }
40
66
}
41
67
}
42
68
}.build()
0 commit comments