Class: Jets::Cfn::Resource::Lambda::Function::Controller

Inherits:
Jets::Cfn::Resource::Lambda::Function show all
Defined in:
lib/jets/cfn/resource/lambda/function/controller.rb

Constant Summary

Constants inherited from Jets::Cfn::Resource::Lambda::Function

MAX_FUNCTION_NAME_SIZE

Instance Method Summary collapse

Methods inherited from Jets::Cfn::Resource::Lambda::Function

#assign_iam_role?, #class_properties, #code_s3_key, #default_description, #default_handler, #default_runtime, default_runtimes, #definition, #finalize_properties!, #full_handler, #function_logical_id, #function_name, #function_properties, #get_descripton, #get_layers, #get_runtime, #global_properties, #handler, #handler_value, #initialize, #lookup_class_properties, #one_lambda_per_controller?, #replacements

Methods included from Environment

#env_properties, #environment, #jets_env

Methods inherited from Base

#attributes, #logical_id, #outputs, #parameters, #properties, #replacements, #replacer, #standarize, #template, truncate_id, #type

Methods included from Util::Camelize

#camelize

Constructor Details

This class inherits a constructor from Jets::Cfn::Resource::Lambda::Function

Instance Method Details

#combined_propertiesObject

override



5
6
7
8
9
10
11
# File 'lib/jets/cfn/resource/lambda/function/controller.rb', line 5

def combined_properties
  props = env_properties
    .deep_merge(global_properties)
    .deep_merge(class_properties)
    # .deep_merge(function_properties) # comment left to emphasize controller cannot have function_properties
  finalize_properties!(props)
end

#permissionObject

override



14
15
16
17
18
19
# File 'lib/jets/cfn/resource/lambda/function/controller.rb', line 14

def permission
  Jets::Cfn::Resource::Lambda::Permission.new(replacements, self,
    Principal: "apigateway.amazonaws.com",
    SourceArn: "!Sub arn:aws:execute-api:${AWS::Region}:${AWS::AccountId}:${RestApi}/*/*",
  )
end