lambda_wrap 1.0.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/lambda_wrap/lambda_manager.rb +9 -11
- data/lib/lambda_wrap/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a8cf94fc97bbe6e881bc2fc94352bed9154fa1edd3c19ae513c6142b38f77c61
|
4
|
+
data.tar.gz: fdd54e1c41474aa11414726f16a07c6ca20175bbcba6d4ad70e5846536b28f97
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 067104c8cecb2d375ef7ec5f1c16ad47f360e8aaf1492ad029b9e0329a54ed36a3a13c9abda7ebe0e6f66df2e2f7f039d1e0ccb5586b84b83edc1c1a93a98186
|
7
|
+
data.tar.gz: 3ffa8ac2a92e0109ede827aa888ff91da1e4eccd3e725546b03e96f896b374ac4cea8d882e68a4a30d7ce4f54fc31210fe2e10499d560c7ca19acb006f4d1c67
|
@@ -33,13 +33,13 @@ module LambdaWrap
|
|
33
33
|
# provide at least one security group and one subnet ID.
|
34
34
|
# @option options [Boolean] :delete_unreferenced_versions (true) Option to delete any Lambda Function Versions upon
|
35
35
|
# deployment that do not have an alias pointing to them.
|
36
|
+
# @option options [String] :dead_letter_queue_arn ('') The ARN of the SQS Queue for failed async invocations.
|
36
37
|
def initialize(options)
|
37
38
|
defaults = {
|
38
39
|
description: 'Deployed with LambdaWrap', subnet_ids: [], security_group_ids: [], timeout: 30, memory_size: 128,
|
39
|
-
delete_unreferenced_versions: true
|
40
|
+
delete_unreferenced_versions: true, dead_letter_queue_arn: ''
|
40
41
|
}
|
41
42
|
options_with_defaults = options.reverse_merge(defaults)
|
42
|
-
|
43
43
|
unless (options_with_defaults[:lambda_name]) && (options_with_defaults[:lambda_name].is_a? String)
|
44
44
|
raise ArgumentError, 'lambda_name must be provided (String)!'
|
45
45
|
end
|
@@ -73,17 +73,11 @@ module LambdaWrap
|
|
73
73
|
raise ArgumentError, "Invalid Runtime specified: #{options_with_defaults[:runtime]}. Only accepts: \
|
74
74
|
nodejs4.3, nodejs6.10, java8, python2.7, python3.6, dotnetcore1.0, or nodejs4.3-edge"
|
75
75
|
end
|
76
|
-
|
77
|
-
@description = options_with_defaults[:description]
|
78
|
-
|
79
|
-
@timeout = options_with_defaults[:timeout]
|
80
|
-
|
81
76
|
unless (options_with_defaults[:memory_size] % 64).zero? && (options_with_defaults[:memory_size] >= 128) &&
|
82
77
|
(options_with_defaults[:memory_size] <= 3008)
|
83
78
|
raise ArgumentError, 'Invalid Memory Size.'
|
84
79
|
end
|
85
80
|
@memory_size = options_with_defaults[:memory_size]
|
86
|
-
|
87
81
|
# VPC
|
88
82
|
if options_with_defaults[:subnet_ids].empty? ^ options_with_defaults[:security_group_ids].empty?
|
89
83
|
raise ArgumentError, 'Must supply values for BOTH Subnet Ids and Security Group ID if VPC is desired.'
|
@@ -94,8 +88,10 @@ nodejs4.3, nodejs6.10, java8, python2.7, python3.6, dotnetcore1.0, or nodejs4.3-
|
|
94
88
|
security_group_ids: options_with_defaults[:security_group_ids]
|
95
89
|
}
|
96
90
|
end
|
97
|
-
|
91
|
+
@description = options_with_defaults[:description]
|
92
|
+
@timeout = options_with_defaults[:timeout]
|
98
93
|
@delete_unreferenced_versions = options_with_defaults[:delete_unreferenced_versions]
|
94
|
+
@dead_letter_queue_arn = options_with_defaults[:dead_letter_queue_arn]
|
99
95
|
end
|
100
96
|
|
101
97
|
# Deploys the Lambda to the specified Environment. Creates a Lambda Function if one didn't exist.
|
@@ -187,7 +183,8 @@ nodejs4.3, nodejs6.10, java8, python2.7, python3.6, dotnetcore1.0, or nodejs4.3-
|
|
187
183
|
options = {
|
188
184
|
function_name: @lambda_name, runtime: @runtime, role: @role_arn, handler: @handler,
|
189
185
|
code: { zip_file: File.binread(@path_to_zip_file) }, description: @description, timeout: @timeout,
|
190
|
-
memory_size: @memory_size, vpc_config: @vpc_configuration, publish: true
|
186
|
+
memory_size: @memory_size, vpc_config: @vpc_configuration, publish: true,
|
187
|
+
dead_letter_config: { target_arn: @dead_letter_queue_arn }
|
191
188
|
}
|
192
189
|
lambda_version = @client.create_function(options).version
|
193
190
|
puts "Successfully created Lambda: #{@lambda_name}!"
|
@@ -204,7 +201,8 @@ nodejs4.3, nodejs6.10, java8, python2.7, python3.6, dotnetcore1.0, or nodejs4.3-
|
|
204
201
|
|
205
202
|
options = {
|
206
203
|
function_name: @lambda_name, role: @role_arn, handler: @handler, description: @description, timeout: @timeout,
|
207
|
-
memory_size: @memory_size, vpc_config: @vpc_configuration, runtime: @runtime
|
204
|
+
memory_size: @memory_size, vpc_config: @vpc_configuration, runtime: @runtime,
|
205
|
+
dead_letter_config: { target_arn: @dead_letter_queue_arn }
|
208
206
|
}
|
209
207
|
|
210
208
|
@client.update_function_configuration(options)
|
data/lib/lambda_wrap/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lambda_wrap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Markus Thurner
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2018-01-20 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -77,7 +77,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
77
77
|
version: '0'
|
78
78
|
requirements: []
|
79
79
|
rubyforge_project:
|
80
|
-
rubygems_version: 2.7.
|
80
|
+
rubygems_version: 2.7.4
|
81
81
|
signing_key:
|
82
82
|
specification_version: 4
|
83
83
|
summary: Easy deployment of AWS Lambda functions and dependencies.
|