// *** 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 GetApplicationScalingRulesRuleScalingRuleMetricMetricsStatusResult
    {
        /// <summary>
        /// The current monitoring indicator elasticity list.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleMetricMetricsStatusCurrentMetricResult> CurrentMetrics;
        /// <summary>
        /// The number of current instances.
        /// </summary>
        public readonly int CurrentReplicas;
        /// <summary>
        /// The number of target instances.
        /// </summary>
        public readonly int DesiredReplicas;
        /// <summary>
        /// The time of the last elastic expansion.
        /// </summary>
        public readonly string LastScaleTime;
        /// <summary>
        /// The maximum number of instances.
        /// </summary>
        public readonly int MaxReplicas;
        /// <summary>
        /// The minimum number of instances.
        /// </summary>
        public readonly int MinReplicas;
        /// <summary>
        /// Next monitoring indicator elasticity list
        /// </summary>
        public readonly ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleMetricMetricsStatusNextScaleMetricResult> NextScaleMetrics;
        /// <summary>
        /// The next cycle of monitoring indicator elasticity.
        /// </summary>
        public readonly int NextScaleTimePeriod;

        [OutputConstructor]
        private GetApplicationScalingRulesRuleScalingRuleMetricMetricsStatusResult(
            ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleMetricMetricsStatusCurrentMetricResult> currentMetrics,

            int currentReplicas,

            int desiredReplicas,

            string lastScaleTime,

            int maxReplicas,

            int minReplicas,

            ImmutableArray<Outputs.GetApplicationScalingRulesRuleScalingRuleMetricMetricsStatusNextScaleMetricResult> nextScaleMetrics,

            int nextScaleTimePeriod)
        {
            CurrentMetrics = currentMetrics;
            CurrentReplicas = currentReplicas;
            DesiredReplicas = desiredReplicas;
            LastScaleTime = lastScaleTime;
            MaxReplicas = maxReplicas;
            MinReplicas = minReplicas;
            NextScaleMetrics = nextScaleMetrics;
            NextScaleTimePeriod = nextScaleTimePeriod;
        }
    }
}
