Package io.micronaut.aws.sdk.v2.service
Class AwsClientFactory<SB extends software.amazon.awssdk.awscore.client.builder.AwsSyncClientBuilder<SB,SC> & software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<SB,SC>,AB extends software.amazon.awssdk.awscore.client.builder.AwsAsyncClientBuilder<AB,AC> & software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<AB,AC>,SC,AC extends software.amazon.awssdk.core.SdkClient>
java.lang.Object
io.micronaut.aws.sdk.v2.service.AwsClientFactory<SB,AB,SC,AC>
- Type Parameters:
SB
- The sync builderAB
- The async builderSC
- The sync clientAC
- The async client
- Direct Known Subclasses:
ApiGatewayManagementApiClientFactory
,CloudwatchLogsClientFactory
,DynamoDbClientFactory
,S3ClientFactory
,SecretsManagerClientFactory
,ServiceDiscoveryAsyncClientFactory
,SesClientFactory
,SnsClientFactory
,SqsClientFactory
,SsmClientFactory
public abstract class AwsClientFactory<SB extends software.amazon.awssdk.awscore.client.builder.AwsSyncClientBuilder<SB,SC> & software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<SB,SC>,AB extends software.amazon.awssdk.awscore.client.builder.AwsAsyncClientBuilder<AB,AC> & software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<AB,AC>,SC,AC extends software.amazon.awssdk.core.SdkClient>
extends Object
Abstract class that eases creation of AWS client factories.
- Since:
- 2.0.0
- Author:
- Álvaro Sánchez-Mariscal
-
Field Summary
Modifier and TypeFieldDescriptionprotected final @Nullable AWSServiceConfiguration
protected final software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain
protected final software.amazon.awssdk.regions.providers.AwsRegionProviderChain
protected final @Nullable UserAgentProvider
-
Constructor Summary
ModifierConstructorDescriptionprotected
AwsClientFactory
(software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain credentialsProvider, software.amazon.awssdk.regions.providers.AwsRegionProviderChain regionProvider, @Nullable UserAgentProvider userAgentProvider, @Nullable AWSServiceConfiguration configuration) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionasyncBuilder
(software.amazon.awssdk.http.async.SdkAsyncHttpClient httpClient) Configures the builder so that it uses the appropriate HTTP client, credentials and region providers.asyncClient
(AB builder) Creates the async client.protected abstract AB
Implementations need to create the builder, eg:S3AsyncClient.builder();
.protected abstract SB
Implementations need to create the builder, eg:S3Client.builder();
.syncBuilder
(software.amazon.awssdk.http.SdkHttpClient httpClient) Configures the builder so that it uses the appropriate HTTP client, credentials and region providers.syncClient
(SB builder) Creates the sync client.
-
Field Details
-
credentialsProvider
protected final software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain credentialsProvider -
regionProvider
protected final software.amazon.awssdk.regions.providers.AwsRegionProviderChain regionProvider -
configuration
-
userAgentProvider
-
-
Constructor Details
-
AwsClientFactory
protected AwsClientFactory(software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain credentialsProvider, software.amazon.awssdk.regions.providers.AwsRegionProviderChain regionProvider, @Nullable @Nullable UserAgentProvider userAgentProvider, @Nullable @Nullable AWSServiceConfiguration configuration) Constructor.- Parameters:
credentialsProvider
- The credentials providerregionProvider
- The region provideruserAgentProvider
- User-Agent Providerconfiguration
- AWS Service Configuration
-
-
Method Details
-
syncBuilder
Configures the builder so that it uses the appropriate HTTP client, credentials and region providers. Subclasses may want to override this method and annotate it with@Singleton
.- Parameters:
httpClient
- The sync HTTP client- Returns:
- The sync builder
-
syncClient
Creates the sync client. It requires a bean of typeSB
.- Parameters:
builder
- The sync builder- Returns:
- The sync AWS client
- See Also:
-
asyncBuilder
Configures the builder so that it uses the appropriate HTTP client, credentials and region providers. Subclasses may want to override this method and annotate it with@Singleton
.- Parameters:
httpClient
- The async HTTP client- Returns:
- The async builder
-
asyncClient
Creates the async client. It requires a bean of typeAB
.- Parameters:
builder
- The async builder- Returns:
- The async AWS client
-
createSyncBuilder
Implementations need to create the builder, eg:S3Client.builder();
.- Returns:
- The sync builder
-
createAsyncBuilder
Implementations need to create the builder, eg:S3AsyncClient.builder();
.- Returns:
- The async builder
-