in statefun-flink/statefun-flink-io-bundle/src/main/java/org/apache/flink/statefun/flink/io/kinesis/binders/AwsRegionJsonDeserializer.java [36:59]
public AwsRegion deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
throws IOException {
final ObjectNode awsRegionNode = jsonParser.readValueAs(ObjectNode.class);
final String typeString = awsRegionNode.get("type").asText();
switch (typeString) {
case DEFAULT_TYPE:
return AwsRegion.fromDefaultProviderChain();
case SPECIFIED_ID_TYPE:
return AwsRegion.ofId(awsRegionNode.get("id").asText());
case CUSTOM_ENDPOINT_TYPE:
return AwsRegion.ofCustomEndpoint(
awsRegionNode.get("endpoint").asText(), awsRegionNode.get("id").asText());
default:
final List<String> validValues =
Arrays.asList(DEFAULT_TYPE, SPECIFIED_ID_TYPE, CUSTOM_ENDPOINT_TYPE);
throw new IllegalArgumentException(
"Invalid AWS region type: "
+ typeString
+ "; valid values are ["
+ String.join(", ", validValues)
+ "]");
}
}