Class AwsAutoConfiguration
java.lang.Object
com.netflix.genie.common.internal.configs.AwsAutoConfiguration
@Configuration
@EnableConfigurationProperties
@AutoConfigureAfter({io.awspring.cloud.autoconfigure.core.CredentialsProviderAutoConfiguration.class,io.awspring.cloud.autoconfigure.core.RegionProviderAutoConfiguration.class})
@ConditionalOnClass(name="software.amazon.awssdk.auth.credentials.AwsCredentialsProvider")
public class AwsAutoConfiguration
extends Object
Spring Boot auto configuration for AWS related beans for the Genie Agent. Should be configured after all the
Spring Cloud AWS context configurations are complete.
- Since:
- 4.0.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Constant for the precedence of the S3 job archive implementation for others to reference if need be. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionsoftware.amazon.awssdk.regions.providers.AwsRegionProvider
awsRegionProvider
(io.awspring.cloud.autoconfigure.core.RegionProperties regionProperties) Get an AWS region provider instance.s3ClientFactory
(software.amazon.awssdk.auth.credentials.AwsCredentialsProvider awsCredentialsProvider, software.amazon.awssdk.regions.providers.AwsRegionProvider awsRegionProvider, org.springframework.core.env.Environment environment) Provide a lazyS3ClientFactory
instance if one is needed by the system.s3JobArchiver
(S3TransferManagerFactory s3TransferManagerFactory) Provide an implementation ofJobArchiver
to handle archiving to S3.s3ProtocolResolver
(S3ClientFactory s3ClientFactory) Provide a protocol resolver which will allow resources with s3:// prefixes.s3ProtocolResolverRegistrar
(S3ProtocolResolver s3ProtocolResolver) Configurer bean which will add theS3ProtocolResolver
to the set ofProtocolResolver
in the application context.s3TransferManagerFactory
(S3ClientFactory s3ClientFactory) Provide aS3TransferManagerFactory
instance if one is needed by the system.
-
Field Details
-
S3_JOB_ARCHIVER_PRECEDENCE
public static final int S3_JOB_ARCHIVER_PRECEDENCEConstant for the precedence of the S3 job archive implementation for others to reference if need be.- See Also:
-
Ordered
- Constant Field Values
-
-
Constructor Details
-
AwsAutoConfiguration
public AwsAutoConfiguration()
-
-
Method Details
-
awsRegionProvider
@Bean @Primary public software.amazon.awssdk.regions.providers.AwsRegionProvider awsRegionProvider(io.awspring.cloud.autoconfigure.core.RegionProperties regionProperties) Get an AWS region provider instance.- Parameters:
regionProperties
- The cloud.aws.region.* properties- Returns:
- A region provider based on whether static was set by user, else auto, else default of us-east-1
-
s3ClientFactory
@Bean @ConditionalOnMissingBean(S3ClientFactory.class) public S3ClientFactory s3ClientFactory(software.amazon.awssdk.auth.credentials.AwsCredentialsProvider awsCredentialsProvider, software.amazon.awssdk.regions.providers.AwsRegionProvider awsRegionProvider, org.springframework.core.env.Environment environment) Provide a lazyS3ClientFactory
instance if one is needed by the system.- Parameters:
awsCredentialsProvider
- TheAwsCredentialsProvider
to useawsRegionProvider
- TheAwsRegionProvider
to useenvironment
- The Spring applicationEnvironment
to bind properties from- Returns:
- A
S3ClientFactory
instance
-
s3ProtocolResolver
@Bean @ConditionalOnMissingBean(S3ProtocolResolver.class) public S3ProtocolResolver s3ProtocolResolver(S3ClientFactory s3ClientFactory) Provide a protocol resolver which will allow resources with s3:// prefixes.- Parameters:
s3ClientFactory
- TheS3ClientFactory
instance to use- Returns:
- A
S3ProtocolResolver
instance
-
s3ProtocolResolverRegistrar
@Bean @ConditionalOnMissingBean(S3ProtocolResolverRegistrar.class) public S3ProtocolResolverRegistrar s3ProtocolResolverRegistrar(S3ProtocolResolver s3ProtocolResolver) Configurer bean which will add theS3ProtocolResolver
to the set ofProtocolResolver
in the application context.- Parameters:
s3ProtocolResolver
- The implementation ofS3ProtocolResolver
to use- Returns:
- A
S3ProtocolResolverRegistrar
instance
-
s3TransferManagerFactory
@Bean @Primary public S3TransferManagerFactory s3TransferManagerFactory(S3ClientFactory s3ClientFactory) Provide aS3TransferManagerFactory
instance if one is needed by the system. This factory is for creating and managingS3TransferManager
instances, which are used for efficient transfer of files to and from S3.- Parameters:
s3ClientFactory
- TheS3ClientFactory
instance to use for configuration and utilities- Returns:
- A
S3TransferManagerFactory
instance
-
s3JobArchiver
@Bean @Order(-2147483638) public S3JobArchiverImpl s3JobArchiver(S3TransferManagerFactory s3TransferManagerFactory) Provide an implementation ofJobArchiver
to handle archiving to S3.- Parameters:
s3TransferManagerFactory
- The factory for creating S3 transfer manager- Returns:
- A
S3JobArchiverImpl
instance
-