private URI toURI(String endpoint) throws IllegalArgumentException {
        try {
            return new URI(String.format("%s://%s", protocol, endpoint));
        } catch (URISyntaxException e) {
            throw new IllegalArgumentException(e);
        }
    }
Uses region metdata to construct an endpoint for a specific service
aws-java-sdk-core/src/main/java/com/amazonaws/internal/DefaultServiceEndpointBuilder.java