INNER CODE UNIT · Go
main
brexhq/substation · cmd/aws/lambda/autoscale/main.go:100
func main() {
lambda.Start(handler)
}
func handler(ctx context.Context, snsEvent events.SNSEvent) error {
payload := snsEvent.Records[0].SNS
topicArn := payload.TopicArn
message := payload.Message
alarmName := gjson.Get(message, "AlarmName").String()
triggerMetrics := gjson.Get(message, "Trigger.Metrics")
log.WithField("alarm", alarmName).Debug("Received autoscale notification.")
var stream string
for _, v := range triggerMetrics.Array() {
id := gjson.Get(v.String(), "Id").String()
if id == "m1" || id == "m2" {