Sha256: 351e57ca1ebcd11595d04ccd77ecc1affc6e247f1e29c3fc3ce02affc3a3dd54

Contents?: true

Size: 845 Bytes

Versions: 15

Compression:

Stored size: 845 Bytes

Contents

# CloudFormation AWS::IoT::TopicRule docs: https://amzn.to/2SMBOVm
module Jets::Cfn::Resource::Iot
  class TopicRule < Jets::Cfn::Base
    def initialize(props={})
      @props = props # associated_properties from dsl.rb
    end

    def definition
      {
        topic_logical_id => {
          Type: "AWS::IoT::TopicRule",
          Properties: merged_properties,
        }
      }
    end

    # Do not name this method properties, that is a computed method of `Jets::Cfn::Resource`
    def merged_properties
      {
        # required properties
        TopicRulePayload: {
          Actions: [{
            Lambda: { FunctionArn: "!GetAtt {namespace}LambdaFunction.Arn" }
          }],
          RuleDisabled: 'false',
        }
      }.deep_merge(@props)
    end

    def topic_logical_id
      "{namespace}IotTopicRule"
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
jets-5.0.13 lib/jets/cfn/resource/iot/topic_rule.rb
jets-5.0.12 lib/jets/cfn/resource/iot/topic_rule.rb
jets-5.0.11 lib/jets/cfn/resource/iot/topic_rule.rb
jets-5.0.10 lib/jets/cfn/resource/iot/topic_rule.rb
jets-5.0.9 lib/jets/cfn/resource/iot/topic_rule.rb
jets-5.0.8 lib/jets/cfn/resource/iot/topic_rule.rb
jets-5.0.7 lib/jets/cfn/resource/iot/topic_rule.rb
jets-5.0.6 lib/jets/cfn/resource/iot/topic_rule.rb
jets-5.0.5 lib/jets/cfn/resource/iot/topic_rule.rb
jets-5.0.4 lib/jets/cfn/resource/iot/topic_rule.rb
jets-5.0.3 lib/jets/cfn/resource/iot/topic_rule.rb
jets-5.0.2 lib/jets/cfn/resource/iot/topic_rule.rb
jets-5.0.1 lib/jets/cfn/resource/iot/topic_rule.rb
jets-5.0.0 lib/jets/cfn/resource/iot/topic_rule.rb
jets-5.0.0.beta1 lib/jets/cfn/resource/iot/topic_rule.rb