Sha256: b27393397bd9f2753c2f3e0d23e747f4356e021eea34a7e02bb6aefafcbd848e

Contents?: true

Size: 1.17 KB

Versions: 136

Compression:

Stored size: 1.17 KB

Contents

module Jets::Resource::ApiGateway::BasePath
  class Function < Jets::Resource::Base
    include Jets::Resource::Lambda::Function::Environment

    def definition
      {
        base_path_function: {
          type: "AWS::Lambda::Function",
          properties: {
            function_name: function_name,
            code: {
              s3_bucket: "!Ref S3Bucket",
              s3_key: code_s3_key,
            },
            role: "!GetAtt BasePathRole.Arn",
            handler: handler,
            runtime: "ruby2.5",
            timeout: 60,
            memory_size: 1536,
            environment: env_properties[:environment],
          }
        }
      }
    end

    def function_name
      method = "jets-base-path"
      # need to add the deployment timestamp because or else function name collides between deploys
      timestamp = Jets::Resource::ApiGateway::Deployment.timestamp
      "#{Jets.config.project_namespace}-#{method}-#{timestamp}"
    end

    def handler
      "handlers/functions/jets/base_path.lambda_handler"
    end

    def code_s3_key
      checksum = Jets::Builders::Md5.checksums["stage/code"]
      "jets/code/code-#{checksum}.zip" # s3_key
    end
  end
end

Version data entries

136 entries across 136 versions & 3 rubygems

Version Path
jets-2.3.19 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.18 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.17 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.16 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.15 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.14 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.13 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.12 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.11 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.10 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.9 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.8 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.7 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.6 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.5 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.4 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.3 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.2 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.1 lib/jets/resource/api_gateway/base_path/function.rb
jets-2.3.0 lib/jets/resource/api_gateway/base_path/function.rb