// *** 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.Rds.Inputs
{

    public sealed class InstanceServerlessConfigArgs : global::Pulumi.ResourceArgs
    {
        /// <summary>
        /// Specifies whether to enable the smart startup and stop feature for the serverless instance. After the smart startup and stop feature is enabled, if no connections to the instance are established within 10 minutes, the instance is stopped. After a connection is established to the instance, the instance is automatically woken up. Valid values:
        /// - true: enables the feature.
        /// - false: disables the feature. This is the default value.
        /// </summary>
        [Input("autoPause", required: true)]
        public Input<bool> AutoPause { get; set; } = null!;

        /// <summary>
        /// The maximum number of RDS Capacity Units (RCUs). Valid values: 0.5 to 8. The value of this parameter must be greater than or equal to the value of the `min_capacity` parameter.
        /// </summary>
        [Input("maxCapacity", required: true)]
        public Input<double> MaxCapacity { get; set; } = null!;

        /// <summary>
        /// The minimum number of RCUs. Valid values: 0.5 to 8. The value of this parameter must be less than or equal to the value of the `max_capacity` parameter.
        /// </summary>
        [Input("minCapacity", required: true)]
        public Input<double> MinCapacity { get; set; } = null!;

        /// <summary>
        /// Specifies whether to enable the forced scaling feature for the serverless instance. If you set this parameter to true, a transient connection that lasts approximately 1 minute occurs during the forced scaling process. Process with caution. The RCU scaling for a serverless instance immediately takes effect. In some cases, such as the execution of large transactions, the scaling does not immediately take effect. In this case, you can enable this feature to forcefully scale the RCUs of the instance. Valid values:
        /// - true: enables the feature.
        /// - false: disables the feature. This is the default value.
        /// </summary>
        [Input("switchForce", required: true)]
        public Input<bool> SwitchForce { get; set; } = null!;

        public InstanceServerlessConfigArgs()
        {
        }
        public static new InstanceServerlessConfigArgs Empty => new InstanceServerlessConfigArgs();
    }
}
