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

io.github.cdklabs.cdkmonitoringconstructs.AlarmAnnotationStrategyProps Maven / Gradle / Ivy

There is a newer version: 9.1.3
Show newest version
package io.github.cdklabs.cdkmonitoringconstructs;

/**
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.93.0 (build 1706ca5)", date = "2024-01-08T00:34:46.470Z")
@software.amazon.jsii.Jsii(module = io.github.cdklabs.cdkmonitoringconstructs.$Module.class, fqn = "cdk-monitoring-constructs.AlarmAnnotationStrategyProps")
@software.amazon.jsii.Jsii.Proxy(AlarmAnnotationStrategyProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface AlarmAnnotationStrategyProps extends software.amazon.jsii.JsiiSerializable, io.github.cdklabs.cdkmonitoringconstructs.AlarmMetadata {

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.cloudwatch.Alarm getAlarm();

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.cloudwatch.ComparisonOperator getComparisonOperator();

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.Number getDatapointsToAlarm();

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.Number getEvaluationPeriods();

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.Boolean getFillAlarmRange();

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.Object getMetric();

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.Number getThreshold();

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable java.lang.Number getMinMetricSamplesToAlarm() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable java.lang.Number getMinSampleCountToEvaluateDatapoint() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable java.lang.String getOverrideAnnotationColor() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable java.lang.String getOverrideAnnotationLabel() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable java.lang.Boolean getOverrideAnnotationVisibility() {
        return null;
    }

    /**
     * @return a {@link Builder} of {@link AlarmAnnotationStrategyProps}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    static Builder builder() {
        return new Builder();
    }
    /**
     * A builder for {@link AlarmAnnotationStrategyProps}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    public static final class Builder implements software.amazon.jsii.Builder {
        software.amazon.awscdk.services.cloudwatch.Alarm alarm;
        software.amazon.awscdk.services.cloudwatch.ComparisonOperator comparisonOperator;
        java.lang.Number datapointsToAlarm;
        java.lang.Number evaluationPeriods;
        java.lang.Boolean fillAlarmRange;
        java.lang.Object metric;
        java.lang.Number threshold;
        java.lang.Number minMetricSamplesToAlarm;
        java.lang.Number minSampleCountToEvaluateDatapoint;
        java.lang.String overrideAnnotationColor;
        java.lang.String overrideAnnotationLabel;
        java.lang.Boolean overrideAnnotationVisibility;
        io.github.cdklabs.cdkmonitoringconstructs.IAlarmActionStrategy action;
        java.util.Map customParams;
        java.util.List customTags;
        java.lang.String dedupeString;
        java.lang.String disambiguator;

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getAlarm}
         * @param alarm the value to be set. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder alarm(software.amazon.awscdk.services.cloudwatch.Alarm alarm) {
            this.alarm = alarm;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getComparisonOperator}
         * @param comparisonOperator the value to be set. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder comparisonOperator(software.amazon.awscdk.services.cloudwatch.ComparisonOperator comparisonOperator) {
            this.comparisonOperator = comparisonOperator;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getDatapointsToAlarm}
         * @param datapointsToAlarm the value to be set. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder datapointsToAlarm(java.lang.Number datapointsToAlarm) {
            this.datapointsToAlarm = datapointsToAlarm;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getEvaluationPeriods}
         * @param evaluationPeriods the value to be set. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder evaluationPeriods(java.lang.Number evaluationPeriods) {
            this.evaluationPeriods = evaluationPeriods;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getFillAlarmRange}
         * @param fillAlarmRange the value to be set. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder fillAlarmRange(java.lang.Boolean fillAlarmRange) {
            this.fillAlarmRange = fillAlarmRange;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getMetric}
         * @param metric the value to be set. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder metric(software.amazon.awscdk.services.cloudwatch.Metric metric) {
            this.metric = metric;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getMetric}
         * @param metric the value to be set. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder metric(software.amazon.awscdk.services.cloudwatch.MathExpression metric) {
            this.metric = metric;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getThreshold}
         * @param threshold the value to be set. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder threshold(java.lang.Number threshold) {
            this.threshold = threshold;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getMinMetricSamplesToAlarm}
         * @param minMetricSamplesToAlarm the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder minMetricSamplesToAlarm(java.lang.Number minMetricSamplesToAlarm) {
            this.minMetricSamplesToAlarm = minMetricSamplesToAlarm;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getMinSampleCountToEvaluateDatapoint}
         * @param minSampleCountToEvaluateDatapoint the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder minSampleCountToEvaluateDatapoint(java.lang.Number minSampleCountToEvaluateDatapoint) {
            this.minSampleCountToEvaluateDatapoint = minSampleCountToEvaluateDatapoint;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getOverrideAnnotationColor}
         * @param overrideAnnotationColor the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder overrideAnnotationColor(java.lang.String overrideAnnotationColor) {
            this.overrideAnnotationColor = overrideAnnotationColor;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getOverrideAnnotationLabel}
         * @param overrideAnnotationLabel the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder overrideAnnotationLabel(java.lang.String overrideAnnotationLabel) {
            this.overrideAnnotationLabel = overrideAnnotationLabel;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getOverrideAnnotationVisibility}
         * @param overrideAnnotationVisibility the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder overrideAnnotationVisibility(java.lang.Boolean overrideAnnotationVisibility) {
            this.overrideAnnotationVisibility = overrideAnnotationVisibility;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getAction}
         * @param action the value to be set. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder action(io.github.cdklabs.cdkmonitoringconstructs.IAlarmActionStrategy action) {
            this.action = action;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getCustomParams}
         * @param customParams the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        @SuppressWarnings("unchecked")
        public Builder customParams(java.util.Map customParams) {
            this.customParams = (java.util.Map)customParams;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getCustomTags}
         * @param customTags the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder customTags(java.util.List customTags) {
            this.customTags = customTags;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getDedupeString}
         * @param dedupeString the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder dedupeString(java.lang.String dedupeString) {
            this.dedupeString = dedupeString;
            return this;
        }

        /**
         * Sets the value of {@link AlarmAnnotationStrategyProps#getDisambiguator}
         * @param disambiguator the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder disambiguator(java.lang.String disambiguator) {
            this.disambiguator = disambiguator;
            return this;
        }

        /**
         * Builds the configured instance.
         * @return a new instance of {@link AlarmAnnotationStrategyProps}
         * @throws NullPointerException if any required attribute was not provided
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        @Override
        public AlarmAnnotationStrategyProps build() {
            return new Jsii$Proxy(this);
        }
    }

    /**
     * An implementation for {@link AlarmAnnotationStrategyProps}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @software.amazon.jsii.Internal
    final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements AlarmAnnotationStrategyProps {
        private final software.amazon.awscdk.services.cloudwatch.Alarm alarm;
        private final software.amazon.awscdk.services.cloudwatch.ComparisonOperator comparisonOperator;
        private final java.lang.Number datapointsToAlarm;
        private final java.lang.Number evaluationPeriods;
        private final java.lang.Boolean fillAlarmRange;
        private final java.lang.Object metric;
        private final java.lang.Number threshold;
        private final java.lang.Number minMetricSamplesToAlarm;
        private final java.lang.Number minSampleCountToEvaluateDatapoint;
        private final java.lang.String overrideAnnotationColor;
        private final java.lang.String overrideAnnotationLabel;
        private final java.lang.Boolean overrideAnnotationVisibility;
        private final io.github.cdklabs.cdkmonitoringconstructs.IAlarmActionStrategy action;
        private final java.util.Map customParams;
        private final java.util.List customTags;
        private final java.lang.String dedupeString;
        private final java.lang.String disambiguator;

        /**
         * Constructor that initializes the object based on values retrieved from the JsiiObject.
         * @param objRef Reference to the JSII managed object.
         */
        protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
            super(objRef);
            this.alarm = software.amazon.jsii.Kernel.get(this, "alarm", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.cloudwatch.Alarm.class));
            this.comparisonOperator = software.amazon.jsii.Kernel.get(this, "comparisonOperator", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.cloudwatch.ComparisonOperator.class));
            this.datapointsToAlarm = software.amazon.jsii.Kernel.get(this, "datapointsToAlarm", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
            this.evaluationPeriods = software.amazon.jsii.Kernel.get(this, "evaluationPeriods", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
            this.fillAlarmRange = software.amazon.jsii.Kernel.get(this, "fillAlarmRange", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
            this.metric = software.amazon.jsii.Kernel.get(this, "metric", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
            this.threshold = software.amazon.jsii.Kernel.get(this, "threshold", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
            this.minMetricSamplesToAlarm = software.amazon.jsii.Kernel.get(this, "minMetricSamplesToAlarm", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
            this.minSampleCountToEvaluateDatapoint = software.amazon.jsii.Kernel.get(this, "minSampleCountToEvaluateDatapoint", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
            this.overrideAnnotationColor = software.amazon.jsii.Kernel.get(this, "overrideAnnotationColor", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.overrideAnnotationLabel = software.amazon.jsii.Kernel.get(this, "overrideAnnotationLabel", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.overrideAnnotationVisibility = software.amazon.jsii.Kernel.get(this, "overrideAnnotationVisibility", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
            this.action = software.amazon.jsii.Kernel.get(this, "action", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdkmonitoringconstructs.IAlarmActionStrategy.class));
            this.customParams = software.amazon.jsii.Kernel.get(this, "customParams", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)));
            this.customTags = software.amazon.jsii.Kernel.get(this, "customTags", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
            this.dedupeString = software.amazon.jsii.Kernel.get(this, "dedupeString", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.disambiguator = software.amazon.jsii.Kernel.get(this, "disambiguator", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
        }

        /**
         * Constructor that initializes the object based on literal property values passed by the {@link Builder}.
         */
        @SuppressWarnings("unchecked")
        protected Jsii$Proxy(final Builder builder) {
            super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
            this.alarm = java.util.Objects.requireNonNull(builder.alarm, "alarm is required");
            this.comparisonOperator = java.util.Objects.requireNonNull(builder.comparisonOperator, "comparisonOperator is required");
            this.datapointsToAlarm = java.util.Objects.requireNonNull(builder.datapointsToAlarm, "datapointsToAlarm is required");
            this.evaluationPeriods = java.util.Objects.requireNonNull(builder.evaluationPeriods, "evaluationPeriods is required");
            this.fillAlarmRange = java.util.Objects.requireNonNull(builder.fillAlarmRange, "fillAlarmRange is required");
            this.metric = java.util.Objects.requireNonNull(builder.metric, "metric is required");
            this.threshold = java.util.Objects.requireNonNull(builder.threshold, "threshold is required");
            this.minMetricSamplesToAlarm = builder.minMetricSamplesToAlarm;
            this.minSampleCountToEvaluateDatapoint = builder.minSampleCountToEvaluateDatapoint;
            this.overrideAnnotationColor = builder.overrideAnnotationColor;
            this.overrideAnnotationLabel = builder.overrideAnnotationLabel;
            this.overrideAnnotationVisibility = builder.overrideAnnotationVisibility;
            this.action = java.util.Objects.requireNonNull(builder.action, "action is required");
            this.customParams = (java.util.Map)builder.customParams;
            this.customTags = builder.customTags;
            this.dedupeString = builder.dedupeString;
            this.disambiguator = builder.disambiguator;
        }

        @Override
        public final software.amazon.awscdk.services.cloudwatch.Alarm getAlarm() {
            return this.alarm;
        }

        @Override
        public final software.amazon.awscdk.services.cloudwatch.ComparisonOperator getComparisonOperator() {
            return this.comparisonOperator;
        }

        @Override
        public final java.lang.Number getDatapointsToAlarm() {
            return this.datapointsToAlarm;
        }

        @Override
        public final java.lang.Number getEvaluationPeriods() {
            return this.evaluationPeriods;
        }

        @Override
        public final java.lang.Boolean getFillAlarmRange() {
            return this.fillAlarmRange;
        }

        @Override
        public final java.lang.Object getMetric() {
            return this.metric;
        }

        @Override
        public final java.lang.Number getThreshold() {
            return this.threshold;
        }

        @Override
        public final java.lang.Number getMinMetricSamplesToAlarm() {
            return this.minMetricSamplesToAlarm;
        }

        @Override
        public final java.lang.Number getMinSampleCountToEvaluateDatapoint() {
            return this.minSampleCountToEvaluateDatapoint;
        }

        @Override
        public final java.lang.String getOverrideAnnotationColor() {
            return this.overrideAnnotationColor;
        }

        @Override
        public final java.lang.String getOverrideAnnotationLabel() {
            return this.overrideAnnotationLabel;
        }

        @Override
        public final java.lang.Boolean getOverrideAnnotationVisibility() {
            return this.overrideAnnotationVisibility;
        }

        @Override
        public final io.github.cdklabs.cdkmonitoringconstructs.IAlarmActionStrategy getAction() {
            return this.action;
        }

        @Override
        public final java.util.Map getCustomParams() {
            return this.customParams;
        }

        @Override
        public final java.util.List getCustomTags() {
            return this.customTags;
        }

        @Override
        public final java.lang.String getDedupeString() {
            return this.dedupeString;
        }

        @Override
        public final java.lang.String getDisambiguator() {
            return this.disambiguator;
        }

        @Override
        @software.amazon.jsii.Internal
        public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
            final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
            final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();

            data.set("alarm", om.valueToTree(this.getAlarm()));
            data.set("comparisonOperator", om.valueToTree(this.getComparisonOperator()));
            data.set("datapointsToAlarm", om.valueToTree(this.getDatapointsToAlarm()));
            data.set("evaluationPeriods", om.valueToTree(this.getEvaluationPeriods()));
            data.set("fillAlarmRange", om.valueToTree(this.getFillAlarmRange()));
            data.set("metric", om.valueToTree(this.getMetric()));
            data.set("threshold", om.valueToTree(this.getThreshold()));
            if (this.getMinMetricSamplesToAlarm() != null) {
                data.set("minMetricSamplesToAlarm", om.valueToTree(this.getMinMetricSamplesToAlarm()));
            }
            if (this.getMinSampleCountToEvaluateDatapoint() != null) {
                data.set("minSampleCountToEvaluateDatapoint", om.valueToTree(this.getMinSampleCountToEvaluateDatapoint()));
            }
            if (this.getOverrideAnnotationColor() != null) {
                data.set("overrideAnnotationColor", om.valueToTree(this.getOverrideAnnotationColor()));
            }
            if (this.getOverrideAnnotationLabel() != null) {
                data.set("overrideAnnotationLabel", om.valueToTree(this.getOverrideAnnotationLabel()));
            }
            if (this.getOverrideAnnotationVisibility() != null) {
                data.set("overrideAnnotationVisibility", om.valueToTree(this.getOverrideAnnotationVisibility()));
            }
            data.set("action", om.valueToTree(this.getAction()));
            if (this.getCustomParams() != null) {
                data.set("customParams", om.valueToTree(this.getCustomParams()));
            }
            if (this.getCustomTags() != null) {
                data.set("customTags", om.valueToTree(this.getCustomTags()));
            }
            if (this.getDedupeString() != null) {
                data.set("dedupeString", om.valueToTree(this.getDedupeString()));
            }
            if (this.getDisambiguator() != null) {
                data.set("disambiguator", om.valueToTree(this.getDisambiguator()));
            }

            final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
            struct.set("fqn", om.valueToTree("cdk-monitoring-constructs.AlarmAnnotationStrategyProps"));
            struct.set("data", data);

            final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
            obj.set("$jsii.struct", struct);

            return obj;
        }

        @Override
        public final boolean equals(final Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;

            AlarmAnnotationStrategyProps.Jsii$Proxy that = (AlarmAnnotationStrategyProps.Jsii$Proxy) o;

            if (!alarm.equals(that.alarm)) return false;
            if (!comparisonOperator.equals(that.comparisonOperator)) return false;
            if (!datapointsToAlarm.equals(that.datapointsToAlarm)) return false;
            if (!evaluationPeriods.equals(that.evaluationPeriods)) return false;
            if (!fillAlarmRange.equals(that.fillAlarmRange)) return false;
            if (!metric.equals(that.metric)) return false;
            if (!threshold.equals(that.threshold)) return false;
            if (this.minMetricSamplesToAlarm != null ? !this.minMetricSamplesToAlarm.equals(that.minMetricSamplesToAlarm) : that.minMetricSamplesToAlarm != null) return false;
            if (this.minSampleCountToEvaluateDatapoint != null ? !this.minSampleCountToEvaluateDatapoint.equals(that.minSampleCountToEvaluateDatapoint) : that.minSampleCountToEvaluateDatapoint != null) return false;
            if (this.overrideAnnotationColor != null ? !this.overrideAnnotationColor.equals(that.overrideAnnotationColor) : that.overrideAnnotationColor != null) return false;
            if (this.overrideAnnotationLabel != null ? !this.overrideAnnotationLabel.equals(that.overrideAnnotationLabel) : that.overrideAnnotationLabel != null) return false;
            if (this.overrideAnnotationVisibility != null ? !this.overrideAnnotationVisibility.equals(that.overrideAnnotationVisibility) : that.overrideAnnotationVisibility != null) return false;
            if (!action.equals(that.action)) return false;
            if (this.customParams != null ? !this.customParams.equals(that.customParams) : that.customParams != null) return false;
            if (this.customTags != null ? !this.customTags.equals(that.customTags) : that.customTags != null) return false;
            if (this.dedupeString != null ? !this.dedupeString.equals(that.dedupeString) : that.dedupeString != null) return false;
            return this.disambiguator != null ? this.disambiguator.equals(that.disambiguator) : that.disambiguator == null;
        }

        @Override
        public final int hashCode() {
            int result = this.alarm.hashCode();
            result = 31 * result + (this.comparisonOperator.hashCode());
            result = 31 * result + (this.datapointsToAlarm.hashCode());
            result = 31 * result + (this.evaluationPeriods.hashCode());
            result = 31 * result + (this.fillAlarmRange.hashCode());
            result = 31 * result + (this.metric.hashCode());
            result = 31 * result + (this.threshold.hashCode());
            result = 31 * result + (this.minMetricSamplesToAlarm != null ? this.minMetricSamplesToAlarm.hashCode() : 0);
            result = 31 * result + (this.minSampleCountToEvaluateDatapoint != null ? this.minSampleCountToEvaluateDatapoint.hashCode() : 0);
            result = 31 * result + (this.overrideAnnotationColor != null ? this.overrideAnnotationColor.hashCode() : 0);
            result = 31 * result + (this.overrideAnnotationLabel != null ? this.overrideAnnotationLabel.hashCode() : 0);
            result = 31 * result + (this.overrideAnnotationVisibility != null ? this.overrideAnnotationVisibility.hashCode() : 0);
            result = 31 * result + (this.action.hashCode());
            result = 31 * result + (this.customParams != null ? this.customParams.hashCode() : 0);
            result = 31 * result + (this.customTags != null ? this.customTags.hashCode() : 0);
            result = 31 * result + (this.dedupeString != null ? this.dedupeString.hashCode() : 0);
            result = 31 * result + (this.disambiguator != null ? this.disambiguator.hashCode() : 0);
            return result;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy