class LambdaDeployment::Configuration
Attributes
concurrency[R]
file_path[R]
kms_key_arn[R]
project[R]
region[R]
s3_bucket[R]
s3_key[R]
s3_sse[R]
skip_upload[R]
Public Instance Methods
alias_name()
click to toggle source
lambda aliases must satisfy (?!^[0-9]+$)(+)
# File lib/lambda_deployment/configuration.rb, line 29 def alias_name tag = ENV['TAG'].to_s.gsub(/[^a-zA-Z0-9\-_]/, '') return nil if tag.empty? tag.prepend 'v' if tag =~ /^[0-9]+$/ # just a number like 123 so lets turn it into v123 tag end
environment()
click to toggle source
# File lib/lambda_deployment/configuration.rb, line 36 def environment @environment ||= Dir.glob('.env*').reduce({}) do |cache, filename| cache.merge Dotenv::Environment.new(filename, true) end.merge(@config_env) end
load_config(config_file)
click to toggle source
# File lib/lambda_deployment/configuration.rb, line 7 def load_config(config_file) config = YAML.load_file(config_file) @skip_upload = ENV.fetch('SKIP_UPLOAD', 'false') == 'true' @project = config.fetch('project') @region = config.fetch('region', ENV.fetch('AWS_REGION', nil)) @s3_key = s3_key_name(config.fetch('file_name')) @s3_bucket = config.fetch('s3_bucket', ENV.fetch('LAMBDA_S3_BUCKET', nil)) @s3_sse = config.fetch('s3_sse', ENV.fetch('LAMBDA_S3_SSE', nil)) unless @skip_upload @file_path = File.expand_path(config.fetch('file_name'), File.dirname(config_file)) raise "File not found: #{@file_path}" unless File.exist?(@file_path) end @config_env = config.fetch('environment', {}) @kms_key_arn = config.fetch('kms_key_arn', ENV.fetch('LAMBDA_KMS_KEY_ARN', nil)) @concurrency = config.fetch('concurrency', nil) end
Private Instance Methods
s3_key_name(file_name)
click to toggle source
# File lib/lambda_deployment/configuration.rb, line 44 def s3_key_name(file_name) basename = File.basename(file_name, '.*') extension = File.extname(file_name) "#{basename}-#{ENV.fetch('TAG', 'latest')}#{extension}" end