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

    [OutputType]
    public sealed class GetApplicationScalingRulesRuleResult
    {
        /// <summary>
        /// The ID of the Application.
        /// </summary>
        public readonly string AppId;
        /// <summary>
        /// The CreateTime of the Application Scaling Rule.
        /// </summary>
        public readonly string CreateTime;
        /// <summary>
        /// The ID of the Application Scaling Rule.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Whether to enable the auto scaling policy.
        /// </summary>
        public readonly bool ScalingRuleEnable;
        /// <summary>
        /// Monitoring indicators for elastic scaling.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleMetricResult> ScalingRuleMetrics;
        /// <summary>
        /// The name of the scaling rule.
        /// </summary>
        public readonly string ScalingRuleName;
        /// <summary>
        /// Timing elastic expansion.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleTimerResult> ScalingRuleTimers;
        /// <summary>
        /// Flexible strategy type.
        /// </summary>
        public readonly string ScalingRuleType;

        [OutputConstructor]
        private GetApplicationScalingRulesRuleResult(
            string appId,

            string createTime,

            string id,

            bool scalingRuleEnable,

            ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleMetricResult> scalingRuleMetrics,

            string scalingRuleName,

            ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleTimerResult> scalingRuleTimers,

            string scalingRuleType)
        {
            AppId = appId;
            CreateTime = createTime;
            Id = id;
            ScalingRuleEnable = scalingRuleEnable;
            ScalingRuleMetrics = scalingRuleMetrics;
            ScalingRuleName = scalingRuleName;
            ScalingRuleTimers = scalingRuleTimers;
            ScalingRuleType = scalingRuleType;
        }
    }
}
