All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.lambda.runtime.events.CloudWatchMetricAlarmEvent Maven / Gradle / Ivy

The newest version!
package com.amazonaws.services.lambda.runtime.events;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;
import java.util.Map;

/**
 * Represents an CloudWatch Metric Alarm event. This event occurs when a metric alarm is triggered.
 *
 * @see Using Amazon CloudWatch alarms
 */
@Data
@Builder(setterPrefix = "with")
@NoArgsConstructor
@AllArgsConstructor
public class CloudWatchMetricAlarmEvent {
    private String source;
    private String alarmArn;
    private String accountId;
    private String time;
    private String region;
    private AlarmData alarmData;

    @Data
    @Builder(setterPrefix = "with")
    @NoArgsConstructor
    @AllArgsConstructor
    public static class AlarmData {
        private String alarmName;
        private State state;
        private PreviousState previousState;
        private Configuration configuration;
    }

    @Data
    @Builder(setterPrefix = "with")
    @NoArgsConstructor
    @AllArgsConstructor
    public static class State {
        private String value;
        private String reason;
        private String timestamp;
    }

    @Data
    @Builder(setterPrefix = "with")
    @NoArgsConstructor
    @AllArgsConstructor
    public static class PreviousState {
        private String value;
        private String reason;
        private String reasonData;
        private String timestamp;
    }

    @Data
    @Builder(setterPrefix = "with")
    @NoArgsConstructor
    @AllArgsConstructor
    public static class Configuration {
        private String description;
        private List metrics;
    }

    @Data
    @Builder(setterPrefix = "with")
    @NoArgsConstructor
    @AllArgsConstructor
    public static class Metric {
        private String id;
        private MetricStat metricStat;
        private Boolean returnData;
    }

    @Data
    @Builder(setterPrefix = "with")
    @NoArgsConstructor
    @AllArgsConstructor
    public static class MetricStat {
        private MetricDetail metric;
        private Integer period;
        private String stat;
        private String unit;
    }

    @Data
    @Builder(setterPrefix = "with")
    @NoArgsConstructor
    @AllArgsConstructor
    public static class MetricDetail {
        private String namespace;
        private String name;
        private Map dimensions;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy