com.pulumi.alicloud.cms.outputs.GetGroupMetricRulesRule Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of alicloud Show documentation
Show all versions of alicloud Show documentation
A Pulumi package for creating and managing AliCloud resources.
// *** 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;
}
}
}