1
0
Fork 0
mirror of https://github.com/fog/fog-aws.git synced 2022-11-09 13:50:52 -05:00
fog--fog-aws/lib/fog/aws/requests/lambda/get_event_source_mapping.rb
2015-06-23 09:53:53 -03:00

54 lines
2.4 KiB
Ruby

module Fog
module AWS
class Lambda
class Real
# Returns configuration information for the specified event source mapping.
# http://docs.aws.amazon.com/lambda/latest/dg/API_GetEventSourceMapping.html
# ==== Parameters
# * UUID <~String> - AWS Lambda assigned ID of the event source mapping.
# ==== Returns
# * response<~Excon::Response>:
# * body<~Hash>:
# * 'BatchSize' <~Integer> - largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function.
# * 'EventSourceArn' <~String> - Amazon Resource Name (ARN) of the stream that is the source of events.
# * 'FunctionArn' <~String> - Lambda function to invoke when AWS Lambda detects an event on the stream.
# * 'LastModified' <~Time> - UTC time string indicating the last time the event mapping was updated.
# * 'LastProcessingResult' <~String> - result of the last AWS Lambda invocation of your Lambda function.
# * 'State' <~String> - state of the event source mapping.
# * 'StateTransitionReason' <~String> - reason the event source mapping is in its current state.
# * 'UUID' <~String> - AWS Lambda assigned opaque identifier for the mapping.
# * 'Code' <~Hash> - object for the Lambda function location.
# * 'Configuration' <~Hash> - function metadata description.
def get_event_source_mapping(params={})
mapping_id = params.delete('UUID')
request({
:method => 'GET',
:path => "/event-source-mappings/#{mapping_id}"
}.merge(params))
end
end
class Mock
def get_event_source_mapping(params={})
mapping_id = params.delete('UUID')
unless mapping = self.data[:event_source_mappings][mapping_id]
message = 'ResourceNotFoundException => '
message << 'The resource you requested does not exist.'
raise Fog::AWS::Lambda::Error, message
end
if mapping['State'].eql?('Creating')
mapping['LastProcessingResult'] = 'OK'
mapping['State'] = 'Enabled'
end
response = Excon::Response.new
response.status = 200
response.body = mapping
response
end
end
end
end
end