Sha256: 15a373b4aa0d62aa8e5e9f0d74ca07b4db2fbab16f4b7887ea3111c9b9264022
Contents?: true
Size: 1.03 KB
Versions: 1
Compression:
Stored size: 1.03 KB
Contents
# CloudFormation SNS Topic docs: https://amzn.to/2MYbUZc module Jets::Resource::Sns class Topic < Jets::Resource::Base def initialize(props) @props = props # associated_properties from dsl.rb end def definition { topic_logical_id => { type: "AWS::SNS::Topic", properties: merged_properties, } } end # Do not name this method properties, that is a computed method of `Jets::Resource::Base` def merged_properties display_name = "{namespace} Topic"[0..99] # limit is 100 chars { display_name: display_name, # Not setting subscription this way but instead with a SNS::Subscription resource so the interface # is consistent. Leaving comment in here to remind me and in case decide to change this. # subscription: [ # endpoint: "!GetAtt {namespace}LambdaFunction.Arn", # protocol: "lambda" # ] }.deep_merge(@props) end def topic_logical_id "{namespace}_sns_topic" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jets-1.7.2 | lib/jets/resource/sns/topic.rb |