public function createBucket($bucketName, $bucketRegion, array $requestHeaders = null)
{
$result = null;
$options = array('_subdomain' => (string) $bucketName, '_region' => $bucketRegion);
if (!empty($requestHeaders)) {
$requestHeaders = $this->getFilteredArray(self::$xamzAclAllowedHeaders, $requestHeaders);
$options = array_merge($options, $requestHeaders);
}
$bucketLocation = $this->_getBucketLocationXml($bucketRegion);
if ($bucketLocation === null) {
$options['Content-Length'] = 0;
} else {
$options['_putData'] = $bucketLocation;
}
$response = $this->client->call('PUT', $options, '/');
if ($response->getError() === false) {
$result = new BucketData();
$result->setS3($this->s3);
$result->bucketName = (string) $bucketName;
$result->creationDate = new \DateTime('now', new \DateTimeZone('UTC'));
$this->getEntityManager()->attach($result);
}
return $result;
}