@Provides @LazySingleton public ServerSideEncryptingAmazonS3 getAmazonS3Client( AWSCredentialsProvider provider, AWSProxyConfig proxyConfig, AWSEndpointConfig endpointConfig, AWSClientConfig clientConfig, S3StorageConfig storageConfig ) { final ClientConfiguration configuration = new ClientConfigurationFactory().getConfig(); final Protocol protocol = determineProtocol(clientConfig, endpointConfig); final AmazonS3ClientBuilder builder = AmazonS3Client .builder() .withCredentials(provider) .withClientConfiguration(setProxyConfig(configuration, proxyConfig).withProtocol(protocol)) .withChunkedEncodingDisabled(clientConfig.isDisableChunkedEncoding()) .withPathStyleAccessEnabled(clientConfig.isEnablePathStyleAccess()) .withForceGlobalBucketAccessEnabled(clientConfig.isForceGlobalBucketAccessEnabled()); if (StringUtils.isNotEmpty(endpointConfig.getUrl())) { builder.setEndpointConfiguration( new EndpointConfiguration(endpointConfig.getUrl(), endpointConfig.getSigningRegion()) ); } return new ServerSideEncryptingAmazonS3(builder.build(), storageConfig.getServerSideEncryption()); }
private AmazonS3 buildS3Client(final S3ClientKey s3ClientKey) { // TODO: Do something about allowing ClientConfiguration to be passed in return AmazonS3ClientBuilder .standard() .withRegion(s3ClientKey.getRegion()) .withForceGlobalBucketAccessEnabled(true) .withCredentials( s3ClientKey .getRoleARN() .map( roleARN -> { // TODO: Perhaps rename with more detailed info? final String roleSession = "Genie-Agent-" + UUID.randomUUID().toString(); return (AWSCredentialsProvider) new STSAssumeRoleSessionCredentialsProvider .Builder(roleARN, roleSession) .withStsClient(this.stsClient) .build(); } ) .orElse(this.awsCredentialsProvider) ) .build(); }
private AmazonS3 newGlobalInstance(S3S3CopierOptions s3s3CopierOptions) { HadoopAWSCredentialProviderChain credentialsChain = getCredentialsProviderChain(); AmazonS3ClientBuilder builder = AmazonS3ClientBuilder .standard() .withForceGlobalBucketAccessEnabled(Boolean.TRUE) .withCredentials(credentialsChain); URI s3Endpoint = s3s3CopierOptions.getS3Endpoint(); if (s3Endpoint != null) { EndpointConfiguration endpointConfiguration = new EndpointConfiguration(s3Endpoint.toString(), Region.US_Standard.getFirstRegionId()); builder.withEndpointConfiguration(endpointConfiguration); } return builder.build(); }
private AmazonS3 newGlobalInstance(S3S3CopierOptions s3s3CopierOptions) { HadoopAWSCredentialProviderChain credentialsChain = getCredentialsProviderChain(); AmazonS3ClientBuilder builder = AmazonS3ClientBuilder .standard() .withForceGlobalBucketAccessEnabled(Boolean.TRUE) .withCredentials(credentialsChain); URI s3Endpoint = s3s3CopierOptions.getS3Endpoint(); if (s3Endpoint != null) { EndpointConfiguration endpointConfiguration = new EndpointConfiguration(s3Endpoint.toString(), Region.US_Standard.getFirstRegionId()); builder.withEndpointConfiguration(endpointConfiguration); } return builder.build(); }
@Provides @LazySingleton public ServerSideEncryptingAmazonS3 getAmazonS3Client( AWSCredentialsProvider provider, AWSProxyConfig proxyConfig, AWSEndpointConfig endpointConfig, AWSClientConfig clientConfig, S3StorageConfig storageConfig ) { final ClientConfiguration configuration = new ClientConfigurationFactory().getConfig(); final AmazonS3ClientBuilder builder = AmazonS3Client .builder() .withCredentials(provider) .withClientConfiguration(setProxyConfig(configuration, proxyConfig)) .withChunkedEncodingDisabled(clientConfig.isDisableChunkedEncoding()) .withPathStyleAccessEnabled(clientConfig.isEnablePathStyleAccess()) .withForceGlobalBucketAccessEnabled(clientConfig.isForceGlobalBucketAccessEnabled()); if (StringUtils.isNotEmpty(endpointConfig.getUrl())) { builder.setEndpointConfiguration( new EndpointConfiguration(endpointConfig.getUrl(), endpointConfig.getSigningRegion()) ); } return new ServerSideEncryptingAmazonS3( builder.build(), storageConfig.getServerSideEncryption() ); }