Source code for troposphere.sns

# Copyright (c) 2012-2024, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***


from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean
from .validators.sns import policytypes


[docs]class SubscriptionResource(AWSObject): """ `SubscriptionResource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html>`__ """ resource_type = "AWS::SNS::Subscription" props: PropsDictType = { "DeliveryPolicy": (dict, False), "Endpoint": (str, False), "FilterPolicy": (dict, False), "FilterPolicyScope": (str, False), "Protocol": (str, True), "RawMessageDelivery": (boolean, False), "RedrivePolicy": (dict, False), "Region": (str, False), "ReplayPolicy": (dict, False), "SubscriptionRoleArn": (str, False), "TopicArn": (str, True), }
[docs]class LoggingConfig(AWSProperty): """ `LoggingConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic-loggingconfig.html>`__ """ props: PropsDictType = { "FailureFeedbackRoleArn": (str, False), "Protocol": (str, True), "SuccessFeedbackRoleArn": (str, False), "SuccessFeedbackSampleRate": (str, False), }
[docs]class Subscription(AWSProperty): """ `Subscription <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic-subscription.html>`__ """ props: PropsDictType = { "Endpoint": (str, True), "Protocol": (str, True), }
[docs]class Topic(AWSObject): """ `Topic <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html>`__ """ resource_type = "AWS::SNS::Topic" props: PropsDictType = { "ArchivePolicy": (dict, False), "ContentBasedDeduplication": (boolean, False), "DataProtectionPolicy": (dict, False), "DeliveryStatusLogging": ([LoggingConfig], False), "DisplayName": (str, False), "FifoTopic": (boolean, False), "KmsMasterKeyId": (str, False), "SignatureVersion": (str, False), "Subscription": ([Subscription], False), "Tags": (Tags, False), "TopicName": (str, False), "TracingConfig": (str, False), }
[docs]class TopicInlinePolicy(AWSObject): """ `TopicInlinePolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.html>`__ """ resource_type = "AWS::SNS::TopicInlinePolicy" props: PropsDictType = { "PolicyDocument": (dict, True), "TopicArn": (str, True), }
[docs]class TopicPolicy(AWSObject): """ `TopicPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html>`__ """ resource_type = "AWS::SNS::TopicPolicy" props: PropsDictType = { "PolicyDocument": (policytypes, True), "Topics": ([str], True), }