<gh_stars>0// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.AliCloud.Cms.Outputs
{

    [OutputType]
    public sealed class GetGroupMetricRulesRuleResult
    {
        /// <summary>
        /// Alarm contact group.
        /// </summary>
        public readonly string ContactGroups;
        /// <summary>
        /// The dimensions that specify the resources to be associated with the alert rule.
        /// </summary>
        public readonly string Dimensions;
        /// <summary>
        /// The time period during which the alert rule is effective.
        /// </summary>
        public readonly string EffectiveInterval;
        /// <summary>
        /// The subject of the alert notification email.
        /// </summary>
        public readonly string EmailSubject;
        /// <summary>
        /// Indicates whether the alert rule is enabled.
        /// </summary>
        public readonly bool EnableState;
        /// <summary>
        /// Alarm level.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetGroupMetricRulesRuleEscalationResult> Escalations;
        /// <summary>
        /// The ID of the application group.
        /// </summary>
        public readonly string GroupId;
        /// <summary>
        /// The name of the alert rule.
        /// </summary>
        public readonly string GroupMetricRuleName;
        /// <summary>
        /// The ID of the Group Metric Rule.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// The name of the metric.
        /// </summary>
        public readonly string MetricName;
        /// <summary>
        /// The namespace of the service.
        /// </summary>
        public readonly string Namespace;
        /// <summary>
        /// The time period during which the alert rule is ineffective.
        /// </summary>
        public readonly string NoEffectiveInterval;
        /// <summary>
        /// The aggregation period of the monitoring data. Unit: seconds. The value is an integral multiple of 60. Default value: `300`.
        /// </summary>
        public readonly int Period;
        /// <summary>
        /// The resources that are associated with the alert rule.
        /// </summary>
        public readonly string Resources;
        /// <summary>
        /// The ID of the alert rule.
        /// </summary>
        public readonly string RuleId;
        /// <summary>
        /// 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.
        /// </summary>
        public readonly int SilenceTime;
        /// <summary>
        /// The type of the alert rule. The value is fixed to METRIC, indicating an alert rule for time series metrics.
        /// </summary>
        public readonly string SourceType;
        /// <summary>
        /// The status of Group Metric Rule..
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// The callback URL.
        /// </summary>
        public readonly string Webhook;

        [OutputConstructor]
        private GetGroupMetricRulesRuleResult(
            string contactGroups,

            string dimensions,

            string effectiveInterval,

            string emailSubject,

            bool enableState,

            ImmutableArray<Outputs.GetGroupMetricRulesRuleEscalationResult> escalations,

            string groupId,

            string groupMetricRuleName,

            string id,

            string metricName,

            string @namespace,

            string noEffectiveInterval,

            int period,

            string resources,

            string ruleId,

            int silenceTime,

            string sourceType,

            string status,

            string webhook)
        {
            ContactGroups = contactGroups;
            Dimensions = dimensions;
            EffectiveInterval = effectiveInterval;
            EmailSubject = emailSubject;
            EnableState = enableState;
            Escalations = escalations;
            GroupId = groupId;
            GroupMetricRuleName = groupMetricRuleName;
            Id = id;
            MetricName = metricName;
            Namespace = @namespace;
            NoEffectiveInterval = noEffectiveInterval;
            Period = period;
            Resources = resources;
            RuleId = ruleId;
            SilenceTime = silenceTime;
            SourceType = sourceType;
            Status = status;
            Webhook = webhook;
        }
    }
}
