<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;
using Pulumi;

namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor.Inputs
{

    public sealed class TmpTkeAlertPolicyAlertRuleRuleArgs : Pulumi.ResourceArgs
    {
        [Input("annotations")]
        private InputList<Inputs.TmpTkeAlertPolicyAlertRuleRuleAnnotationArgs>? _annotations;

        /// <summary>
        /// Refer to annotations in prometheus rule.
        /// </summary>
        public InputList<Inputs.TmpTkeAlertPolicyAlertRuleRuleAnnotationArgs> Annotations
        {
            get => _annotations ?? (_annotations = new InputList<Inputs.TmpTkeAlertPolicyAlertRuleRuleAnnotationArgs>());
            set => _annotations = value;
        }

        /// <summary>
        /// A description of the rule.
        /// </summary>
        [Input("describe")]
        public Input<string>? Describe { get; set; }

        /// <summary>
        /// Time of duration.
        /// </summary>
        [Input("for", required: true)]
        public Input<string> For { get; set; } = null!;

        [Input("labels", required: true)]
        private InputList<Inputs.TmpTkeAlertPolicyAlertRuleRuleLabelArgs>? _labels;

        /// <summary>
        /// Extra labels.
        /// </summary>
        public InputList<Inputs.TmpTkeAlertPolicyAlertRuleRuleLabelArgs> Labels
        {
            get => _labels ?? (_labels = new InputList<Inputs.TmpTkeAlertPolicyAlertRuleRuleLabelArgs>());
            set => _labels = value;
        }

        /// <summary>
        /// Rule name.
        /// </summary>
        [Input("name", required: true)]
        public Input<string> Name { get; set; } = null!;

        /// <summary>
        /// Prometheus statement.
        /// </summary>
        [Input("rule", required: true)]
        public Input<string> Rule { get; set; } = null!;

        /// <summary>
        /// Alarm rule status.
        /// </summary>
        [Input("ruleState")]
        public Input<int>? RuleState { get; set; }

        /// <summary>
        /// Alert sending template.
        /// </summary>
        [Input("template", required: true)]
        public Input<string> Template { get; set; } = null!;

        public TmpTkeAlertPolicyAlertRuleRuleArgs()
        {
        }
    }
}
