exceptionfactory commented on code in PR #10825:
URL: https://github.com/apache/nifi/pull/10825#discussion_r2742227457


##########
nifi-extension-bundles/nifi-iceberg-bundle/nifi-iceberg-aws/src/main/java/org/apache/nifi/services/iceberg/aws/S3IcebergFileIOProvider.java:
##########
@@ -102,12 +102,32 @@ public class S3IcebergFileIOProvider extends 
AbstractControllerService implement
             )
             .build();
 
+    static final PropertyDescriptor ENDPOINT_OVERRIDE = new 
PropertyDescriptor.Builder()
+            .name("Endpoint Override URL")
+            .description("Endpoint URL to use instead of the AWS default 
including scheme, host, port, and path. " +
+                    "The AWS libraries select an endpoint URL based on the AWS 
region, but this property overrides " +
+                    "the selected endpoint URL, allowing use with other 
S3-compatible endpoints.")
+            .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)

Review Comment:
   I recommend avoiding the use of the `ENVIRONMENT` scope for now, it could be 
added later if needed.



##########
nifi-extension-bundles/nifi-iceberg-bundle/nifi-iceberg-aws/src/main/java/org/apache/nifi/services/iceberg/aws/S3IcebergFileIOProvider.java:
##########
@@ -102,12 +102,32 @@ public class S3IcebergFileIOProvider extends 
AbstractControllerService implement
             )
             .build();
 
+    static final PropertyDescriptor ENDPOINT_OVERRIDE = new 
PropertyDescriptor.Builder()
+            .name("Endpoint Override URL")
+            .description("Endpoint URL to use instead of the AWS default 
including scheme, host, port, and path. " +
+                    "The AWS libraries select an endpoint URL based on the AWS 
region, but this property overrides " +
+                    "the selected endpoint URL, allowing use with other 
S3-compatible endpoints.")

Review Comment:
   Please reformat using a multiline string.



##########
nifi-extension-bundles/nifi-iceberg-bundle/nifi-iceberg-aws/src/main/java/org/apache/nifi/services/iceberg/aws/S3IcebergFileIOProvider.java:
##########
@@ -102,12 +102,32 @@ public class S3IcebergFileIOProvider extends 
AbstractControllerService implement
             )
             .build();
 
+    static final PropertyDescriptor ENDPOINT_OVERRIDE = new 
PropertyDescriptor.Builder()
+            .name("Endpoint Override URL")
+            .description("Endpoint URL to use instead of the AWS default 
including scheme, host, port, and path. " +
+                    "The AWS libraries select an endpoint URL based on the AWS 
region, but this property overrides " +
+                    "the selected endpoint URL, allowing use with other 
S3-compatible endpoints.")
+            .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
+            .required(false)
+            .addValidator(StandardValidators.URL_VALIDATOR)
+            .build();
+
+    static final PropertyDescriptor USE_PATH_STYLE_ACCESS = new 
PropertyDescriptor.Builder()
+            .name("Use Path Style Access")
+            .description("Path-style access can be enforced by setting this 
property to true. Set it to true if your endpoint does not support " +
+                    "virtual-hosted-style requests, only path-style requests.")
+            .allowableValues("true", "false")
+            
.defaultValue(String.valueOf(S3FileIOProperties.PATH_STYLE_ACCESS_DEFAULT))
+            .build();

Review Comment:
   A Boolean validator should be added



##########
nifi-extension-bundles/nifi-iceberg-bundle/nifi-iceberg-aws/src/main/java/org/apache/nifi/services/iceberg/aws/S3IcebergFileIOProvider.java:
##########
@@ -102,12 +102,32 @@ public class S3IcebergFileIOProvider extends 
AbstractControllerService implement
             )
             .build();
 
+    static final PropertyDescriptor ENDPOINT_OVERRIDE = new 
PropertyDescriptor.Builder()
+            .name("Endpoint Override URL")

Review Comment:
   I recommend naming this `Endpoint URL` to align more closely with the 
underlying Iceberg property.
   
   ```suggestion
       static final PropertyDescriptor ENDPOINT_URL = new 
PropertyDescriptor.Builder()
               .name("Endpoint URL")
   ```



##########
nifi-extension-bundles/nifi-iceberg-bundle/nifi-iceberg-aws/src/main/java/org/apache/nifi/services/iceberg/aws/S3IcebergFileIOProvider.java:
##########
@@ -102,12 +102,32 @@ public class S3IcebergFileIOProvider extends 
AbstractControllerService implement
             )
             .build();
 
+    static final PropertyDescriptor ENDPOINT_OVERRIDE = new 
PropertyDescriptor.Builder()
+            .name("Endpoint Override URL")
+            .description("Endpoint URL to use instead of the AWS default 
including scheme, host, port, and path. " +
+                    "The AWS libraries select an endpoint URL based on the AWS 
region, but this property overrides " +
+                    "the selected endpoint URL, allowing use with other 
S3-compatible endpoints.")
+            .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
+            .required(false)
+            .addValidator(StandardValidators.URL_VALIDATOR)
+            .build();
+
+    static final PropertyDescriptor USE_PATH_STYLE_ACCESS = new 
PropertyDescriptor.Builder()
+            .name("Use Path Style Access")

Review Comment:
   I recommend renaming this to `Path Style Access` to align more closely to 
the Iceberg property name.
   
   ```suggestion
       static final PropertyDescriptor PATH_STYLE_ACCESS = new 
PropertyDescriptor.Builder()
               .name("Path Style Access")
   ```



##########
nifi-extension-bundles/nifi-iceberg-bundle/nifi-iceberg-aws/src/main/java/org/apache/nifi/services/iceberg/aws/S3IcebergFileIOProvider.java:
##########
@@ -102,12 +102,32 @@ public class S3IcebergFileIOProvider extends 
AbstractControllerService implement
             )
             .build();
 
+    static final PropertyDescriptor ENDPOINT_OVERRIDE = new 
PropertyDescriptor.Builder()
+            .name("Endpoint Override URL")
+            .description("Endpoint URL to use instead of the AWS default 
including scheme, host, port, and path. " +
+                    "The AWS libraries select an endpoint URL based on the AWS 
region, but this property overrides " +
+                    "the selected endpoint URL, allowing use with other 
S3-compatible endpoints.")
+            .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
+            .required(false)
+            .addValidator(StandardValidators.URL_VALIDATOR)
+            .build();
+
+    static final PropertyDescriptor USE_PATH_STYLE_ACCESS = new 
PropertyDescriptor.Builder()
+            .name("Use Path Style Access")
+            .description("Path-style access can be enforced by setting this 
property to true. Set it to true if your endpoint does not support " +
+                    "virtual-hosted-style requests, only path-style requests.")
+            .allowableValues("true", "false")
+            
.defaultValue(String.valueOf(S3FileIOProperties.PATH_STYLE_ACCESS_DEFAULT))

Review Comment:
   This can be marked as `required(true)` since a default value is provided.



##########
nifi-extension-bundles/nifi-iceberg-bundle/nifi-iceberg-aws/src/main/java/org/apache/nifi/services/iceberg/aws/S3IcebergFileIOProvider.java:
##########
@@ -102,12 +102,32 @@ public class S3IcebergFileIOProvider extends 
AbstractControllerService implement
             )
             .build();
 
+    static final PropertyDescriptor ENDPOINT_OVERRIDE = new 
PropertyDescriptor.Builder()
+            .name("Endpoint Override URL")
+            .description("Endpoint URL to use instead of the AWS default 
including scheme, host, port, and path. " +
+                    "The AWS libraries select an endpoint URL based on the AWS 
region, but this property overrides " +
+                    "the selected endpoint URL, allowing use with other 
S3-compatible endpoints.")
+            .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
+            .required(false)
+            .addValidator(StandardValidators.URL_VALIDATOR)
+            .build();
+
+    static final PropertyDescriptor USE_PATH_STYLE_ACCESS = new 
PropertyDescriptor.Builder()
+            .name("Use Path Style Access")
+            .description("Path-style access can be enforced by setting this 
property to true. Set it to true if your endpoint does not support " +
+                    "virtual-hosted-style requests, only path-style requests.")

Review Comment:
   ```suggestion
               .description("Path-style access can be enforced by setting this 
property to true. Set it to true if the configured endpoint does not support " +
                       "virtual-hosted-style requests, only path-style 
requests.")
   ```



##########
nifi-extension-bundles/nifi-iceberg-bundle/nifi-iceberg-aws/src/main/java/org/apache/nifi/services/iceberg/aws/S3IcebergFileIOProvider.java:
##########
@@ -102,12 +102,32 @@ public class S3IcebergFileIOProvider extends 
AbstractControllerService implement
             )
             .build();
 
+    static final PropertyDescriptor ENDPOINT_OVERRIDE = new 
PropertyDescriptor.Builder()
+            .name("Endpoint Override URL")
+            .description("Endpoint URL to use instead of the AWS default 
including scheme, host, port, and path. " +
+                    "The AWS libraries select an endpoint URL based on the AWS 
region, but this property overrides " +
+                    "the selected endpoint URL, allowing use with other 
S3-compatible endpoints.")
+            .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
+            .required(false)
+            .addValidator(StandardValidators.URL_VALIDATOR)
+            .build();
+
+    static final PropertyDescriptor USE_PATH_STYLE_ACCESS = new 
PropertyDescriptor.Builder()
+            .name("Use Path Style Access")
+            .description("Path-style access can be enforced by setting this 
property to true. Set it to true if your endpoint does not support " +
+                    "virtual-hosted-style requests, only path-style requests.")
+            .allowableValues("true", "false")

Review Comment:
   Recommend using `Boolean.TRUE.toString()`



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to