class GeoEngineer::Resources::AwsLambdaEventSourceMapping

AwsLambdaEventSourceMapping is the aws_lambda_event_source_mapping terrform resource,

{www.terraform.io/docs/providers/aws/r/lambda_event_source_mapping.html Terraform Docs}

Public Class Methods

_extract_name_from_arn(arn) click to toggle source
# File lib/geoengineer/resources/aws_lambda_event_source_mapping.rb, line 27
def self._extract_name_from_arn(arn)
  arn_components = arn.split(":")
  arn_components[arn_components.index("function") + 1] if arn_components.index("function")
end
_fetch_remote_resources(provider) click to toggle source
# File lib/geoengineer/resources/aws_lambda_event_source_mapping.rb, line 32
def self._fetch_remote_resources(provider)
  AwsClients
    .lambda(provider)
    .list_event_source_mappings['event_source_mappings']
    .map(&:to_h)
    .map do |event|
      geo_id = [event[:event_source_arn], self._extract_name_from_arn(event[:function_arn])]
      event.merge(
        {
          _terraform_id: event[:uuid],
          _geo_id: geo_id.join("::")
        }
      )
    end
end

Public Instance Methods

short_type() click to toggle source
# File lib/geoengineer/resources/aws_lambda_event_source_mapping.rb, line 23
def short_type
  "event_mapping"
end
support_tags?() click to toggle source
# File lib/geoengineer/resources/aws_lambda_event_source_mapping.rb, line 19
def support_tags?
  false
end