diff --git a/aliases b/aliases index d2b2501..5331084 100644 --- a/aliases +++ b/aliases @@ -177,6 +177,7 @@ alias location='${BMA_HOME:-$HOME/.bash-my-aws}/bin/bma location' alias location-each='${BMA_HOME:-$HOME/.bash-my-aws}/bin/bma location-each' alias location-unset='${BMA_HOME:-$HOME/.bash-my-aws}/bin/bma location-unset' alias locations='${BMA_HOME:-$HOME/.bash-my-aws}/bin/bma locations' +alias log-group-delete='${BMA_HOME:-$HOME/.bash-my-aws}/bin/bma log-group-delete' alias log-groups='${BMA_HOME:-$HOME/.bash-my-aws}/bin/bma log-groups' alias management-groups='${BMA_HOME:-$HOME/.bash-my-aws}/bin/bma management-groups' alias pcxs='${BMA_HOME:-$HOME/.bash-my-aws}/bin/bma pcxs' diff --git a/docs/command-reference.md b/docs/command-reference.md index d277ef8..9b7219d 100644 --- a/docs/command-reference.md +++ b/docs/command-reference.md @@ -898,9 +898,6 @@ List CloudFormation stack for asg(s) List scaling activities for Autoscaling Group(s) -azure.azcli - - ## azure-commands @@ -1230,6 +1227,9 @@ List routes of all endpoints for Front Door Profile(s) +azure.azcli + + ## backup-commands @@ -1779,6 +1779,21 @@ List CloudWatch Log Groups /aws/lambda/walk 1576567300172 0 11794 +### log-group-delete + +Delete CloudWatch Log Group + + $ log-group-delete /aws/lambda/stars + You are about to delete the following log groups? + /aws/lambda/stars + Are you sure? [y/N] y + Deleting: /aws/lambda/stars + Deleted: /aws/lambda/stars + + You can also pipe the log group names to this command + $ log-groups | log-group-delete + + ## rds-commands diff --git a/functions b/functions index 400e7ad..d6c99a4 100644 --- a/functions +++ b/functions @@ -177,6 +177,7 @@ location location-each location-unset locations +log-group-delete log-groups management-groups pcxs diff --git a/lib/log-functions b/lib/log-functions index 3195825..236d094 100644 --- a/lib/log-functions +++ b/lib/log-functions @@ -37,3 +37,34 @@ log-groups() { $column_command } +log-group-delete() { + + # Delete CloudWatch Log Group + # + # $ log-group-delete /aws/lambda/stars + # You are about to delete the following log groups? + # /aws/lambda/stars + # Are you sure? [y/N] y + # Deleting: /aws/lambda/stars + # Deleted: /aws/lambda/stars + # + # You can also pipe the log group names to this command + # $ log-groups | log-group-delete + + local log_groups=$(skim-stdin "$@") + local log_group_name + + [[ -z $log_groups ]] && return 1 + [ -t 0 ] || exec 0< /dev/tty + local regex_yes='^[yY]$' + echo "You are about to delete the following log groups?" + echo "$log_groups" | tr ' ' '\n' + read -p "Are you sure? [y/N] " -n 1 -r + [[ $REPLY =~ $regex_yes ]] || return 0 + + for log_group_name in $log_groups; do + echo "Deleting: $log_group_name" + aws logs delete-log-group --log-group-name "$log_group_name" + echo "Deleted: $log_group_name" + done +}