1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
<?php
/**
* @author @jenschude <jens.schulze@commercetools.de>
*/
namespace Commercetools\Core\Model\Subscription;
use Commercetools\Core\Model\Common\Context;
/**
* @package Commercetools\Core\Model\Subscription
*
* @method string getType()
* @method SQSDestination setType(string $type = null)
* @method string getUri()
* @method IronMQDestination setUri(string $uri = null)
* @method string getAccessKey()
* @method SQSDestination setAccessKey(string $accessKey = null)
* @method string getAccessSecret()
* @method SQSDestination setAccessSecret(string $accessSecret = null)
* @method string getRegion()
* @method SQSDestination setRegion(string $region = null)
* @method string getQueueUrl()
* @method SQSDestination setQueueUrl(string $queueUrl = null)
*/
class SQSDestination extends Destination
{
public function fieldDefinitions()
{
return [
'type' => [static::TYPE => 'string'],
'queueUrl' => [static::TYPE => 'string'],
'accessKey' => [static::TYPE => 'string'],
'accessSecret' => [static::TYPE => 'string'],
'region' => [static::TYPE => 'string'],
];
}
/**
* @param $uri
* @param $accessKey
* @param $accessSecret
* @param Context|null $context
* @return SQSDestination
*/
public static function ofQueueURLAccessKeyAndSecret($uri, $accessKey, $accessSecret, Context $context = null)
{
return static::of($context)
->setType(static::DESTINATION_SQS)
->setQueueUrl($uri)
->setAccessKey($accessKey)
->setAccessSecret($accessSecret);
}
}