Skip to content

Commit 6ff6573

Browse files
authored
Merge pull request #45 from oheyadam/allow-using-aws-profiles
Allow using a specific AWS profile to auth
2 parents ff6ef9c + f354cf2 commit 6ff6573

File tree

3 files changed

+9
-6
lines changed

3 files changed

+9
-6
lines changed

s3buildcache/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ buildCache {
2727
```
2828

2929
- `region`, `bucketName` are required.
30-
- `credentials` defaults to `DefaultS3Credentials`, but can also be set to `ExportedS3Credentials`, or `SpecificCredentialsProvider`.
30+
- `credentials` defaults to `DefaultS3Credentials`, but can also be set to `ExportedS3Credentials`, `ProfileS3Credentials`, or `SpecificCredentialsProvider`.
3131
- `isPush` defaults to `false`.
3232

3333
---

s3buildcache/src/main/kotlin/androidx/build/gradle/s3buildcache/S3BuildCacheService.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,7 @@ import org.gradle.caching.BuildCacheEntryReader
2424
import org.gradle.caching.BuildCacheEntryWriter
2525
import org.gradle.caching.BuildCacheKey
2626
import org.gradle.caching.BuildCacheService
27-
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials
28-
import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider
29-
import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider
30-
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider
27+
import software.amazon.awssdk.auth.credentials.*
3128
import software.amazon.awssdk.regions.Region
3229
import software.amazon.awssdk.services.s3.S3Client
3330
import java.io.ByteArrayOutputStream
@@ -104,6 +101,7 @@ class S3BuildCacheService(
104101
return when (s3Credentials) {
105102
DefaultS3Credentials -> DefaultCredentialsProvider.create()
106103
is SpecificCredentialsProvider -> s3Credentials.provider
104+
is ProfileS3Credentials -> ProfileCredentialsProvider.create(s3Credentials.profile)
107105
is ExportedS3Credentials -> StaticCredentialsProvider.create(
108106
AwsBasicCredentials.create(s3Credentials.awsAccessKeyId, s3Credentials.awsSecretKey)
109107
)

s3buildcache/src/main/kotlin/androidx/build/gradle/s3buildcache/S3Credentials.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ sealed interface S3Credentials : Credentials
2828
/**
2929
* Use DefaultCredentialsProvider to authenticate to AWS.
3030
*/
31-
object DefaultS3Credentials : S3Credentials
31+
data object DefaultS3Credentials : S3Credentials
3232

3333
/**
3434
* Use a specific credentials provider
@@ -40,3 +40,8 @@ class SpecificCredentialsProvider(val provider: AwsCredentialsProvider) : S3Cred
4040
* Use provided keys to authenticate to AWS.
4141
*/
4242
class ExportedS3Credentials(val awsAccessKeyId: String, val awsSecretKey: String) : S3Credentials
43+
44+
/**
45+
* Ensure that we load this profile to authenticate to AWS
46+
*/
47+
class ProfileS3Credentials(val profile: String) : S3Credentials

0 commit comments

Comments
 (0)