in common/src/main/kotlin/org/jetbrains/teamcity/sccache/backends.kt [118:144]
fun getAWSRegionFromEndpoint(endpoint: String): String? {
val value = endpoint.trim('/')
if (!value.endsWith("amazonaws.com")) return null
val split = LinkedList(value.split('.').asReversed())
if (split.pop() != "com") return null
if (split.pop() != "amazonaws") return null
val candidate = split.pop()
if (candidate == "s3" && split.isEmpty()) return "us-east-1" // special legacy case s3.amazonaws.com
if (!split.pop().contains("s3")) return null
val dashes = candidate.count { it == '-' }
// two dashes in regular regions, three in gov regions
if (dashes != 2 && dashes != 3) return null
return candidate
// s3.REGION.amazonaws.com
// s3-fips.REGION.amazonaws.com
// s3.dualstack.REGION.amazonaws.com
// s3-fips.dualstack.REGION.amazonaws.com
// ACCOUNT.s3-control.REGION.amazonaws.com
// ACCOUNT.s3-control-fips.REGION.amazonaws.com
// ACCOUNT.s3-control.dualstack.REGION.amazonaws.com
// ACCOUNT.s3-control-fips.dualstack.REGION.amazonaws.com
}