public function __construct($key, $secret, $name, $region = 'eu-west-1')
{
$this->name = $name;
//Check for valid keys
$validKey = preg_match("/^(?<![A-Z0-9])[A-Z0-9]{20}(?![A-Z0-9])\$/", $key);
$validSecret = preg_match("/^(?<![A-Za-z0-9\\/+=])[A-Za-z0-9\\/+=]{40}(?![A-Za-z0-9\\/+=])\$/", $secret);
//If keys are not valid, try a role.
if (!$validKey || !$validSecret) {
$this->client = S3Client::factory(array('region' => $region));
} else {
$this->client = S3Client::factory(array('key' => $key, 'secret' => $secret, 'region' => $region));
}
}