Created
January 16, 2023 20:16
-
-
Save mdrakiburrahman/f331b88cee47cbd18fc41e55848db66a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Continue on error | |
set +e | |
# Params | |
resource_group="arcdata-ci-direct" | |
days_to_keep=7 | |
# Get current date and calculate 7 days ago in seconds | |
current_date_in_seconds=$(date +%s) | |
seconds_to_keep=$((days_to_keep * 86400)) | |
days_ago_in_seconds=$((current_date_in_seconds - seconds_to_keep)) | |
# Query resources and loop | |
resources=($(az resource list --resource-group $resource_group | jq '.[].id' | tr -d '"')) | |
for ((i = 0; i < ${#resources[@]}; i++)); do | |
short_name=$(echo ${resources[$i]} | cut -d'/' -f 9) | |
echo "Resource: $short_name" | |
# Get resource creation date | |
resource_details=$(az resource show --ids ${resources[$i]}) | |
resource_date=$(echo $resource_details | jq '.systemData.createdAt' | xargs date -d | awk '{print $2,$3,$4}') | |
resource_time=$(date -d "$resource_date" +%s) | |
echo "Creation date: $resource_date, seconds: $resource_time" | |
# Compare against filter | |
if [ $resource_time -lt $days_ago_in_seconds ]; then | |
echo "Resource creation time $resource_date is more than filter: $days_to_keep" | |
# Attempt Delete | |
echo "Attempting resource delete: $resource" | |
az resource delete --ids ${resources[$i]} --no-wait | |
ret_code=$? | |
if [ $ret_code -eq 0 ]; then | |
echo "✅ Resource deleted successfully" | |
else | |
echo "❌ Resource delete failed with code: $ret_code" | |
fi | |
else | |
echo "Resource creation time $resource_date is less than filter: $days_to_keep" | |
echo "Skipping resource delete: $resource" | |
fi | |
echo "" | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment