-
Notifications
You must be signed in to change notification settings - Fork 8
/
lambda_region_finder.sh
38 lines (28 loc) · 1.61 KB
/
lambda_region_finder.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash -e
# Graviton2 Function Finder
# Identify Lambda functions with Graviton2 compatible and not-compatible runtimes versions. Looks in all regions where Graviton2 Lambda is currently available.
# Lambda runtimes support for Graviton2 docs: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
supported_regions=(us-east-1 us-east-2 us-west-2 eu-west-1 eu-west-2 eu-central-1 ap-southeast-1 ap-southeast-2 ap-northeast-1 ap-south-1)
supported_runtimes=(python3.8 python3.9 nodejs12.x nodejs14.x dotnetcore3.1 ruby2.7 java8.al2 java11 provided.al2)
unsupported_runtimes=(python3.6 python3.7 python2.7 nodejs10.x dotnetcore2.1 ruby2.5 java8 go1.x provided)
echo "Graviton2 Function Support Finder"
for region in "${supported_regions[@]}"
do
echo " "
echo "Region: [${region}] - Functions WITH Graviton Compatible Runtimes"
echo " "
for runtime in "${supported_runtimes[@]}"
do
aws lambda list-functions --region "${region}" --output text --query "Functions[?Runtime=='${runtime}'].{ARN:FunctionArn, Runtime:Runtime}"
done
# include the container image functions
aws lambda list-functions --region "${region}" --output text --query "Functions[?PackageType=='Image'].{ARN:FunctionArn, PackageType:'container-image'}"
echo " "
echo "Region: [${region}] - Functions with Runtimes that are NOT Compatible with Graviton2. Require a Runtime version update."
echo " "
for runtime in "${unsupported_runtimes[@]}"
do
aws lambda list-functions --region "${region}" --output text --query "Functions[?Runtime=='${runtime}'].{ARN:FunctionArn, Runtime:Runtime}"
done
done
echo "finished"