INNER CODE UNIT · Go

updateDownscaleAlarm

brexhq/substation · cmd/aws/lambda/autoscale/main.go:435

func updateDownscaleAlarm(ctx context.Context, stream, topic string, threshold float64, metrics []ctypes.MetricDataQuery) error {
	if _, err := cloudwatchC.PutMetricAlarm(ctx, &cloudwatch.PutMetricAlarmInput{
		AlarmName:          aws.String(stream + "_downscale"),
		AlarmDescription:   aws.String(stream),
		ActionsEnabled:     aws.Bool(true),
		AlarmActions:       []string{topic},
		EvaluationPeriods:  aws.Int32(kinesisDownscaleDatapoints),
		DatapointsToAlarm:  aws.Int32(kinesisDownscaleDatapoints),
		Threshold:          aws.Float64(threshold),
		ComparisonOperator: ctypes.ComparisonOperatorLessThanOrEqualToThreshold,
		TreatMissingData:   aws.String("ignore"),
		Metrics:            metrics,
	}); err != nil {
		return err
	}

	if _, err := cloudwatchC.SetAlarmState(ctx, &cloudwatch.SetAlarmStateInput{
		AlarmName:   aws.String(stream + "_downscale"),

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…