Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Small bash script to get the lifecycle transitions of all buckets in an AWS account.
#!/bin/bash
AWS_PROFILE="default"
BUCKETS=$(aws --profile $AWS_PROFILE s3api list-buckets --query 'Buckets[*].Name' --output text)
echo -e "bucket name\tstatus of the transition\tprefix the transition applies to\tdays after which the transition applies\tto storage class\tdelete after days\tdescription"
for bucket in $BUCKETS; do
TRANSITION=$(aws --profile $AWS_PROFILE s3api get-bucket-lifecycle --bucket $bucket --query 'Rules[*][Status, Prefix, Transition.Days, Transition.StorageClass, Expiration.Days ID]' --output text 2> /dev/null)
if [ "$?" = "255" ]; then
echo -e "$bucket\tNone"
else
echo "$TRANSITION" | while read line; do
echo -e "$bucket\t$line"
done
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment