Skip to content

Commit

Permalink
[FLINK-28978][kinesis] Update AWS Regions validation to allow for fut…
Browse files Browse the repository at this point in the history
…ure AWS regions
  • Loading branch information
hlteoh37 authored and dannycranmer committed Aug 17, 2022
1 parent f0545f4 commit 05bd634
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
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;
Expand All @@ -54,6 +53,7 @@
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;
Expand Down Expand Up @@ -250,12 +250,7 @@ public void refresh() {
* @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}. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -209,11 +209,16 @@ public void testGetCredentialsProviderNamedProfile() {
@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
Expand Down

0 comments on commit 05bd634

Please sign in to comment.