/** * Create a new queue * Required fields: name * * @param \AmazonSQS\Model\Queue $queue * * @return \AmazonSQS\Model\Queue */ public function createQueue(Queue $queue) { $params = array(); $params['QueueName'] = $queue->getName(); $attributeIndex = 0; $data = $this->getSerializer()->normalize($queue); foreach ($data as $key => $value) { if (in_array($key, $this->editableQueueFields) && isset($data[$key])) { $attributePrefix = sprintf('Attribute.%d.', ++$attributeIndex); $params[$attributePrefix . 'Name'] = ucfirst($key); $params[$attributePrefix . 'Value'] = $value; } } $response = $this->call('CreateQueue', $params); $queue->setUrl($response['QueueUrl']); return $queue; }