You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by da...@apache.org on 2022/08/17 19:08:42 UTC

[flink] branch release-1.14 updated: [FLINK-28978][kinesis] Update AWS Regions validation to allow for future AWS regions

This is an automated email from the ASF dual-hosted git repository.

dannycranmer pushed a commit to branch release-1.14
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/release-1.14 by this push:
     new 05bd6349935 [FLINK-28978][kinesis] Update AWS Regions validation to allow for future AWS regions
05bd6349935 is described below

commit 05bd63499358b589f2954b1822e68f43b5158cc1
Author: Hong Teoh <li...@amazon.com>
AuthorDate: Tue Aug 16 00:11:56 2022 +0100

    [FLINK-28978][kinesis] Update AWS Regions validation to allow for future AWS regions
---
 .../apache/flink/streaming/connectors/kinesis/util/AWSUtil.java  | 9 ++-------
 .../flink/streaming/connectors/kinesis/util/AWSUtilTest.java     | 7 ++++++-
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/flink-connectors/flink-connector-kinesis/src/main/java/org/apache/flink/streaming/connectors/kinesis/util/AWSUtil.java b/flink-connectors/flink-connector-kinesis/src/main/java/org/apache/flink/streaming/connectors/kinesis/util/AWSUtil.java
index f6f2fda06ce..e943c51f9f8 100644
--- a/flink-connectors/flink-connector-kinesis/src/main/java/org/apache/flink/streaming/connectors/kinesis/util/AWSUtil.java
+++ b/flink-connectors/flink-connector-kinesis/src/main/java/org/apache/flink/streaming/connectors/kinesis/util/AWSUtil.java
@@ -37,7 +37,6 @@ import com.amazonaws.auth.SystemPropertiesCredentialsProvider;
 import com.amazonaws.auth.WebIdentityTokenCredentialsProvider;
 import com.amazonaws.auth.profile.ProfileCredentialsProvider;
 import com.amazonaws.client.builder.AwsClientBuilder;
-import com.amazonaws.regions.Regions;
 import com.amazonaws.services.kinesis.AmazonKinesis;
 import com.amazonaws.services.kinesis.AmazonKinesisClientBuilder;
 import com.amazonaws.services.securitytoken.AWSSecurityTokenService;
@@ -54,6 +53,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
+import java.util.regex.Pattern;
 
 import static org.apache.flink.streaming.connectors.kinesis.model.SentinelSequenceNumber.SENTINEL_AT_TIMESTAMP_SEQUENCE_NUM;
 import static org.apache.flink.streaming.connectors.kinesis.model.SentinelSequenceNumber.SENTINEL_LATEST_SEQUENCE_NUM;
@@ -250,12 +250,7 @@ public class AWSUtil {
      * @return true if the supplied region ID is valid, false otherwise
      */
     public static boolean isValidRegion(String region) {
-        try {
-            Regions.fromName(region.toLowerCase());
-        } catch (IllegalArgumentException e) {
-            return false;
-        }
-        return true;
+        return Pattern.matches("^[a-z]+-([a-z]+[-]{0,1}[a-z]+-([0-9]|global)|global)$", region);
     }
 
     /** The prefix used for properties that should be applied to {@link ClientConfiguration}. */
diff --git a/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/util/AWSUtilTest.java b/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/util/AWSUtilTest.java
index cdcf65f6e9b..8d0a661ace5 100644
--- a/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/util/AWSUtilTest.java
+++ b/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/util/AWSUtilTest.java
@@ -209,11 +209,16 @@ public class AWSUtilTest {
     @Test
     public void testValidRegion() {
         assertTrue(AWSUtil.isValidRegion("us-east-1"));
+        assertTrue(AWSUtil.isValidRegion("us-gov-west-1"));
+        assertTrue(AWSUtil.isValidRegion("us-isob-east-1"));
+        assertTrue(AWSUtil.isValidRegion("aws-global"));
+        assertTrue(AWSUtil.isValidRegion("aws-iso-global"));
+        assertTrue(AWSUtil.isValidRegion("aws-iso-b-global"));
     }
 
     @Test
     public void testInvalidRegion() {
-        assertFalse(AWSUtil.isValidRegion("ur-east-1"));
+        assertFalse(AWSUtil.isValidRegion("invalid-region"));
     }
 
     @Test