From e9edd357efa4fca4aeb17994a3f737e420cf0189 Mon Sep 17 00:00:00 2001 From: matejnedic Date: Thu, 3 Oct 2024 22:59:53 +0200 Subject: [PATCH] Amend PR comments --- docs/src/main/asciidoc/s3.adoc | 1 - .../autoconfigure/s3/S3AutoConfiguration.java | 2 +- .../s3/properties/S3PluginProperties.java | 18 ++++++++++++++++++ .../s3/properties/S3Properties.java | 15 ++++++--------- .../s3/S3AutoConfigurationTests.java | 4 ++-- 5 files changed, 27 insertions(+), 13 deletions(-) create mode 100644 spring-cloud-aws-autoconfigure/src/main/java/io/awspring/cloud/autoconfigure/s3/properties/S3PluginProperties.java diff --git a/docs/src/main/asciidoc/s3.adoc b/docs/src/main/asciidoc/s3.adoc index 409fa6dfe..055a33c1d 100644 --- a/docs/src/main/asciidoc/s3.adoc +++ b/docs/src/main/asciidoc/s3.adoc @@ -198,7 +198,6 @@ To use S3 Access Grants out of the box with `S3Client` and `S3Template` introduc software.amazon.s3.accessgrants aws-s3-accessgrants-java-plugin - true ---- diff --git a/spring-cloud-aws-autoconfigure/src/main/java/io/awspring/cloud/autoconfigure/s3/S3AutoConfiguration.java b/spring-cloud-aws-autoconfigure/src/main/java/io/awspring/cloud/autoconfigure/s3/S3AutoConfiguration.java index 0d57304b0..dee0e3234 100644 --- a/spring-cloud-aws-autoconfigure/src/main/java/io/awspring/cloud/autoconfigure/s3/S3AutoConfiguration.java +++ b/spring-cloud-aws-autoconfigure/src/main/java/io/awspring/cloud/autoconfigure/s3/S3AutoConfiguration.java @@ -82,7 +82,7 @@ S3ClientBuilder s3ClientBuilder(AwsClientBuilderConfigurer awsClientBuilderConfi if (ClassUtils.isPresent("software.amazon.awssdk.s3accessgrants.plugin.S3AccessGrantsPlugin", null)) { S3AccessGrantsPlugin s3AccessGrantsPlugin = S3AccessGrantsPlugin.builder() - .enableFallback(properties.getEnableFallback()).build(); + .enableFallback(properties.getPlugin().getEnableFallback()).build(); builder.addPlugin(s3AccessGrantsPlugin); } Optional.ofNullable(this.properties.getCrossRegionEnabled()).ifPresent(builder::crossRegionAccessEnabled); diff --git a/spring-cloud-aws-autoconfigure/src/main/java/io/awspring/cloud/autoconfigure/s3/properties/S3PluginProperties.java b/spring-cloud-aws-autoconfigure/src/main/java/io/awspring/cloud/autoconfigure/s3/properties/S3PluginProperties.java new file mode 100644 index 000000000..c636d89db --- /dev/null +++ b/spring-cloud-aws-autoconfigure/src/main/java/io/awspring/cloud/autoconfigure/s3/properties/S3PluginProperties.java @@ -0,0 +1,18 @@ +package io.awspring.cloud.autoconfigure.s3.properties; + +public class S3PluginProperties { + + /** + * If set to false if Access Grants does not find/return permissions, S3Client won't try to determine if policies + * grant access If set to true fallback policies S3/IAM will be evaluated. + */ + private boolean enableFallback; + + public boolean getEnableFallback() { + return enableFallback; + } + + public void setEnableFallback(boolean enableFallback) { + this.enableFallback = enableFallback; + } +} diff --git a/spring-cloud-aws-autoconfigure/src/main/java/io/awspring/cloud/autoconfigure/s3/properties/S3Properties.java b/spring-cloud-aws-autoconfigure/src/main/java/io/awspring/cloud/autoconfigure/s3/properties/S3Properties.java index 69c9af67d..307caeac9 100644 --- a/spring-cloud-aws-autoconfigure/src/main/java/io/awspring/cloud/autoconfigure/s3/properties/S3Properties.java +++ b/spring-cloud-aws-autoconfigure/src/main/java/io/awspring/cloud/autoconfigure/s3/properties/S3Properties.java @@ -93,11 +93,8 @@ public class S3Properties extends AwsClientProperties { @NestedConfigurationProperty private S3CrtClientProperties crt; - /** - * If set to false if Access Grants does not find/return permissions, S3Client won't try to determine if policies - * grant access If set to true fallback policies S3/IAM will be evaluated. - */ - private boolean enableFallback; + @NestedConfigurationProperty + private S3PluginProperties plugin = new S3PluginProperties(); @Nullable public Boolean getAccelerateModeEnabled() { @@ -182,11 +179,11 @@ public S3Configuration toS3Configuration() { return config.build(); } - public boolean getEnableFallback() { - return enableFallback; + public S3PluginProperties getPlugin() { + return plugin; } - public void setEnableFallback(boolean enableFallback) { - this.enableFallback = enableFallback; + public void setPlugin(S3PluginProperties plugin) { + this.plugin = plugin; } } diff --git a/spring-cloud-aws-autoconfigure/src/test/java/io/awspring/cloud/autoconfigure/s3/S3AutoConfigurationTests.java b/spring-cloud-aws-autoconfigure/src/test/java/io/awspring/cloud/autoconfigure/s3/S3AutoConfigurationTests.java index e739927ec..edfb39392 100644 --- a/spring-cloud-aws-autoconfigure/src/test/java/io/awspring/cloud/autoconfigure/s3/S3AutoConfigurationTests.java +++ b/spring-cloud-aws-autoconfigure/src/test/java/io/awspring/cloud/autoconfigure/s3/S3AutoConfigurationTests.java @@ -78,7 +78,7 @@ class S3AutoConfigurationTests { .withClassLoader(new FilteredClassLoader(S3AccessGrantsPlugin.class)); @Test - void testThatS3AccessGrantIdentityProviderIsSet() { + void setsS3AccessGrantIdentityProvider() { contextRunner.run(context -> { S3ClientBuilder builder = context.getBean(S3ClientBuilder.class); ConfiguredAwsClient client = new ConfiguredAwsClient(builder.build()); @@ -87,7 +87,7 @@ void testThatS3AccessGrantIdentityProviderIsSet() { } @Test - void testThatS3AccessGrantIdentityProviderIsNotSet() { + void doesNotSetS3AccessGrantIdentityProvider() { contextRunnerWithoutGrant.run(context -> { S3ClientBuilder builder = context.getBean(S3ClientBuilder.class); ConfiguredAwsClient client = new ConfiguredAwsClient(builder.build());