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 intConstant 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.AwsRegionProviderawsRegionProvider(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 lazyS3ClientFactoryinstance if one is needed by the system.s3JobArchiver(S3TransferManagerFactory s3TransferManagerFactory) Provide an implementation ofJobArchiverto 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 theS3ProtocolResolverto the set ofProtocolResolverin the application context.s3TransferManagerFactory(S3ClientFactory s3ClientFactory) Provide aS3TransferManagerFactoryinstance 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 lazyS3ClientFactoryinstance if one is needed by the system.- Parameters:
awsCredentialsProvider- TheAwsCredentialsProviderto useawsRegionProvider- TheAwsRegionProviderto useenvironment- The Spring applicationEnvironmentto bind properties from- Returns:
- A
S3ClientFactoryinstance
-
s3ProtocolResolver
@Bean @ConditionalOnMissingBean(S3ProtocolResolver.class) public S3ProtocolResolver s3ProtocolResolver(S3ClientFactory s3ClientFactory) Provide a protocol resolver which will allow resources with s3:// prefixes.- Parameters:
s3ClientFactory- TheS3ClientFactoryinstance to use- Returns:
- A
S3ProtocolResolverinstance
-
s3ProtocolResolverRegistrar
@Bean @ConditionalOnMissingBean(S3ProtocolResolverRegistrar.class) public S3ProtocolResolverRegistrar s3ProtocolResolverRegistrar(S3ProtocolResolver s3ProtocolResolver) Configurer bean which will add theS3ProtocolResolverto the set ofProtocolResolverin the application context.- Parameters:
s3ProtocolResolver- The implementation ofS3ProtocolResolverto use- Returns:
- A
S3ProtocolResolverRegistrarinstance
-
s3TransferManagerFactory
@Bean @Primary public S3TransferManagerFactory s3TransferManagerFactory(S3ClientFactory s3ClientFactory) Provide aS3TransferManagerFactoryinstance if one is needed by the system. This factory is for creating and managingS3TransferManagerinstances, which are used for efficient transfer of files to and from S3.- Parameters:
s3ClientFactory- TheS3ClientFactoryinstance to use for configuration and utilities- Returns:
- A
S3TransferManagerFactoryinstance
-
s3JobArchiver
@Bean @Order(-2147483638) public S3JobArchiverImpl s3JobArchiver(S3TransferManagerFactory s3TransferManagerFactory) Provide an implementation ofJobArchiverto handle archiving to S3.- Parameters:
s3TransferManagerFactory- The factory for creating S3 transfer manager- Returns:
- A
S3JobArchiverImplinstance
-