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

com.pulumi.alicloud.cms.outputs.GetGroupMetricRulesRule Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.alicloud.cms.outputs;

import com.pulumi.alicloud.cms.outputs.GetGroupMetricRulesRuleEscalation;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;

@CustomType
public final class GetGroupMetricRulesRule {
    /**
     * @return Alarm contact group.
     * 
     */
    private String contactGroups;
    /**
     * @return The dimensions that specify the resources to be associated with the alert rule.
     * 
     */
    private String dimensions;
    /**
     * @return The time period during which the alert rule is effective.
     * 
     */
    private String effectiveInterval;
    /**
     * @return The subject of the alert notification email.
     * 
     */
    private String emailSubject;
    /**
     * @return Indicates whether the alert rule is enabled.
     * 
     */
    private Boolean enableState;
    /**
     * @return Alarm level.
     * 
     */
    private List escalations;
    /**
     * @return The ID of the application group.
     * 
     */
    private String groupId;
    /**
     * @return The name of the alert rule.
     * 
     */
    private String groupMetricRuleName;
    /**
     * @return The ID of the Group Metric Rule.
     * 
     */
    private String id;
    /**
     * @return The name of the metric.
     * 
     */
    private String metricName;
    /**
     * @return The namespace of the service.
     * 
     */
    private String namespace;
    /**
     * @return The time period during which the alert rule is ineffective.
     * 
     */
    private String noEffectiveInterval;
    /**
     * @return The aggregation period of the monitoring data. Unit: seconds. The value is an integral multiple of 60. Default value: `300`.
     * 
     */
    private Integer period;
    /**
     * @return The resources that are associated with the alert rule.
     * 
     */
    private String resources;
    /**
     * @return The ID of the alert rule.
     * 
     */
    private String ruleId;
    /**
     * @return The mute period during which new alerts are not reported even if the alert trigger conditions are met. Unit: seconds. Default value: `86400`, which is equivalent to one day.
     * 
     */
    private Integer silenceTime;
    /**
     * @return The type of the alert rule. The value is fixed to METRIC, indicating an alert rule for time series metrics.
     * 
     */
    private String sourceType;
    /**
     * @return The status of Group Metric Rule..
     * 
     */
    private String status;
    /**
     * @return The callback URL.
     * 
     */
    private String webhook;

    private GetGroupMetricRulesRule() {}
    /**
     * @return Alarm contact group.
     * 
     */
    public String contactGroups() {
        return this.contactGroups;
    }
    /**
     * @return The dimensions that specify the resources to be associated with the alert rule.
     * 
     */
    public String dimensions() {
        return this.dimensions;
    }
    /**
     * @return The time period during which the alert rule is effective.
     * 
     */
    public String effectiveInterval() {
        return this.effectiveInterval;
    }
    /**
     * @return The subject of the alert notification email.
     * 
     */
    public String emailSubject() {
        return this.emailSubject;
    }
    /**
     * @return Indicates whether the alert rule is enabled.
     * 
     */
    public Boolean enableState() {
        return this.enableState;
    }
    /**
     * @return Alarm level.
     * 
     */
    public List escalations() {
        return this.escalations;
    }
    /**
     * @return The ID of the application group.
     * 
     */
    public String groupId() {
        return this.groupId;
    }
    /**
     * @return The name of the alert rule.
     * 
     */
    public String groupMetricRuleName() {
        return this.groupMetricRuleName;
    }
    /**
     * @return The ID of the Group Metric Rule.
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return The name of the metric.
     * 
     */
    public String metricName() {
        return this.metricName;
    }
    /**
     * @return The namespace of the service.
     * 
     */
    public String namespace() {
        return this.namespace;
    }
    /**
     * @return The time period during which the alert rule is ineffective.
     * 
     */
    public String noEffectiveInterval() {
        return this.noEffectiveInterval;
    }
    /**
     * @return The aggregation period of the monitoring data. Unit: seconds. The value is an integral multiple of 60. Default value: `300`.
     * 
     */
    public Integer period() {
        return this.period;
    }
    /**
     * @return The resources that are associated with the alert rule.
     * 
     */
    public String resources() {
        return this.resources;
    }
    /**
     * @return The ID of the alert rule.
     * 
     */
    public String ruleId() {
        return this.ruleId;
    }
    /**
     * @return The mute period during which new alerts are not reported even if the alert trigger conditions are met. Unit: seconds. Default value: `86400`, which is equivalent to one day.
     * 
     */
    public Integer silenceTime() {
        return this.silenceTime;
    }
    /**
     * @return The type of the alert rule. The value is fixed to METRIC, indicating an alert rule for time series metrics.
     * 
     */
    public String sourceType() {
        return this.sourceType;
    }
    /**
     * @return The status of Group Metric Rule..
     * 
     */
    public String status() {
        return this.status;
    }
    /**
     * @return The callback URL.
     * 
     */
    public String webhook() {
        return this.webhook;
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(GetGroupMetricRulesRule defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String contactGroups;
        private String dimensions;
        private String effectiveInterval;
        private String emailSubject;
        private Boolean enableState;
        private List escalations;
        private String groupId;
        private String groupMetricRuleName;
        private String id;
        private String metricName;
        private String namespace;
        private String noEffectiveInterval;
        private Integer period;
        private String resources;
        private String ruleId;
        private Integer silenceTime;
        private String sourceType;
        private String status;
        private String webhook;
        public Builder() {}
        public Builder(GetGroupMetricRulesRule defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.contactGroups = defaults.contactGroups;
    	      this.dimensions = defaults.dimensions;
    	      this.effectiveInterval = defaults.effectiveInterval;
    	      this.emailSubject = defaults.emailSubject;
    	      this.enableState = defaults.enableState;
    	      this.escalations = defaults.escalations;
    	      this.groupId = defaults.groupId;
    	      this.groupMetricRuleName = defaults.groupMetricRuleName;
    	      this.id = defaults.id;
    	      this.metricName = defaults.metricName;
    	      this.namespace = defaults.namespace;
    	      this.noEffectiveInterval = defaults.noEffectiveInterval;
    	      this.period = defaults.period;
    	      this.resources = defaults.resources;
    	      this.ruleId = defaults.ruleId;
    	      this.silenceTime = defaults.silenceTime;
    	      this.sourceType = defaults.sourceType;
    	      this.status = defaults.status;
    	      this.webhook = defaults.webhook;
        }

        @CustomType.Setter
        public Builder contactGroups(String contactGroups) {
            if (contactGroups == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "contactGroups");
            }
            this.contactGroups = contactGroups;
            return this;
        }
        @CustomType.Setter
        public Builder dimensions(String dimensions) {
            if (dimensions == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "dimensions");
            }
            this.dimensions = dimensions;
            return this;
        }
        @CustomType.Setter
        public Builder effectiveInterval(String effectiveInterval) {
            if (effectiveInterval == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "effectiveInterval");
            }
            this.effectiveInterval = effectiveInterval;
            return this;
        }
        @CustomType.Setter
        public Builder emailSubject(String emailSubject) {
            if (emailSubject == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "emailSubject");
            }
            this.emailSubject = emailSubject;
            return this;
        }
        @CustomType.Setter
        public Builder enableState(Boolean enableState) {
            if (enableState == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "enableState");
            }
            this.enableState = enableState;
            return this;
        }
        @CustomType.Setter
        public Builder escalations(List escalations) {
            if (escalations == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "escalations");
            }
            this.escalations = escalations;
            return this;
        }
        public Builder escalations(GetGroupMetricRulesRuleEscalation... escalations) {
            return escalations(List.of(escalations));
        }
        @CustomType.Setter
        public Builder groupId(String groupId) {
            if (groupId == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "groupId");
            }
            this.groupId = groupId;
            return this;
        }
        @CustomType.Setter
        public Builder groupMetricRuleName(String groupMetricRuleName) {
            if (groupMetricRuleName == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "groupMetricRuleName");
            }
            this.groupMetricRuleName = groupMetricRuleName;
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder metricName(String metricName) {
            if (metricName == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "metricName");
            }
            this.metricName = metricName;
            return this;
        }
        @CustomType.Setter
        public Builder namespace(String namespace) {
            if (namespace == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "namespace");
            }
            this.namespace = namespace;
            return this;
        }
        @CustomType.Setter
        public Builder noEffectiveInterval(String noEffectiveInterval) {
            if (noEffectiveInterval == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "noEffectiveInterval");
            }
            this.noEffectiveInterval = noEffectiveInterval;
            return this;
        }
        @CustomType.Setter
        public Builder period(Integer period) {
            if (period == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "period");
            }
            this.period = period;
            return this;
        }
        @CustomType.Setter
        public Builder resources(String resources) {
            if (resources == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "resources");
            }
            this.resources = resources;
            return this;
        }
        @CustomType.Setter
        public Builder ruleId(String ruleId) {
            if (ruleId == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "ruleId");
            }
            this.ruleId = ruleId;
            return this;
        }
        @CustomType.Setter
        public Builder silenceTime(Integer silenceTime) {
            if (silenceTime == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "silenceTime");
            }
            this.silenceTime = silenceTime;
            return this;
        }
        @CustomType.Setter
        public Builder sourceType(String sourceType) {
            if (sourceType == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "sourceType");
            }
            this.sourceType = sourceType;
            return this;
        }
        @CustomType.Setter
        public Builder status(String status) {
            if (status == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "status");
            }
            this.status = status;
            return this;
        }
        @CustomType.Setter
        public Builder webhook(String webhook) {
            if (webhook == null) {
              throw new MissingRequiredPropertyException("GetGroupMetricRulesRule", "webhook");
            }
            this.webhook = webhook;
            return this;
        }
        public GetGroupMetricRulesRule build() {
            final var _resultValue = new GetGroupMetricRulesRule();
            _resultValue.contactGroups = contactGroups;
            _resultValue.dimensions = dimensions;
            _resultValue.effectiveInterval = effectiveInterval;
            _resultValue.emailSubject = emailSubject;
            _resultValue.enableState = enableState;
            _resultValue.escalations = escalations;
            _resultValue.groupId = groupId;
            _resultValue.groupMetricRuleName = groupMetricRuleName;
            _resultValue.id = id;
            _resultValue.metricName = metricName;
            _resultValue.namespace = namespace;
            _resultValue.noEffectiveInterval = noEffectiveInterval;
            _resultValue.period = period;
            _resultValue.resources = resources;
            _resultValue.ruleId = ruleId;
            _resultValue.silenceTime = silenceTime;
            _resultValue.sourceType = sourceType;
            _resultValue.status = status;
            _resultValue.webhook = webhook;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy