private function getRegionByUrl($url)
{
$url = strtolower(parse_url($url, \PHP_URL_HOST));
$regions = ['ec2.us-east-1.amazonaws.com' => 'us-east-1', 'ec2.us-west-1.amazonaws.com' => 'us-west-1', 'ec2.us-west-2.amazonaws.com' => 'us-west-2', 'ec2.eu-west-1.amazonaws.com' => 'eu-west-1', 'ec2.eu-central-1.amazonaws.com' => 'eu-central-1', 'ec2.ap-northeast-1.amazonaws.com' => 'ap-northeast-1', 'ec2.ap-southeast-1.amazonaws.com' => 'ap-southeast-1', 'ec2.ap-southeast-2.amazonaws.com' => 'ap-southeast-2', 'ec2.sa-east-1.amazonaws.com' => 'sa-east-1', 'ec2.cn-north-1.amazonaws.com.cn' => 'cn-north-1', 'ec2.us-gov-west-1.amazonaws.com' => 'us-gov-west-1'];
if (!isset($regions[$url])) {
throw new \InvalidArgumentException('The supplied region is unknown. Check your EC2_URL environment variable.');
}
if (!in_array($regions[$url], \Aws\Common\Enum\Region::values())) {
throw new \InvalidArgumentException('The supplied region is known, but not supported by your version of aws/aws-sdk-php.');
}
return $regions[strtolower($url)];
}