Keep current region when creating SNS ARN topic
This commit is contained in:
parent
9c81b7340c
commit
e08796bcf4
4 changed files with 33 additions and 17 deletions
|
|
@ -27,7 +27,7 @@ class Topic(object):
|
|||
self.policy = DEFAULT_TOPIC_POLICY
|
||||
self.delivery_policy = ""
|
||||
self.effective_delivery_policy = DEFAULT_EFFECTIVE_DELIVERY_POLICY
|
||||
self.arn = make_arn_for_topic(self.account_id, name)
|
||||
self.arn = make_arn_for_topic(self.account_id, name, sns_backend.region_name)
|
||||
|
||||
self.subscriptions_pending = 0
|
||||
self.subscriptions_confimed = 0
|
||||
|
|
@ -135,11 +135,18 @@ class PlatformEndpoint(object):
|
|||
|
||||
|
||||
class SNSBackend(BaseBackend):
|
||||
def __init__(self):
|
||||
def __init__(self, region_name):
|
||||
super(SNSBackend, self).__init__()
|
||||
self.topics = OrderedDict()
|
||||
self.subscriptions = OrderedDict()
|
||||
self.applications = {}
|
||||
self.platform_endpoints = {}
|
||||
self.region_name = region_name
|
||||
|
||||
def reset(self):
|
||||
region_name = self.region_name
|
||||
self.__dict__ = {}
|
||||
self.__init__(region_name)
|
||||
|
||||
def create_topic(self, name):
|
||||
topic = Topic(name, self)
|
||||
|
|
@ -247,7 +254,7 @@ class SNSBackend(BaseBackend):
|
|||
|
||||
sns_backends = {}
|
||||
for region in boto.sns.regions():
|
||||
sns_backends[region.name] = SNSBackend()
|
||||
sns_backends[region.name] = SNSBackend(region.name)
|
||||
|
||||
|
||||
DEFAULT_TOPIC_POLICY = {
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ from __future__ import unicode_literals
|
|||
import uuid
|
||||
|
||||
|
||||
def make_arn_for_topic(account_id, name):
|
||||
return "arn:aws:sns:us-east-1:{0}:{1}".format(account_id, name)
|
||||
def make_arn_for_topic(account_id, name, region_name):
|
||||
return "arn:aws:sns:{0}:{1}:{2}".format(region_name, account_id, name)
|
||||
|
||||
|
||||
def make_arn_for_subscription(topic_arn):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue