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
Exemple #2
0
    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)
Exemple #3
0
                "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)
Exemple #4
0
                        "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)