20
20
import java .util .Optional ;
21
21
import java .util .function .Function ;
22
22
import software .amazon .awssdk .annotations .NotThreadSafe ;
23
- import software .amazon .awssdk .annotations .SdkInternalApi ;
23
+ import software .amazon .awssdk .annotations .SdkPublicApi ;
24
24
import software .amazon .awssdk .annotations .ThreadSafe ;
25
25
import software .amazon .awssdk .auth .credentials .AwsCredentials ;
26
26
import software .amazon .awssdk .auth .credentials .AwsCredentialsProvider ;
46
46
* Users of this provider must {@link #close()} it when they are finished using it.
47
47
*/
48
48
@ ThreadSafe
49
- @ SdkInternalApi
50
- abstract class StsCredentialsProvider implements AwsCredentialsProvider , SdkAutoCloseable {
49
+ @ SdkPublicApi
50
+ public abstract class StsCredentialsProvider implements AwsCredentialsProvider , SdkAutoCloseable {
51
51
52
52
private static final Duration DEFAULT_STALE_TIME = Duration .ofMinutes (1 );
53
53
private static final Duration DEFAULT_PREFETCH_TIME = Duration .ofMinutes (5 );
@@ -66,7 +66,7 @@ abstract class StsCredentialsProvider implements AwsCredentialsProvider, SdkAuto
66
66
private final Duration prefetchTime ;
67
67
private final Boolean asyncCredentialUpdateEnabled ;
68
68
69
- protected StsCredentialsProvider (BaseBuilder <?, ?> builder , String asyncThreadName ) {
69
+ StsCredentialsProvider (BaseBuilder <?, ?> builder , String asyncThreadName ) {
70
70
this .stsClient = Validate .notNull (builder .stsClient , "STS client must not be null." );
71
71
72
72
this .staleTime = Optional .ofNullable (builder .staleTime ).orElse (DEFAULT_STALE_TIME );
@@ -123,13 +123,14 @@ public Duration prefetchTime() {
123
123
/**
124
124
* Implemented by a child class to call STS and get a new set of credentials to be used by this provider.
125
125
*/
126
- protected abstract Credentials getUpdatedCredentials (StsClient stsClient );
126
+ abstract Credentials getUpdatedCredentials (StsClient stsClient );
127
127
128
128
/**
129
129
* Extended by child class's builders to share configuration across credential providers.
130
130
*/
131
131
@ NotThreadSafe
132
- protected abstract static class BaseBuilder <B extends BaseBuilder <B , T >, T extends ToCopyableBuilder <B , T >>
132
+ @ SdkPublicApi
133
+ public abstract static class BaseBuilder <B extends BaseBuilder <B , T >, T extends ToCopyableBuilder <B , T >>
133
134
implements CopyableBuilder <B , T > {
134
135
private final Function <B , T > providerConstructor ;
135
136
@@ -138,11 +139,11 @@ protected abstract static class BaseBuilder<B extends BaseBuilder<B, T>, T exten
138
139
private Duration staleTime ;
139
140
private Duration prefetchTime ;
140
141
141
- protected BaseBuilder (Function <B , T > providerConstructor ) {
142
+ BaseBuilder (Function <B , T > providerConstructor ) {
142
143
this .providerConstructor = providerConstructor ;
143
144
}
144
145
145
- public BaseBuilder (Function <B , T > providerConstructor , StsCredentialsProvider provider ) {
146
+ BaseBuilder (Function <B , T > providerConstructor , StsCredentialsProvider provider ) {
146
147
this .providerConstructor = providerConstructor ;
147
148
this .asyncCredentialUpdateEnabled = provider .asyncCredentialUpdateEnabled ;
148
149
this .stsClient = provider .stsClient ;
0 commit comments