class APIGatewayDSL::Integration::Lambda

Attributes

method[R]
url[R]

Public Class Methods

new(_, lambda_arn, **options, &block) click to toggle source
Calls superclass method APIGatewayDSL::Integration::new
# File lib/api_gateway_dsl/integration/lambda.rb, line 7
def initialize(_, lambda_arn, **options, &block)
  super

  @lambda_arn = lambda_arn

  DSL::IntegrationNode.new(self, &block)
end

Public Instance Methods

as_json() click to toggle source
Calls superclass method APIGatewayDSL::Integration#as_json
# File lib/api_gateway_dsl/integration/lambda.rb, line 15
def as_json
  super.tap do |result|
    result[:type]        = 'aws'
    result[:httpMethod]  = 'POST'
    result[:uri]         = uri

    result[:credentials] = @credentials if @credentials
  end
end

Private Instance Methods

region() click to toggle source
# File lib/api_gateway_dsl/integration/lambda.rb, line 32
def region
  @lambda_arn.split(':')[3]
end
uri() click to toggle source

docs.aws.amazon.com/apigateway/api-reference/resource/integration/#uri

# File lib/api_gateway_dsl/integration/lambda.rb, line 28
def uri
  "arn:aws:apigateway:#{region}:lambda:path/2015-03-31/functions/#{@lambda_arn}/invocations"
end