<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 ApplicationScalingRuleScalingRuleMetric
    {
        /// <summary>
        /// Maximum number of instances applied.
        /// </summary>
        public readonly int? MaxReplicas;
        /// <summary>
        /// Indicator rule configuration. See the following `Block metrics`.
        /// </summary>
        public readonly ImmutableArray<Outputs.ApplicationScalingRuleScalingRuleMetricMetric> Metrics;
        /// <summary>
        /// Minimum number of instances applied.
        /// </summary>
        public readonly int? MinReplicas;
        /// <summary>
        /// Apply shrink rules. See the following `Block scale_down_rules`.
        /// </summary>
        public readonly Outputs.ApplicationScalingRuleScalingRuleMetricScaleDownRules? ScaleDownRules;
        /// <summary>
        /// Apply expansion rules. See the following `Block scale_up_rules`.
        /// </summary>
        public readonly Outputs.ApplicationScalingRuleScalingRuleMetricScaleUpRules? ScaleUpRules;

        [OutputConstructor]
        private ApplicationScalingRuleScalingRuleMetric(
            int? maxReplicas,

            ImmutableArray<Outputs.ApplicationScalingRuleScalingRuleMetricMetric> metrics,

            int? minReplicas,

            Outputs.ApplicationScalingRuleScalingRuleMetricScaleDownRules? scaleDownRules,

            Outputs.ApplicationScalingRuleScalingRuleMetricScaleUpRules? scaleUpRules)
        {
            MaxReplicas = maxReplicas;
            Metrics = metrics;
            MinReplicas = minReplicas;
            ScaleDownRules = scaleDownRules;
            ScaleUpRules = scaleUpRules;
        }
    }
}
