// *** 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.As.Outputs
{

    [OutputType]
    public sealed class GetScalingPoliciesScalingPolicyListResult
    {
        /// <summary>
        /// Adjustment type of the scaling rule.
        /// </summary>
        public readonly string AdjustmentType;
        /// <summary>
        /// Adjustment value of the scaling rule.
        /// </summary>
        public readonly int AdjustmentValue;
        /// <summary>
        /// Comparison operator.
        /// </summary>
        public readonly string ComparisonOperator;
        /// <summary>
        /// Retry times.
        /// </summary>
        public readonly int ContinuousTime;
        /// <summary>
        /// Cool down time of the scaling rule.
        /// </summary>
        public readonly int Cooldown;
        /// <summary>
        /// Name of an indicator.
        /// </summary>
        public readonly string MetricName;
        /// <summary>
        /// Users need to be notified when an alarm is triggered.
        /// </summary>
        public readonly ImmutableArray<string> NotificationUserGroupIds;
        /// <summary>
        /// Time period in second.
        /// </summary>
        public readonly int Period;
        /// <summary>
        /// Scaling policy name.
        /// </summary>
        public readonly string PolicyName;
        /// <summary>
        /// Scaling group ID.
        /// </summary>
        public readonly string ScalingGroupId;
        /// <summary>
        /// Statistic types.
        /// </summary>
        public readonly string Statistic;
        /// <summary>
        /// Alarm threshold.
        /// </summary>
        public readonly int Threshold;

        [OutputConstructor]
        private GetScalingPoliciesScalingPolicyListResult(
            string adjustmentType,

            int adjustmentValue,

            string comparisonOperator,

            int continuousTime,

            int cooldown,

            string metricName,

            ImmutableArray<string> notificationUserGroupIds,

            int period,

            string policyName,

            string scalingGroupId,

            string statistic,

            int threshold)
        {
            AdjustmentType = adjustmentType;
            AdjustmentValue = adjustmentValue;
            ComparisonOperator = comparisonOperator;
            ContinuousTime = continuousTime;
            Cooldown = cooldown;
            MetricName = metricName;
            NotificationUserGroupIds = notificationUserGroupIds;
            Period = period;
            PolicyName = policyName;
            ScalingGroupId = scalingGroupId;
            Statistic = statistic;
            Threshold = threshold;
        }
    }
}
