Skip to content

Commit 5b91fee

Browse files
Merge pull request #4781 from linuxfoundation/unicron-aws-utils
New utils to get AWS functions configuration and SSM values
2 parents 3b4aa7a + 7c97999 commit 5b91fee

File tree

7 files changed

+132
-0
lines changed

7 files changed

+132
-0
lines changed

utils/get_all_functions_configs.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
set -euo pipefail
3+
export AWS_PAGER=""
4+
for f in $(./utils/list_aws_functions.sh)
5+
do
6+
echo "${f}:"
7+
./utils/get_function_config.sh "${f}"
8+
done

utils/get_all_ssms_values.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/bin/bash
2+
# SINGLE=1 will print each parameter one by one
3+
for f in $(./utils/list_ssm_parameters.sh)
4+
do
5+
if [ -z "${SINGLE}" ]
6+
then
7+
if [ -z "${params}" ]
8+
then
9+
params="${f}"
10+
else
11+
params="${params} ${f}"
12+
fi
13+
else
14+
echo "${f}:"
15+
./utils/get_ssm_value.sh "${f}"
16+
fi
17+
done
18+
if [ -z "${SINGLE}" ]
19+
then
20+
echo "${params}:"
21+
./utils/get_ssms_values.sh ${params}
22+
fi

utils/get_function_config.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
set -euo pipefail
3+
export AWS_PAGER=""
4+
if [ -z "$1" ]
5+
then
6+
echo "Usage: $0 <function-name>"
7+
exit 1
8+
fi
9+
if [ -z "$REGION" ]
10+
then
11+
REGION="us-east-2"
12+
fi
13+
if [ -z "$STAGE" ]
14+
then
15+
STAGE="dev"
16+
fi
17+
aws lambda get-function-configuration --function-name "${1}" --region "${REGION}" --profile "lfproduct-${STAGE}"

utils/get_ssm_value.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
set -euo pipefail
3+
export AWS_PAGER=""
4+
if [ -z "$1" ]
5+
then
6+
echo "Usage: $0 <ssm-parameter-name>"
7+
exit 1
8+
fi
9+
if [ -z "$REGION" ]
10+
then
11+
REGION="us-east-2"
12+
fi
13+
if [ -z "$STAGE" ]
14+
then
15+
STAGE="dev"
16+
fi
17+
aws ssm get-parameters --region "${REGION}" --profile "lfproduct-${STAGE}" --names "${1}" --with-decryption

utils/get_ssms_values.sh

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/bin/bash
2+
set -euo pipefail
3+
export AWS_PAGER=""
4+
if [ -z "$1" ]
5+
then
6+
echo "Usage: $0 <ssm-parameter-name> [...]"
7+
exit 1
8+
fi
9+
if [ -z "$REGION" ]
10+
then
11+
REGION="us-east-2"
12+
fi
13+
if [ -z "$STAGE" ]
14+
then
15+
STAGE="dev"
16+
fi
17+
# aws ssm get-parameters --region "${REGION}" --profile "lfproduct-${STAGE}" --names $@ --with-decryption
18+
names=( "$@" )
19+
batch_size=10
20+
total=${#names[@]}
21+
i=0
22+
while [ $i -lt $total ]
23+
do
24+
batch=( "${names[@]:$i:$batch_size}" )
25+
echo "${batch[*]}:"
26+
aws ssm get-parameters --region "$REGION" --profile "lfproduct-${STAGE}" --with-decryption --names "${batch[@]}"
27+
i=$(( i + batch_size ))
28+
done

utils/list_aws_functions.sh

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/bin/bash
2+
set -euo pipefail
3+
export AWS_PAGER=""
4+
if [ -z "$REGION" ]
5+
then
6+
REGION="us-east-2"
7+
fi
8+
if [ -z "$STAGE" ]
9+
then
10+
STAGE="dev"
11+
fi
12+
FILTER=${FILTER:-}
13+
aws lambda list-functions --region "$REGION" --profile "lfproduct-${STAGE}" --query 'Functions[*].FunctionName' --output text |
14+
tr '\t' '\n' |
15+
sort -u |
16+
if [ -n "$FILTER" ]; then
17+
grep -i "$FILTER"
18+
else
19+
cat
20+
fi

utils/list_ssm_parameters.sh

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/bin/bash
2+
set -euo pipefail
3+
export AWS_PAGER=""
4+
if [ -z "$REGION" ]
5+
then
6+
REGION="us-east-2"
7+
fi
8+
if [ -z "$STAGE" ]
9+
then
10+
STAGE="dev"
11+
fi
12+
FILTER=${FILTER:-}
13+
aws ssm describe-parameters --region "$REGION" --profile "lfproduct-${STAGE}" --query 'Parameters[].Name' --output text |
14+
tr '\t' '\n' |
15+
sort -u |
16+
if [ -n "$FILTER" ]; then
17+
grep -i "$FILTER"
18+
else
19+
cat
20+
fi

0 commit comments

Comments
 (0)