#!/usr/bin/env bash set -xeuo pipefail main() { # TODO: add all your desired regions here local -a regions=(ap-south-1) for region in "${regions[@]}"; do aws --region "${region}" cloudwatch put-metric-alarm \ --alarm-name 'UnderutilizedCPU' \ --alarm-description 'Detects instances with under utilized CPU across long time horizons' \ --metric-name 'CPUUtilization' \ --namespace 'AWS/EC2' \ --statistic Average \ --period 300 \ --evaluation-periods 288 \ --threshold 15 \ --comparison-operator LessThanThreshold aws --region "${region}" cloudwatch put-metric-alarm \ --alarm-name 'UnderutilizedMemory' \ --alarm-description 'Detects instances with under utilized memory across long time horizons' \ --metric-name 'MemoryUtilization' \ --namespace 'System/Linux' \ --statistic Average \ --period 300 \ --evaluation-periods 288 \ --threshold 30 \ --comparison-operator LessThanThreshold done } main "$@"