Skip to content

Commit 4c1206c

Browse files
committed
Deploy layer versions with SAM
1 parent 820ddd4 commit 4c1206c

File tree

2 files changed

+23
-29
lines changed

2 files changed

+23
-29
lines changed

deploy.sh

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -28,25 +28,11 @@ function releaseToRegion {
2828
--no-fail-on-empty-changeset \
2929
--region ${region}
3030
layers=(runtime recommended awspack)
31-
for layer in "${layers[@]}"
32-
do
33-
layer_output=${layer}Layer
34-
layer_arn=$(aws cloudformation describe-stacks \
35-
--stack-name ${stack_name} \
36-
--query "Stacks[0].Outputs[?OutputKey=='$layer_output'].OutputValue" \
37-
--output text \
38-
--region ${region})
39-
layer_name=${layer_arn%:*}
40-
version_number=${layer_arn##*:}
41-
aws lambda add-layer-version-permission \
42-
--layer-name ${layer_name} \
43-
--version-number ${version_number} \
44-
--principal "*" \
45-
--statement-id publish \
46-
--action lambda:GetLayerVersion \
47-
--region ${region}
48-
echo "published layer $layer_arn"
49-
done
31+
echo "Published layers:"
32+
aws cloudformation describe-stack-resources \
33+
--stack-name ${stack_name} \
34+
--query "StackResources[?ResourceType=='AWS::Lambda::LayerVersion'].PhysicalResourceId" \
35+
--region ${region}
5036
}
5137

5238
regions=(

template.yaml

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,25 +17,33 @@ Resources:
1717
LayerName: !Sub r-runtime-${Version}
1818
ContentUri: runtime/build/layer/
1919
LicenseInfo: MIT
20+
RuntimeLayerPermission:
21+
Type: AWS::Lambda::LayerVersionPermission
22+
Properties:
23+
Action: lambda:GetLayerVersion
24+
LayerVersionArn: !Ref RuntimeLayer
25+
Principal: "*"
2026
RecommendedLayer:
2127
Type: AWS::Serverless::LayerVersion
2228
Properties:
2329
LayerName: !Sub r-recommended-${Version}
2430
ContentUri: recommended/build/layer/
2531
LicenseInfo: MIT
32+
RecommendedLayerPermission:
33+
Type: AWS::Lambda::LayerVersionPermission
34+
Properties:
35+
Action: lambda:GetLayerVersion
36+
LayerVersionArn: !Ref RecommendedLayer
37+
Principal: "*"
2638
AWSLayer:
2739
Type: AWS::Serverless::LayerVersion
2840
Properties:
2941
LayerName: !Sub r-awspack-${Version}
3042
ContentUri: awspack/build/layer/
3143
LicenseInfo: MIT
32-
Outputs:
33-
runtimeLayer:
34-
Description: "Runtime layer ARN"
35-
Value: !Ref RuntimeLayer
36-
recommendedLayer:
37-
Description: "Recommended layer ARN"
38-
Value: !Ref RecommendedLayer
39-
awspackLayer:
40-
Description: "AWS layer ARN"
41-
Value: !Ref AWSLayer
44+
AWSLayerPermission:
45+
Type: AWS::Lambda::LayerVersionPermission
46+
Properties:
47+
Action: lambda:GetLayerVersion
48+
LayerVersionArn: !Ref AWSLayer
49+
Principal: "*"

0 commit comments

Comments
 (0)