def add_sns_topic_subscription(self, sns_topic: sns.Topic, lambda_fn: lambda_.Function): """ Creates sns topic subscription to lambda function """ sns_imp_lambda_sub = sns.TopicSubscription( resource_name=format_resource_name("subscription"), endpoint=lambda_fn.arn, protocol='lambda', topic=sns_topic.arn) return sns_imp_lambda_sub
def Subscription(self): resource_specs = ParseYAML(resource_type).getSpecs() for sns_subscription_name, sns_subscription_configuration in resource_specs[ "subscription"].items(): sns_subscription_configuration = sns_subscription_configuration if sns_subscription_configuration else {} resource_name = sns_subscription_name # Create SNSs subscription = sns.TopicSubscription( resource_name, protocol=sns_subscription_configuration.get("protocol"), endpoint=sns_subscription_configuration.get("endpoint"), topic=sns_subscription_configuration.get("topic"), raw_message_delivery=sns_subscription_configuration.get( "raw_message_delivery")) # Export pulumi.export(subscription._name, subscription.id)
"Effect": "Allow", "Sid": "" } ] }""", ) sns_topic = sns.Topic( f"gods-topic", sqs_failure_feedback_role_arn=role.arn, sqs_success_feedback_role_arn=role.arn, ) weapons_topic = sns.Topic( f"weapons-topic", sqs_failure_feedback_role_arn=role.arn, sqs_success_feedback_role_arn=role.arn, ) sns.TopicSubscription( f"weapons-subscription", endpoint=weapons_queue.arn, protocol="sqs", topic=weapons_topic.arn, ) sns.TopicSubscription(f"gods-subscription", endpoint=gods_queue.arn, protocol="sqs", topic=sns_topic.arn)
"Version": "2012-10-17", "Statement": [{ "Action": ["ec2:Describe*"], "Effect": "Allow", "Resource": "*" }] })) role_policy_attachment = iam.RolePolicyAttachment("myrolepolicyattachment", role=role.id, policy_arn=policy.arn) user = iam.User("myuser") group = iam.Group("mygroup") ## Kinesis stream = kinesis.Stream("mystream", shard_count=1) ## SQS queue = sqs.Queue("myqueue") ## SNS topic = sns.Topic("mytopic") topic_subscription = sns.TopicSubscription("mytopicsubscription", topic=topic.arn, protocol="sqs", endpoint=queue.arn)