Sha256: 6215b0f351a25f828f06027bcf9c6c003ed525bb4de48d34c6552a10c064d5f0

Contents?: true

Size: 990 Bytes

Versions: 3

Compression:

Stored size: 990 Bytes

Contents

# Note the Lambda function timeout must be less than or equal to the sqs queue default timeout.
module Jets::Resource::Lambda
  class EventSourceMapping < Jets::Resource::Base
    def initialize(props)
      @props = props # associated_properties from dsl.rb
    end

    def definition
      # CloudFormation Docs: https://amzn.to/2WM6165
      properties = {
        # batch_size: 10, # Defaults: Kinesis 100, DynamoDB Streams: 100, SQS: 10
        # enabled: boolean,
        # event_source_arn: string, # required
        function_name: "!Ref {namespace}LambdaFunction",
        # starting_position: string # reqiured for Required for Amazon Kinesis and Amazon DynamoDB Streams sources
      }
      properties.merge!(@props)

      {
        event_source_mapping_logical_id => {
          type: "AWS::Lambda::EventSourceMapping",
          properties: properties
        }
      }
    end

    def event_source_mapping_logical_id
      "{namespace}EventSourceMapping"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jets-1.7.2 lib/jets/resource/lambda/event_source_mapping.rb
jets-1.7.1 lib/jets/resource/lambda/event_source_mapping.rb
jets-1.7.0 lib/jets/resource/lambda/event_source_mapping.rb