From 3448b1a65991aaa39ba103f85ee17d1779bed8a1 Mon Sep 17 00:00:00 2001 From: Sachin Karve Date: Mon, 1 Jul 2024 15:13:44 -0700 Subject: [PATCH] format check on aws region parameter to adhere to kebab case --- src/main/java/com/meta/cp4m/S3PreProcessorConfig.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/com/meta/cp4m/S3PreProcessorConfig.java b/src/main/java/com/meta/cp4m/S3PreProcessorConfig.java index 7ce4e6e..f20439f 100644 --- a/src/main/java/com/meta/cp4m/S3PreProcessorConfig.java +++ b/src/main/java/com/meta/cp4m/S3PreProcessorConfig.java @@ -10,6 +10,7 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; +import com.google.common.base.Preconditions; import com.meta.cp4m.message.Message; import java.util.Objects; @@ -22,6 +23,11 @@ public S3PreProcessorConfig( @JsonProperty("aws_secret_access_key") String awsSecretAccessKey, @JsonProperty("region") String region, @JsonProperty("bucket") String bucket) { + + String kebabCase = "^[a-z0-9]+(-[a-z0-9]+)*$"; + Preconditions.checkArgument( + bucket.matches(kebabCase), "bucket does not match the aws region format(kebab case) or is empty"); + this.name = Objects.requireNonNull(name, "name is a required parameter"); this.awsAccessKeyId = Objects.requireNonNull(awsAccessKeyId, "aws access key is a required parameter"); this.awsSecretAccessKey = Objects.requireNonNull(awsSecretAccessKey, "aws secret access key is a required parameter");