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

    [OutputType]
    public sealed class GetInstancesInstanceResult
    {
        /// <summary>
        /// AutoRenew.
        /// </summary>
        public readonly string AutoRenew;
        /// <summary>
        /// The cold storage capacity of the instance. Unit: GB.
        /// </summary>
        public readonly int ColdStorage;
        /// <summary>
        /// The creation date of Instance.
        /// </summary>
        public readonly string CreateTime;
        /// <summary>
        /// The deletion protection of instance.
        /// </summary>
        public readonly bool DeletionProection;
        /// <summary>
        /// The disk type of instance. Valid values: `capacity_cloud_storage`, `cloud_efficiency`, `cloud_essd`, `cloud_ssd`.
        /// </summary>
        public readonly string DiskCategory;
        /// <summary>
        /// The usage of disk.
        /// </summary>
        public readonly string DiskUsage;
        /// <summary>
        /// The threshold of disk.
        /// </summary>
        public readonly string DiskWarningThreshold;
        /// <summary>
        /// The type of Instance engine .
        /// </summary>
        public readonly int EngineType;
        /// <summary>
        /// The expiration time of Instance.
        /// </summary>
        public readonly string ExpiredTime;
        /// <summary>
        /// The count of file engine.
        /// </summary>
        public readonly int FileEngineNodeCount;
        /// <summary>
        /// The specification of file engine. Valid values: `lindorm.c.xlarge`.
        /// </summary>
        public readonly string FileEngineSpecification;
        /// <summary>
        /// The ID of the Instance.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// The ID of the instance.
        /// </summary>
        public readonly string InstanceId;
        /// <summary>
        /// The name of the instance.
        /// </summary>
        public readonly string InstanceName;
        /// <summary>
        /// The storage capacity of the instance. Unit: GB. For example, the value 50 indicates 50 GB.
        /// </summary>
        public readonly string InstanceStorage;
        /// <summary>
        /// The ip white list of instance.
        /// </summary>
        public readonly ImmutableArray<string> IpWhiteLists;
        /// <summary>
        /// The count of lindorm tunnel service.
        /// </summary>
        public readonly int LtsNodeCount;
        /// <summary>
        /// The specification of lindorm tunnel service. Valid values: `lindorm.g.2xlarge`, `lindorm.g.xlarge`.
        /// </summary>
        public readonly string LtsNodeSpecification;
        /// <summary>
        /// Instance network type, enumerative.VPC.
        /// </summary>
        public readonly string NetworkType;
        /// <summary>
        /// The billing method. Valid values: `PayAsYouGo` and `Subscription`.
        /// </summary>
        public readonly string PaymentType;
        /// <summary>
        /// The count of phoenix.
        /// </summary>
        public readonly int PhoenixNodeCount;
        /// <summary>
        /// The specification of phoenix. Valid values: `lindorm.c.2xlarge`, `lindorm.c.4xlarge`, `lindorm.c.8xlarge`, `lindorm.c.xlarge`, `lindorm.g.2xlarge`, `lindorm.g.4xlarge`, `lindorm.g.8xlarge`, `lindorm.g.xlarge`.
        /// </summary>
        public readonly string PhoenixNodeSpecification;
        /// <summary>
        /// The owner id of resource.
        /// </summary>
        public readonly string ResourceOwnerId;
        /// <summary>
        /// The count of search engine.
        /// </summary>
        public readonly int SearchEngineNodeCount;
        /// <summary>
        /// The specification of search engine. Valid values: `lindorm.g.2xlarge`, `lindorm.g.4xlarge`, `lindorm.g.8xlarge`, `lindorm.g.xlarge`.
        /// </summary>
        public readonly string SearchEngineSpecification;
        /// <summary>
        /// The service type of Instance, Valid values:  `lindorm`, `serverless_lindorm`, `lindorm_standalone`.
        /// </summary>
        public readonly string ServiceType;
        /// <summary>
        /// The status of Instance, enumerative: Valid values: `ACTIVATION`, `DELETED`, `CREATING`, `CLASS_CHANGING`, `LOCKED`, `INSTANCE_LEVEL_MODIFY`, `NET_MODIFYING`, `RESIZING`, `RESTARTING`, `MINOR_VERSION_TRANSING`.
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// The count of table engine.
        /// </summary>
        public readonly int TableEngineNodeCount;
        /// <summary>
        /// The specification of  table engine. Valid values: `lindorm.c.2xlarge`, `lindorm.c.4xlarge`, `lindorm.c.8xlarge`, `lindorm.c.xlarge`, `lindorm.g.2xlarge`, `lindorm.g.4xlarge`, `lindorm.g.8xlarge`, `lindorm.g.xlarge`.
        /// </summary>
        public readonly string TableEngineSpecification;
        /// <summary>
        /// The count of time series engine.
        /// </summary>
        public readonly int TimeSeriesEngineNodeCount;
        /// <summary>
        /// The specification of time series engine. Valid values: `lindorm.g.2xlarge`, `lindorm.g.4xlarge`, `lindorm.g.8xlarge`, `lindorm.g.xlarge`.
        /// </summary>
        public readonly string TimeSeriresEngineSpecification;
        /// <summary>
        /// The ID of the virtual private cloud (VPC) that is connected to the instance.
        /// </summary>
        public readonly string VpcId;
        /// <summary>
        /// The vswitch id.
        /// </summary>
        public readonly string VswitchId;
        /// <summary>
        /// The zone ID of the instance.
        /// </summary>
        public readonly string ZoneId;

        [OutputConstructor]
        private GetInstancesInstanceResult(
            string autoRenew,

            int coldStorage,

            string createTime,

            bool deletionProection,

            string diskCategory,

            string diskUsage,

            string diskWarningThreshold,

            int engineType,

            string expiredTime,

            int fileEngineNodeCount,

            string fileEngineSpecification,

            string id,

            string instanceId,

            string instanceName,

            string instanceStorage,

            ImmutableArray<string> ipWhiteLists,

            int ltsNodeCount,

            string ltsNodeSpecification,

            string networkType,

            string paymentType,

            int phoenixNodeCount,

            string phoenixNodeSpecification,

            string resourceOwnerId,

            int searchEngineNodeCount,

            string searchEngineSpecification,

            string serviceType,

            string status,

            int tableEngineNodeCount,

            string tableEngineSpecification,

            int timeSeriesEngineNodeCount,

            string timeSeriresEngineSpecification,

            string vpcId,

            string vswitchId,

            string zoneId)
        {
            AutoRenew = autoRenew;
            ColdStorage = coldStorage;
            CreateTime = createTime;
            DeletionProection = deletionProection;
            DiskCategory = diskCategory;
            DiskUsage = diskUsage;
            DiskWarningThreshold = diskWarningThreshold;
            EngineType = engineType;
            ExpiredTime = expiredTime;
            FileEngineNodeCount = fileEngineNodeCount;
            FileEngineSpecification = fileEngineSpecification;
            Id = id;
            InstanceId = instanceId;
            InstanceName = instanceName;
            InstanceStorage = instanceStorage;
            IpWhiteLists = ipWhiteLists;
            LtsNodeCount = ltsNodeCount;
            LtsNodeSpecification = ltsNodeSpecification;
            NetworkType = networkType;
            PaymentType = paymentType;
            PhoenixNodeCount = phoenixNodeCount;
            PhoenixNodeSpecification = phoenixNodeSpecification;
            ResourceOwnerId = resourceOwnerId;
            SearchEngineNodeCount = searchEngineNodeCount;
            SearchEngineSpecification = searchEngineSpecification;
            ServiceType = serviceType;
            Status = status;
            TableEngineNodeCount = tableEngineNodeCount;
            TableEngineSpecification = tableEngineSpecification;
            TimeSeriesEngineNodeCount = timeSeriesEngineNodeCount;
            TimeSeriresEngineSpecification = timeSeriresEngineSpecification;
            VpcId = vpcId;
            VswitchId = vswitchId;
            ZoneId = zoneId;
        }
    }
}
