lambda_deployment 0.3.0 → 0.4.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/README.md +1 -0
- data/lib/lambda_deployment/configuration.rb +3 -1
- data/lib/lambda_deployment/lambda/deploy.rb +14 -0
- data/lib/lambda_deployment/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb181784ea6c2e689d3764c7d279bb5ac5f15dffbd8757fb6116c1ab93c33c6f
|
4
|
+
data.tar.gz: 9896bc6785d225576cbbef4d2603ef3434f8834f31536deb239e7cc8e7f96ffa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 76a5bbd81f7d0e4a6bce2106290b7b9acf9d5653909b018df3d40d54b8d3e4a0015eb9b8aea42ec5df8f5f6d2a376449a4e4060763b768986155c8505c486340
|
7
|
+
data.tar.gz: 7943a6afef63f6e5873f0f8b4fa6086ab5952fd02fed7d539a1a46a5331fbbf750a5f3cac062d2b7018030de458a7ac6d487a922e9da45f7fe705e1f0312fe7a
|
data/README.md
CHANGED
@@ -66,6 +66,7 @@ project: my-dev-lambda-name # required: name of lambda function
|
|
66
66
|
region: us-east-1 # optional: specify AWS region (will override $AWS_REGION)
|
67
67
|
s3_bucket: my-test-bucket # optional: specify s3 bucket (will override $LAMBDA_S3_BUCKET)
|
68
68
|
s3_sse: AES256 # optional: set server side encryption on s3 objects (will override $LAMBDA_S3_SSE)
|
69
|
+
concurrency: # optional: set reserved concurrency limit (-1 to delete)
|
69
70
|
environment:
|
70
71
|
FOO: bar # optional: set some env vars for your Lambda
|
71
72
|
```
|
@@ -2,7 +2,7 @@ require 'dotenv'
|
|
2
2
|
|
3
3
|
module LambdaDeployment
|
4
4
|
class Configuration
|
5
|
-
attr_reader :kms_key_arn, :file_path, :project, :region, :s3_bucket, :s3_key, :s3_sse
|
5
|
+
attr_reader :concurrency, :kms_key_arn, :file_path, :project, :region, :s3_bucket, :s3_key, :s3_sse
|
6
6
|
|
7
7
|
def load_config(config_file)
|
8
8
|
config = YAML.load_file(config_file)
|
@@ -17,6 +17,8 @@ module LambdaDeployment
|
|
17
17
|
|
18
18
|
@config_env = config.fetch('environment', {})
|
19
19
|
@kms_key_arn = config.fetch('kms_key_arn', ENV.fetch('LAMBDA_KMS_KEY_ARN', nil))
|
20
|
+
|
21
|
+
@concurrency = config.fetch('concurrency', nil)
|
20
22
|
end
|
21
23
|
|
22
24
|
# lambda aliases must satisfy (?!^[0-9]+$)([a-zA-Z0-9-_]+)
|
@@ -10,6 +10,7 @@ module LambdaDeployment
|
|
10
10
|
upload_to_s3
|
11
11
|
update_function_code
|
12
12
|
update_environment
|
13
|
+
update_concurrency
|
13
14
|
return unless @config.alias_name
|
14
15
|
version = publish_version
|
15
16
|
begin
|
@@ -38,6 +39,19 @@ module LambdaDeployment
|
|
38
39
|
)
|
39
40
|
end
|
40
41
|
|
42
|
+
def update_concurrency
|
43
|
+
return unless @config.concurrency
|
44
|
+
# Allow a value of -1 to remove concurrency limit
|
45
|
+
if @config.concurrency == -1
|
46
|
+
@client.delete_function_concurrency(function_name: @config.project)
|
47
|
+
else
|
48
|
+
@client.put_function_concurrency(
|
49
|
+
function_name: @config.project,
|
50
|
+
reserved_concurrent_executions: @config.concurrency
|
51
|
+
)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
41
55
|
def update_environment
|
42
56
|
environment = {}
|
43
57
|
@config.environment.map { |k, v| environment[k] = encrypt(v) }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lambda_deployment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zendesk CloudOps
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-kms
|