<reponame>rhysmdnz/pulumi-alicloud-rhys-hacks// *** 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 GetApplicationScalingRulesRuleScalingRuleMetricResult
    {
        /// <summary>
        /// The maximum number of instances.
        /// </summary>
        public readonly int MaxReplicas;
        /// <summary>
        /// The auto scaling list of monitoring indicators.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleMetricMetricResult> Metrics;
        /// <summary>
        /// Monitor indicator elasticity status.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleMetricMetricsStatusResult> MetricsStatuses;
        /// <summary>
        /// The minimum number of instances.
        /// </summary>
        public readonly int MinReplicas;
        /// <summary>
        /// The shrink rule.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleMetricScaleDownRuleResult> ScaleDownRules;
        /// <summary>
        /// The expansion rules.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleMetricScaleUpRuleResult> ScaleUpRules;

        [OutputConstructor]
        private GetApplicationScalingRulesRuleScalingRuleMetricResult(
            int maxReplicas,

            ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleMetricMetricResult> metrics,

            ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleMetricMetricsStatusResult> metricsStatuses,

            int minReplicas,

            ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleMetricScaleDownRuleResult> scaleDownRules,

            ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleMetricScaleUpRuleResult> scaleUpRules)
        {
            MaxReplicas = maxReplicas;
            Metrics = metrics;
            MetricsStatuses = metricsStatuses;
            MinReplicas = minReplicas;
            ScaleDownRules = scaleDownRules;
            ScaleUpRules = scaleUpRules;
        }
    }
}
