mirror of
https://github.com/shishantbiswas/bknd.git
synced 2026-03-15 20:17:22 +00:00
53 lines
1.9 KiB
Bash
Executable File
53 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Set variables
|
|
FUNCTION_NAME="bknd-lambda"
|
|
ROLE_NAME="bknd-lambda-execution-role"
|
|
|
|
echo "Starting cleanup of AWS resources..."
|
|
|
|
# Delete Function URL if it exists
|
|
echo "Checking if Function URL exists for '$FUNCTION_NAME'..."
|
|
FUNCTION_URL=$(aws lambda get-function-url-config --function-name $FUNCTION_NAME --query "FunctionUrl" --output text 2>/dev/null)
|
|
|
|
if [ -n "$FUNCTION_URL" ]; then
|
|
echo "Deleting Function URL for '$FUNCTION_NAME'..."
|
|
aws lambda delete-function-url-config --function-name $FUNCTION_NAME
|
|
echo "Function URL deleted."
|
|
else
|
|
echo "No Function URL found for '$FUNCTION_NAME'."
|
|
fi
|
|
|
|
# Delete Lambda function if it exists
|
|
echo "Checking if Lambda function '$FUNCTION_NAME' exists..."
|
|
LAMBDA_EXISTS=$(aws lambda get-function --function-name $FUNCTION_NAME --query "Configuration.FunctionArn" --output text 2>/dev/null)
|
|
|
|
if [ -n "$LAMBDA_EXISTS" ]; then
|
|
echo "Deleting Lambda function '$FUNCTION_NAME'..."
|
|
aws lambda delete-function --function-name $FUNCTION_NAME
|
|
echo "Lambda function deleted."
|
|
else
|
|
echo "Lambda function '$FUNCTION_NAME' does not exist."
|
|
fi
|
|
|
|
# Delete IAM role and attached policies if role exists
|
|
echo "Checking if IAM role '$ROLE_NAME' exists..."
|
|
ROLE_EXISTS=$(aws iam get-role --role-name $ROLE_NAME --query "Role.Arn" --output text 2>/dev/null)
|
|
|
|
if [ -n "$ROLE_EXISTS" ]; then
|
|
echo "Detaching policies from IAM role '$ROLE_NAME'..."
|
|
ATTACHED_POLICIES=$(aws iam list-attached-role-policies --role-name $ROLE_NAME --query "AttachedPolicies[].PolicyArn" --output text)
|
|
|
|
for POLICY_ARN in $ATTACHED_POLICIES; do
|
|
aws iam detach-role-policy --role-name $ROLE_NAME --policy-arn $POLICY_ARN
|
|
echo "Detached policy: $POLICY_ARN"
|
|
done
|
|
|
|
echo "Deleting IAM role '$ROLE_NAME'..."
|
|
aws iam delete-role --role-name $ROLE_NAME
|
|
echo "IAM role deleted."
|
|
else
|
|
echo "IAM role '$ROLE_NAME' does not exist."
|
|
fi
|
|
|
|
echo "AWS resource cleanup completed successfully!" |