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

com.pulumi.alicloud.cms.outputs.GetMetricRuleTemplatesTemplateAlertTemplate 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.GetMetricRuleTemplatesTemplateAlertTemplateEscalation;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;

@CustomType
public final class GetMetricRuleTemplatesTemplateAlertTemplate {
    /**
     * @return The abbreviation of the service name. Valid values: `ecs`, `rds`, `ads`, `slb`, `vpc`, `apigateway`, `cdn`, `cs`, `dcdn`, `ddos`, `eip`, `elasticsearch`, `emr`, `ess`, `hbase`, `iot_edge`, `kvstore_sharding`, `kvstore_splitrw`, `kvstore_standard`, `memcache`, `mns`, `mongodb`, `mongodb_cluster`, `mongodb_sharding`, `mq_topic`, `ocs`, `opensearch`, `oss`, `polardb`, `petadata`, `scdn`, `sharebandwidthpackages`, `sls`, `vpn`.
     * 
     */
    private String category;
    /**
     * @return The information about the trigger condition based on the alert level.
     * 
     */
    private List escalations;
    /**
     * @return The name of the metric.
     * 
     */
    private String metricName;
    /**
     * @return The namespace of the service.
     * 
     */
    private String namespace;
    /**
     * @return The name of the alert rule.
     * 
     */
    private String ruleName;
    private String selector;
    /**
     * @return The callback URL to which a POST request is sent when an alert is triggered based on the alert rule.
     * 
     */
    private String webhook;

    private GetMetricRuleTemplatesTemplateAlertTemplate() {}
    /**
     * @return The abbreviation of the service name. Valid values: `ecs`, `rds`, `ads`, `slb`, `vpc`, `apigateway`, `cdn`, `cs`, `dcdn`, `ddos`, `eip`, `elasticsearch`, `emr`, `ess`, `hbase`, `iot_edge`, `kvstore_sharding`, `kvstore_splitrw`, `kvstore_standard`, `memcache`, `mns`, `mongodb`, `mongodb_cluster`, `mongodb_sharding`, `mq_topic`, `ocs`, `opensearch`, `oss`, `polardb`, `petadata`, `scdn`, `sharebandwidthpackages`, `sls`, `vpn`.
     * 
     */
    public String category() {
        return this.category;
    }
    /**
     * @return The information about the trigger condition based on the alert level.
     * 
     */
    public List escalations() {
        return this.escalations;
    }
    /**
     * @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 name of the alert rule.
     * 
     */
    public String ruleName() {
        return this.ruleName;
    }
    public String selector() {
        return this.selector;
    }
    /**
     * @return The callback URL to which a POST request is sent when an alert is triggered based on the alert rule.
     * 
     */
    public String webhook() {
        return this.webhook;
    }

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

    public static Builder builder(GetMetricRuleTemplatesTemplateAlertTemplate defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String category;
        private List escalations;
        private String metricName;
        private String namespace;
        private String ruleName;
        private String selector;
        private String webhook;
        public Builder() {}
        public Builder(GetMetricRuleTemplatesTemplateAlertTemplate defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.category = defaults.category;
    	      this.escalations = defaults.escalations;
    	      this.metricName = defaults.metricName;
    	      this.namespace = defaults.namespace;
    	      this.ruleName = defaults.ruleName;
    	      this.selector = defaults.selector;
    	      this.webhook = defaults.webhook;
        }

        @CustomType.Setter
        public Builder category(String category) {
            if (category == null) {
              throw new MissingRequiredPropertyException("GetMetricRuleTemplatesTemplateAlertTemplate", "category");
            }
            this.category = category;
            return this;
        }
        @CustomType.Setter
        public Builder escalations(List escalations) {
            if (escalations == null) {
              throw new MissingRequiredPropertyException("GetMetricRuleTemplatesTemplateAlertTemplate", "escalations");
            }
            this.escalations = escalations;
            return this;
        }
        public Builder escalations(GetMetricRuleTemplatesTemplateAlertTemplateEscalation... escalations) {
            return escalations(List.of(escalations));
        }
        @CustomType.Setter
        public Builder metricName(String metricName) {
            if (metricName == null) {
              throw new MissingRequiredPropertyException("GetMetricRuleTemplatesTemplateAlertTemplate", "metricName");
            }
            this.metricName = metricName;
            return this;
        }
        @CustomType.Setter
        public Builder namespace(String namespace) {
            if (namespace == null) {
              throw new MissingRequiredPropertyException("GetMetricRuleTemplatesTemplateAlertTemplate", "namespace");
            }
            this.namespace = namespace;
            return this;
        }
        @CustomType.Setter
        public Builder ruleName(String ruleName) {
            if (ruleName == null) {
              throw new MissingRequiredPropertyException("GetMetricRuleTemplatesTemplateAlertTemplate", "ruleName");
            }
            this.ruleName = ruleName;
            return this;
        }
        @CustomType.Setter
        public Builder selector(String selector) {
            if (selector == null) {
              throw new MissingRequiredPropertyException("GetMetricRuleTemplatesTemplateAlertTemplate", "selector");
            }
            this.selector = selector;
            return this;
        }
        @CustomType.Setter
        public Builder webhook(String webhook) {
            if (webhook == null) {
              throw new MissingRequiredPropertyException("GetMetricRuleTemplatesTemplateAlertTemplate", "webhook");
            }
            this.webhook = webhook;
            return this;
        }
        public GetMetricRuleTemplatesTemplateAlertTemplate build() {
            final var _resultValue = new GetMetricRuleTemplatesTemplateAlertTemplate();
            _resultValue.category = category;
            _resultValue.escalations = escalations;
            _resultValue.metricName = metricName;
            _resultValue.namespace = namespace;
            _resultValue.ruleName = ruleName;
            _resultValue.selector = selector;
            _resultValue.webhook = webhook;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy