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 Details

    • S3_JOB_ARCHIVER_PRECEDENCE

      public static final int S3_JOB_ARCHIVER_PRECEDENCE
      Constant for the precedence of the S3 job archive implementation for others to reference if need be.
      See Also:
  • 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 lazy S3ClientFactory instance if one is needed by the system.
      Parameters:
      awsCredentialsProvider - The AwsCredentialsProvider to use
      awsRegionProvider - The AwsRegionProvider to use
      environment - The Spring application Environment 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 - The S3ClientFactory instance to use
      Returns:
      A S3ProtocolResolver instance
    • s3ProtocolResolverRegistrar

      @Bean @ConditionalOnMissingBean(S3ProtocolResolverRegistrar.class) public S3ProtocolResolverRegistrar s3ProtocolResolverRegistrar(S3ProtocolResolver s3ProtocolResolver)
      Configurer bean which will add the S3ProtocolResolver to the set of ProtocolResolver in the application context.
      Parameters:
      s3ProtocolResolver - The implementation of S3ProtocolResolver to use
      Returns:
      A S3ProtocolResolverRegistrar instance
    • s3TransferManagerFactory

      @Bean @Primary public S3TransferManagerFactory s3TransferManagerFactory(S3ClientFactory s3ClientFactory)
      Provide a S3TransferManagerFactory instance if one is needed by the system. This factory is for creating and managing S3TransferManager instances, which are used for efficient transfer of files to and from S3.
      Parameters:
      s3ClientFactory - The S3ClientFactory instance to use for configuration and utilities
      Returns:
      A S3TransferManagerFactory instance
    • s3JobArchiver

      @Bean @Order(-2147483638) public S3JobArchiverImpl s3JobArchiver(S3TransferManagerFactory s3TransferManagerFactory)
      Provide an implementation of JobArchiver to handle archiving to S3.
      Parameters:
      s3TransferManagerFactory - The factory for creating S3 transfer manager
      Returns:
      A S3JobArchiverImpl instance